expo-sqlite 58.0.3 → 58.0.5
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 +12 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/.cmake/api/v1/reply/cache-v2-9594dd53e9b9bd1c31d4.json +1455 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/.cmake/api/v1/reply/cmakeFiles-v1-2db5a9f07e8966437862.json +194 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/.cmake/api/v1/reply/codemodel-v2-03c56ba9db51f27a9903.json +60 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json +14 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/.cmake/api/v1/reply/index-2026-09-22T11-33-36-0818.json +92 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/.cmake/api/v1/reply/target-expo-sqlite-Debug-c772ae8b3b89e3b342ea.json +310 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/.ninja_deps +0 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/.ninja_log +13 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeCache.txt +431 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +72 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +83 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +15 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +803 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/CMakeOutput.log +264 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/expo-sqlite.dir/Users/alanhughes/Work/expo/packages/expo-sqlite/vendor/sqlite3/sqlite3.c.o +0 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/expo-sqlite.dir/src/main/cpp/NativeDatabaseBinding.cpp.o +0 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/expo-sqlite.dir/src/main/cpp/NativeSessionBinding.cpp.o +0 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/expo-sqlite.dir/src/main/cpp/NativeStatementBinding.cpp.o +0 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/expo-sqlite.dir/src/main/cpp/SQLite3Main.cpp.o +0 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/CMakeFiles/rules.ninja +74 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/additional_project_files.txt +0 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/android_gradle_build.json +44 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/android_gradle_build_mini.json +31 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/build.ninja +185 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/build_file_index.txt +3 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/cmake_install.cmake +54 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/compile_commands.json +27 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/compile_commands.json.bin +0 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/configure_fingerprint.bin +32 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/metadata_generation_command.txt +25 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/prefab_config.json +8 -0
- package/android/.cxx/Debug/611h1z2v/arm64-v8a/symbol_folder_index.txt +1 -0
- package/android/.cxx/Debug/611h1z2v/hash_key.txt +32 -0
- package/android/.cxx/Debug/611h1z2v/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/fbjni/fbjniConfig.cmake +9 -0
- package/android/.cxx/Debug/611h1z2v/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/fbjni/fbjniConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/611h1z2v/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/kolibri-android/kolibri-androidConfig.cmake +9 -0
- package/android/.cxx/Debug/611h1z2v/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/kolibri-android/kolibri-androidConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/611h1z2v/prefab/x86/prefab/lib/i686-linux-android/cmake/fbjni/fbjniConfig.cmake +9 -0
- package/android/.cxx/Debug/611h1z2v/prefab/x86/prefab/lib/i686-linux-android/cmake/fbjni/fbjniConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/611h1z2v/prefab/x86/prefab/lib/i686-linux-android/cmake/kolibri-android/kolibri-androidConfig.cmake +9 -0
- package/android/.cxx/Debug/611h1z2v/prefab/x86/prefab/lib/i686-linux-android/cmake/kolibri-android/kolibri-androidConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/611h1z2v/x86/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/Debug/611h1z2v/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/Debug/611h1z2v/x86/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/Debug/611h1z2v/x86/.cmake/api/v1/reply/cache-v2-d1b849159435ca2b67e4.json +1455 -0
- package/android/.cxx/Debug/611h1z2v/x86/.cmake/api/v1/reply/cmakeFiles-v1-388a979374686240c8ac.json +194 -0
- package/android/.cxx/Debug/611h1z2v/x86/.cmake/api/v1/reply/codemodel-v2-f1348e51cdfbc75a2d03.json +60 -0
- package/android/.cxx/Debug/611h1z2v/x86/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json +14 -0
- package/android/.cxx/Debug/611h1z2v/x86/.cmake/api/v1/reply/index-2026-09-22T12-20-49-0455.json +92 -0
- package/android/.cxx/Debug/611h1z2v/x86/.cmake/api/v1/reply/target-expo-sqlite-Debug-fd3cc878da09f49b20b0.json +310 -0
- package/android/.cxx/Debug/611h1z2v/x86/CMakeCache.txt +431 -0
- package/android/.cxx/Debug/611h1z2v/x86/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +72 -0
- package/android/.cxx/Debug/611h1z2v/x86/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +83 -0
- package/android/.cxx/Debug/611h1z2v/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/Debug/611h1z2v/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/Debug/611h1z2v/x86/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +15 -0
- package/android/.cxx/Debug/611h1z2v/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +803 -0
- package/android/.cxx/Debug/611h1z2v/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/android/.cxx/Debug/611h1z2v/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
- package/android/.cxx/Debug/611h1z2v/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/android/.cxx/Debug/611h1z2v/x86/CMakeFiles/CMakeOutput.log +256 -0
- package/android/.cxx/Debug/611h1z2v/x86/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/Debug/611h1z2v/x86/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/Debug/611h1z2v/x86/CMakeFiles/rules.ninja +74 -0
- package/android/.cxx/Debug/611h1z2v/x86/additional_project_files.txt +0 -0
- package/android/.cxx/Debug/611h1z2v/x86/android_gradle_build.json +44 -0
- package/android/.cxx/Debug/611h1z2v/x86/android_gradle_build_mini.json +31 -0
- package/android/.cxx/Debug/611h1z2v/x86/build.ninja +185 -0
- package/android/.cxx/Debug/611h1z2v/x86/build_file_index.txt +3 -0
- package/android/.cxx/Debug/611h1z2v/x86/cmake_install.cmake +54 -0
- package/android/.cxx/Debug/611h1z2v/x86/compile_commands.json +27 -0
- package/android/.cxx/Debug/611h1z2v/x86/compile_commands.json.bin +0 -0
- package/android/.cxx/Debug/611h1z2v/x86/configure_fingerprint.bin +33 -0
- package/android/.cxx/Debug/611h1z2v/x86/metadata_generation_command.txt +25 -0
- package/android/.cxx/Debug/611h1z2v/x86/prefab_config.json +8 -0
- package/android/.cxx/Debug/611h1z2v/x86/symbol_folder_index.txt +1 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/.cmake/api/v1/reply/cache-v2-78bbb67ef2e5303a90f2.json +1487 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/.cmake/api/v1/reply/cmakeFiles-v1-36ba212a0f357943e830.json +809 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/.cmake/api/v1/reply/codemodel-v2-116f50c3201537e03e27.json +60 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json +14 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/.cmake/api/v1/reply/index-2026-09-23T15-39-54-0780.json +92 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/.cmake/api/v1/reply/target-expo-sqlite-RelWithDebInfo-90901361ee8d4c0f0611.json +310 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/.ninja_deps +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/.ninja_log +7 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeCache.txt +431 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +72 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +83 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +15 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +803 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/CMakeOutput.log +264 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/expo-sqlite.dir/Users/alanhughes/Work/expo/packages/expo-sqlite/vendor/sqlite3/sqlite3.c.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/expo-sqlite.dir/src/main/cpp/NativeDatabaseBinding.cpp.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/expo-sqlite.dir/src/main/cpp/NativeSessionBinding.cpp.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/expo-sqlite.dir/src/main/cpp/NativeStatementBinding.cpp.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/expo-sqlite.dir/src/main/cpp/SQLite3Main.cpp.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/CMakeFiles/rules.ninja +74 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/additional_project_files.txt +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/android_gradle_build.json +44 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/android_gradle_build_mini.json +31 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/build.ninja +196 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/build_file_index.txt +3 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/cmake_install.cmake +54 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/compile_commands.json +27 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/compile_commands.json.bin +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/configure_fingerprint.bin +28 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/metadata_generation_command.txt +25 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/prefab_config.json +8 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/arm64-v8a/symbol_folder_index.txt +1 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/.cmake/api/v1/reply/cache-v2-243a4f0bf11e91cdc4d8.json +1487 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/.cmake/api/v1/reply/cmakeFiles-v1-74456d66c64ab5130b71.json +809 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/.cmake/api/v1/reply/codemodel-v2-c0e5c09f8d4af05e23da.json +60 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json +14 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/.cmake/api/v1/reply/index-2026-09-23T15-40-10-0509.json +92 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/.cmake/api/v1/reply/target-expo-sqlite-RelWithDebInfo-4ba3a43729b4fa322330.json +310 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/.ninja_deps +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/.ninja_log +7 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeCache.txt +431 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +72 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +83 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +15 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +803 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/CMakeOutput.log +266 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/expo-sqlite.dir/Users/alanhughes/Work/expo/packages/expo-sqlite/vendor/sqlite3/sqlite3.c.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/expo-sqlite.dir/src/main/cpp/NativeDatabaseBinding.cpp.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/expo-sqlite.dir/src/main/cpp/NativeSessionBinding.cpp.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/expo-sqlite.dir/src/main/cpp/NativeStatementBinding.cpp.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/expo-sqlite.dir/src/main/cpp/SQLite3Main.cpp.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/CMakeFiles/rules.ninja +74 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/additional_project_files.txt +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/android_gradle_build.json +44 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/android_gradle_build_mini.json +31 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/build.ninja +196 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/build_file_index.txt +3 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/cmake_install.cmake +54 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/compile_commands.json +27 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/compile_commands.json.bin +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/configure_fingerprint.bin +28 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/metadata_generation_command.txt +25 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/prefab_config.json +8 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/armeabi-v7a/symbol_folder_index.txt +1 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/hash_key.txt +32 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/fbjni/fbjniConfig.cmake +9 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/fbjni/fbjniConfigVersion.cmake +9 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/kolibri-android/kolibri-androidConfig.cmake +9 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/kolibri-android/kolibri-androidConfigVersion.cmake +9 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/fbjni/fbjniConfig.cmake +9 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/fbjni/fbjniConfigVersion.cmake +9 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/kolibri-android/kolibri-androidConfig.cmake +9 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/kolibri-android/kolibri-androidConfigVersion.cmake +9 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/prefab/x86/prefab/lib/i686-linux-android/cmake/fbjni/fbjniConfig.cmake +9 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/prefab/x86/prefab/lib/i686-linux-android/cmake/fbjni/fbjniConfigVersion.cmake +9 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/prefab/x86/prefab/lib/i686-linux-android/cmake/kolibri-android/kolibri-androidConfig.cmake +9 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/prefab/x86/prefab/lib/i686-linux-android/cmake/kolibri-android/kolibri-androidConfigVersion.cmake +9 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/fbjni/fbjniConfig.cmake +9 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/fbjni/fbjniConfigVersion.cmake +9 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/kolibri-android/kolibri-androidConfig.cmake +9 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/kolibri-android/kolibri-androidConfigVersion.cmake +9 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/.cmake/api/v1/reply/cache-v2-336121a96d78e6796dce.json +1487 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/.cmake/api/v1/reply/cmakeFiles-v1-985fbc81afea194fb834.json +809 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/.cmake/api/v1/reply/codemodel-v2-7f2c86bf1ed6bb14f83e.json +60 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json +14 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/.cmake/api/v1/reply/index-2026-09-23T15-40-25-0497.json +92 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/.cmake/api/v1/reply/target-expo-sqlite-RelWithDebInfo-8831e9862f5bc79725de.json +310 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/.ninja_deps +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/.ninja_log +7 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeCache.txt +431 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +72 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +83 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +15 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +803 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/CMakeOutput.log +256 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/expo-sqlite.dir/Users/alanhughes/Work/expo/packages/expo-sqlite/vendor/sqlite3/sqlite3.c.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/expo-sqlite.dir/src/main/cpp/NativeDatabaseBinding.cpp.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/expo-sqlite.dir/src/main/cpp/NativeSessionBinding.cpp.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/expo-sqlite.dir/src/main/cpp/NativeStatementBinding.cpp.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/expo-sqlite.dir/src/main/cpp/SQLite3Main.cpp.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/CMakeFiles/rules.ninja +74 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/additional_project_files.txt +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/android_gradle_build.json +44 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/android_gradle_build_mini.json +31 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/build.ninja +196 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/build_file_index.txt +3 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/cmake_install.cmake +54 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/compile_commands.json +27 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/compile_commands.json.bin +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/configure_fingerprint.bin +28 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/metadata_generation_command.txt +25 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/prefab_config.json +8 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86/symbol_folder_index.txt +1 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/.cmake/api/v1/reply/cache-v2-7680fd2ea5093a2a48e5.json +1487 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/.cmake/api/v1/reply/cmakeFiles-v1-f4180429c22746cfd636.json +809 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/.cmake/api/v1/reply/codemodel-v2-60fec8725e2bb1fa02e5.json +60 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json +14 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/.cmake/api/v1/reply/index-2026-09-23T15-40-37-0921.json +92 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/.cmake/api/v1/reply/target-expo-sqlite-RelWithDebInfo-baac7cda33db6bea8600.json +310 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/.ninja_deps +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/.ninja_log +7 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeCache.txt +431 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +72 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +83 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +15 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +803 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/CMakeOutput.log +258 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/expo-sqlite.dir/Users/alanhughes/Work/expo/packages/expo-sqlite/vendor/sqlite3/sqlite3.c.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/expo-sqlite.dir/src/main/cpp/NativeDatabaseBinding.cpp.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/expo-sqlite.dir/src/main/cpp/NativeSessionBinding.cpp.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/expo-sqlite.dir/src/main/cpp/NativeStatementBinding.cpp.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/expo-sqlite.dir/src/main/cpp/SQLite3Main.cpp.o +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/CMakeFiles/rules.ninja +74 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/additional_project_files.txt +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/android_gradle_build.json +44 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/android_gradle_build_mini.json +31 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/build.ninja +196 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/build_file_index.txt +3 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/cmake_install.cmake +54 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/compile_commands.json +27 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/compile_commands.json.bin +0 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/configure_fingerprint.bin +28 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/metadata_generation_command.txt +25 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/prefab_config.json +8 -0
- package/android/.cxx/RelWithDebInfo/5g1u4l1v/x86_64/symbol_folder_index.txt +1 -0
- package/android/.cxx/tools/debug/arm64-v8a/compile_commands.json +27 -0
- package/android/.cxx/tools/debug/x86/compile_commands.json +27 -0
- package/android/.cxx/tools/release/arm64-v8a/compile_commands.json +27 -0
- package/android/.cxx/tools/release/armeabi-v7a/compile_commands.json +27 -0
- package/android/.cxx/tools/release/x86/compile_commands.json +27 -0
- package/android/.cxx/tools/release/x86_64/compile_commands.json +27 -0
- package/android/build.gradle +2 -2
- package/android/src/main/cpp/NativeDatabaseBinding.cpp +3 -0
- package/android/src/main/cpp/NativeDatabaseBinding.h +1 -0
- package/android/src/main/java/expo/modules/sqlite/NativeDatabase.kt +2 -0
- package/android/src/main/java/expo/modules/sqlite/NativeDatabaseBinding.kt +1 -0
- package/android/src/main/java/expo/modules/sqlite/SQLExceptions.kt +3 -0
- package/android/src/main/java/expo/modules/sqlite/SQLiteModule.kt +24 -5
- package/build/NativeDatabase.d.ts +1 -0
- package/build/NativeDatabase.js.map +1 -1
- package/build/SQLiteDatabase.d.ts +19 -0
- package/build/SQLiteDatabase.js +36 -3
- package/build/SQLiteDatabase.js.map +1 -1
- package/build/hooks.d.ts +1 -1
- package/dev-plugin-dist/+not-found.html +1 -1
- package/dev-plugin-dist/_expo/static/js/web/__common-b5c30377ac28ec1a3c7472c7feddcab4.js +48 -0
- package/dev-plugin-dist/_expo/static/js/web/__expo-metro-runtime-8c088df87a31e4e6accd81c554ec290d.js +5 -0
- package/dev-plugin-dist/_expo/static/js/web/_layout-d4a58f50ebdda8715adad68e1571bc0e.js +24 -0
- package/dev-plugin-dist/_expo/static/js/web/entry-9124ce1ac56db7583dd09a0f5dab7f3c.js +836 -0
- package/dev-plugin-dist/_expo/static/js/web/{entry-cd0faf04fd80434b56cfdcef6d043e6f.js → index-5d44464b52f351ee1a8d579d6ec31de6.js} +1740 -2649
- package/dev-plugin-dist/_expo/static/js/web/{worker-8ce5600e5e057a5d4ef584466dc6a249.js → worker-634941622d077e92764ccbb4960edffc.js} +14 -14
- package/dev-plugin-dist/_sitemap.html +1 -1
- package/dev-plugin-dist/index.html +1 -1
- package/expo-module.config.json +1 -1
- package/ios/DatabaseChangeEvent.swift +15 -0
- package/ios/Exceptions.swift +6 -0
- package/ios/NativeDatabase.swift +147 -4
- package/ios/NativeSession.swift +164 -2
- package/ios/NativeStatement.swift +90 -3
- package/ios/SQLiteModule.swift +191 -452
- package/ios/SQLiteOptions.swift +2 -14
- package/ios/Tests/NativeDatabaseTests.swift +105 -0
- package/ios/Tests/NativeSessionTests.swift +102 -0
- package/ios/Tests/NativeStatementTests.swift +90 -0
- package/ios/Tests/OpenDatabaseOptionsTests.swift +44 -0
- package/ios/Tests/SQLiteModuleTests.swift +116 -0
- package/ios/Tests/StatementLockTests.swift +12 -16
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5-sources.jar +0 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5-sources.jar.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5-sources.jar.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5-sources.jar.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5-sources.jar.sha512 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5.aar +0 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5.aar.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5.aar.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5.aar.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5.aar.sha512 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.3/expo.modules.sqlite-58.0.3.module → 58.0.5/expo.modules.sqlite-58.0.5.module} +22 -22
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5.module.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5.module.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5.module.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5.module.sha512 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.3/expo.modules.sqlite-58.0.3.pom → 58.0.5/expo.modules.sqlite-58.0.5.pom} +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5.pom.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5.pom.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5.pom.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.5/expo.modules.sqlite-58.0.5.pom.sha512 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/maven-metadata.xml +4 -4
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/maven-metadata.xml.md5 +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/maven-metadata.xml.sha1 +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/maven-metadata.xml.sha256 +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/maven-metadata.xml.sha512 +1 -1
- package/package.json +4 -4
- package/src/NativeDatabase.ts +1 -0
- package/src/SQLiteDatabase.ts +38 -3
- package/web/SQLiteModule.node.ts +2 -0
- package/web/SQLiteModule.ts +5 -1
- package/.babelrc +0 -3
- package/.gitignore +0 -8
- package/.npmignore +0 -32
- package/.prettierignore +0 -2
- package/.tsbuildinfo +0 -1
- package/android/.gitignore +0 -263
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3-sources.jar +0 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3-sources.jar.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3-sources.jar.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3-sources.jar.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3-sources.jar.sha512 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3.aar +0 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3.aar.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3.aar.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3.aar.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3.aar.sha512 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3.module.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3.module.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3.module.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3.module.sha512 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3.pom.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3.pom.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3.pom.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.3/expo.modules.sqlite-58.0.3.pom.sha512 +0 -1
- package/plugin/.tsbuildinfo +0 -1
- package/plugin/tsconfig.json +0 -10
- package/plugin/tsconfig.tsbuildinfo +0 -1
- package/tsconfig.all.json +0 -11
- package/tsconfig.json +0 -10
- package/turbo.json +0 -14
- package/web/wa-sqlite/types/tsconfig.json +0 -7
|
@@ -314,5 +314,5 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
|
|
|
314
314
|
@keyframes r-imtty0{0%{opacity:0;}100%{opacity:1;}}
|
|
315
315
|
@keyframes r-q67da2{0%{transform:translateX(-100%);}100%{transform:translateX(400%);}}
|
|
316
316
|
@keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}}</style><script type="module">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/css/global-b1bdf830cdbd0ec4238cc5f230f99460.css" as="style">
|
|
317
|
-
<link rel="stylesheet" href="/_expo/plugins/expo-sqlite/_expo/static/css/global-b1bdf830cdbd0ec4238cc5f230f99460.css"></head><body><div id="root"><div class="css-g5y9jx r-13awgt0"></div></div><script src="/_expo/plugins/expo-sqlite/_expo/static/js/web/entry-
|
|
317
|
+
<link rel="stylesheet" href="/_expo/plugins/expo-sqlite/_expo/static/css/global-b1bdf830cdbd0ec4238cc5f230f99460.css"></head><body><div id="root"><div class="css-g5y9jx r-13awgt0"></div></div><script src="/_expo/plugins/expo-sqlite/_expo/static/js/web/__expo-metro-runtime-8c088df87a31e4e6accd81c554ec290d.js" defer></script><script src="/_expo/plugins/expo-sqlite/_expo/static/js/web/_layout-d4a58f50ebdda8715adad68e1571bc0e.js" defer></script><script src="/_expo/plugins/expo-sqlite/_expo/static/js/web/__common-b5c30377ac28ec1a3c7472c7feddcab4.js" defer></script><script src="/_expo/plugins/expo-sqlite/_expo/static/js/web/entry-9124ce1ac56db7583dd09a0f5dab7f3c.js" defer></script>
|
|
318
318
|
</body></html>
|
|
@@ -314,5 +314,5 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
|
|
|
314
314
|
@keyframes r-imtty0{0%{opacity:0;}100%{opacity:1;}}
|
|
315
315
|
@keyframes r-q67da2{0%{transform:translateX(-100%);}100%{transform:translateX(400%);}}
|
|
316
316
|
@keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}}</style><script type="module">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/css/global-b1bdf830cdbd0ec4238cc5f230f99460.css" as="style">
|
|
317
|
-
<link rel="stylesheet" href="/_expo/plugins/expo-sqlite/_expo/static/css/global-b1bdf830cdbd0ec4238cc5f230f99460.css"></head><body><div id="root"><div class="css-g5y9jx r-13awgt0"><!--$--><!--$--><div class="flex min-h-screen items-center justify-center bg-linear-to-br from-slate-50 to-slate-100 p-4"><div class="rounded-xl border bg-card text-card-foreground shadow w-full max-w-2xl"><div class="flex flex-col space-y-1.5 p-6 text-center"><div class="font-semibold tracking-tight text-3xl">SQLite Database Inspector</div><div class="text-muted-foreground text-base">Upload a database file or connect to your app</div></div><div class="p-6 pt-0"><div dir="ltr" data-orientation="horizontal" class="w-full"><div role="tablist" aria-orientation="horizontal" class="h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground grid w-full grid-cols-2" tabindex="-1" data-orientation="horizontal" style="outline:none"><button type="button" role="tab" aria-selected="true" aria-controls="radix-
|
|
317
|
+
<link rel="stylesheet" href="/_expo/plugins/expo-sqlite/_expo/static/css/global-b1bdf830cdbd0ec4238cc5f230f99460.css"></head><body><div id="root"><div class="css-g5y9jx r-13awgt0"><!--$--><!--$--><div class="flex min-h-screen items-center justify-center bg-linear-to-br from-slate-50 to-slate-100 p-4"><div class="rounded-xl border bg-card text-card-foreground shadow w-full max-w-2xl"><div class="flex flex-col space-y-1.5 p-6 text-center"><div class="font-semibold tracking-tight text-3xl">SQLite Database Inspector</div><div class="text-muted-foreground text-base">Upload a database file or connect to your app</div></div><div class="p-6 pt-0"><div dir="ltr" data-orientation="horizontal" class="w-full"><div role="tablist" aria-orientation="horizontal" class="h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground grid w-full grid-cols-2" tabindex="-1" data-orientation="horizontal" style="outline:none"><button type="button" role="tab" aria-selected="true" aria-controls="radix-_R_jer3_-content-devtools" data-state="active" data-disabled="" disabled="" id="radix-_R_jer3_-trigger-devtools" class="inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow" tabindex="-1" data-orientation="horizontal" data-radix-collection-item="">From App </button><button type="button" role="tab" aria-selected="false" aria-controls="radix-_R_jer3_-content-upload" data-state="inactive" id="radix-_R_jer3_-trigger-upload" class="inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow" tabindex="-1" data-orientation="horizontal" data-radix-collection-item="">Upload File</button></div><div data-state="inactive" data-orientation="horizontal" role="tabpanel" aria-labelledby="radix-_R_jer3_-trigger-upload" hidden="" id="radix-_R_jer3_-content-upload" tabindex="0" class="mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"></div><div data-state="active" data-orientation="horizontal" role="tabpanel" aria-labelledby="radix-_R_jer3_-trigger-devtools" id="radix-_R_jer3_-content-devtools" tabindex="0" class="mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2" style="animation-duration:0s"><div class="space-y-4"><div class="flex items-center justify-between"><h3 class="text-sm font-medium">Available Databases</h3><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground h-8 rounded-md px-3 text-xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw h-4 w-4 mr-2" aria-hidden="true"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"></path><path d="M8 16H3v5"></path></svg>Refresh</button></div><div class="text-center p-12 rounded-lg border-2 border-dashed border-muted-foreground/25"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database h-12 w-12 text-muted-foreground mx-auto mb-4" aria-hidden="true"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><p class="text-sm text-muted-foreground">No databases found. Make sure your app is using useSQLiteDevTool.</p></div></div></div></div></div></div></div><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><!--/$--><!--/$--></div></div><script src="/_expo/plugins/expo-sqlite/_expo/static/js/web/__expo-metro-runtime-8c088df87a31e4e6accd81c554ec290d.js" defer></script><script src="/_expo/plugins/expo-sqlite/_expo/static/js/web/_layout-d4a58f50ebdda8715adad68e1571bc0e.js" defer></script><script src="/_expo/plugins/expo-sqlite/_expo/static/js/web/index-5d44464b52f351ee1a8d579d6ec31de6.js" defer></script><script src="/_expo/plugins/expo-sqlite/_expo/static/js/web/__common-b5c30377ac28ec1a3c7472c7feddcab4.js" defer></script><script src="/_expo/plugins/expo-sqlite/_expo/static/js/web/entry-9124ce1ac56db7583dd09a0f5dab7f3c.js" defer></script>
|
|
318
318
|
</body></html>
|
package/expo-module.config.json
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Copyright 2015-present 650 Industries. All rights reserved.
|
|
2
|
+
|
|
3
|
+
import ExpoModulesCore
|
|
4
|
+
|
|
5
|
+
/// Payload of the `onDatabaseChange` event, emitted from the SQLite update hook when a row changes.
|
|
6
|
+
@Record
|
|
7
|
+
struct DatabaseChangeEvent {
|
|
8
|
+
var databaseName: String
|
|
9
|
+
var databaseFilePath: String
|
|
10
|
+
var tableName: String
|
|
11
|
+
// `Int` rather than SQLite's `Int64`: a 64-bit integer encodes as a JavaScript BigInt, and JavaScript
|
|
12
|
+
// reads the row id as a number.
|
|
13
|
+
var rowId: Int
|
|
14
|
+
var typeId: SQLAction
|
|
15
|
+
}
|
package/ios/Exceptions.swift
CHANGED
|
@@ -68,6 +68,12 @@ internal final class InvalidBindParameterException: Exception {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
internal final class DatabaseClosingException: Exception {
|
|
72
|
+
override var reason: String {
|
|
73
|
+
"Cannot interrupt while the database is closing. Interrupt pending operations before closing."
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
71
77
|
internal final class AccessClosedResourceException: Exception {
|
|
72
78
|
override var reason: String {
|
|
73
79
|
"Access to closed resource"
|
package/ios/NativeDatabase.swift
CHANGED
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
import ExpoModulesCore
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// `@unchecked Sendable`: the `@JS(.concurrent)` members send `self` off the JavaScript thread, which
|
|
6
|
+
// Swift 6 mode allows only for a `Sendable` shared object.
|
|
7
|
+
@SharedObject
|
|
8
|
+
final class NativeDatabase: SharedObject, @unchecked Sendable {
|
|
6
9
|
var pointer: OpaquePointer?
|
|
7
10
|
let databasePath: String
|
|
8
11
|
let openOptions: OpenDatabaseOptions
|
|
9
12
|
var isClosed = false
|
|
13
|
+
let closeLock = NSLock()
|
|
10
14
|
var extraPointer: OpaquePointer?
|
|
11
15
|
private var refCount = AtomicInteger(1)
|
|
12
16
|
|
|
@@ -26,14 +30,153 @@ final class NativeDatabase: SharedObject, Equatable, Hashable {
|
|
|
26
30
|
return refCount.decrement()
|
|
27
31
|
}
|
|
28
32
|
|
|
29
|
-
|
|
33
|
+
/// Throws when the database has been closed, so a member can refuse to touch the freed connection.
|
|
34
|
+
func ensureOpen() throws {
|
|
35
|
+
if isClosed {
|
|
36
|
+
throw AccessClosedResourceException()
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/// The code and message of the most recent error on this connection.
|
|
41
|
+
func lastErrorMessage() -> String {
|
|
42
|
+
return sqliteErrorMessage(for: pointer)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// MARK: - JavaScript members
|
|
46
|
+
|
|
47
|
+
@JS(.concurrent)
|
|
48
|
+
func isInTransactionAsync() async throws -> Bool {
|
|
49
|
+
return try isInTransaction()
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@JS
|
|
53
|
+
func isInTransactionSync() throws -> Bool {
|
|
54
|
+
return try isInTransaction()
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@JS(.concurrent)
|
|
58
|
+
func execAsync(source: String) async throws {
|
|
59
|
+
try exec(source: source)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@JS
|
|
63
|
+
func execSync(source: String) throws {
|
|
64
|
+
try exec(source: source)
|
|
65
|
+
}
|
|
30
66
|
|
|
67
|
+
@JS(.concurrent)
|
|
68
|
+
func serializeAsync(databaseName: String) async throws -> Data {
|
|
69
|
+
return try serialize(databaseName: databaseName)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
@JS
|
|
73
|
+
func serializeSync(databaseName: String) throws -> Data {
|
|
74
|
+
return try serialize(databaseName: databaseName)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
@JS(.concurrent)
|
|
78
|
+
func prepareAsync(statement: NativeStatement, source: String) async throws {
|
|
79
|
+
try prepare(statement: statement, source: source)
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
@JS
|
|
83
|
+
func prepareSync(statement: NativeStatement, source: String) throws {
|
|
84
|
+
try prepare(statement: statement, source: source)
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
@JS(.concurrent)
|
|
88
|
+
func createSessionAsync(session: NativeSession, dbName: String) async throws {
|
|
89
|
+
try createSession(session: session, dbName: dbName)
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
@JS
|
|
93
|
+
func createSessionSync(session: NativeSession, dbName: String) throws {
|
|
94
|
+
try createSession(session: session, dbName: dbName)
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
@JS(.concurrent)
|
|
98
|
+
func loadExtensionAsync(libPath: String, entryPoint: String?) async throws {
|
|
99
|
+
try loadExtension(libPath: libPath, entryPoint: entryPoint)
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
@JS
|
|
103
|
+
func loadExtensionSync(libPath: String, entryPoint: String?) throws {
|
|
104
|
+
try loadExtension(libPath: libPath, entryPoint: entryPoint)
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// MARK: - Implementation shared by the sync and async members
|
|
108
|
+
|
|
109
|
+
private func isInTransaction() throws -> Bool {
|
|
110
|
+
try ensureOpen()
|
|
111
|
+
return exsqlite3_get_autocommit(pointer) == 0
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
private func exec(source: String) throws {
|
|
115
|
+
try ensureOpen()
|
|
116
|
+
var error: UnsafeMutablePointer<CChar>?
|
|
117
|
+
let ret = exsqlite3_exec(pointer, source, nil, nil, &error)
|
|
118
|
+
if ret != SQLITE_OK, let error = error {
|
|
119
|
+
let errorString = String(cString: error)
|
|
120
|
+
exsqlite3_free(error)
|
|
121
|
+
throw SQLiteErrorException(errorString)
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
private func serialize(databaseName: String) throws -> Data {
|
|
126
|
+
try ensureOpen()
|
|
127
|
+
var size: sqlite3_int64 = 0
|
|
128
|
+
guard let bytes = exsqlite3_serialize(pointer, databaseName, &size, 0) else {
|
|
129
|
+
throw SQLiteErrorException(lastErrorMessage())
|
|
130
|
+
}
|
|
131
|
+
let serializedData = Data(bytes: bytes, count: Int(size))
|
|
132
|
+
exsqlite3_free(bytes)
|
|
133
|
+
return serializedData
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
private func prepare(statement: NativeStatement, source: String) throws {
|
|
137
|
+
try ensureOpen()
|
|
138
|
+
try statement.ensureNotFinalized()
|
|
139
|
+
let sourceString = source.cString(using: .utf8)
|
|
140
|
+
if exsqlite3_prepare_v2(pointer, sourceString, -1, &statement.pointer, nil) != SQLITE_OK {
|
|
141
|
+
throw SQLiteErrorException(lastErrorMessage())
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
private func createSession(session: NativeSession, dbName: String) throws {
|
|
146
|
+
try ensureOpen()
|
|
147
|
+
let db = dbName.cString(using: .utf8)
|
|
148
|
+
if exsqlite3session_create(pointer, db, &session.pointer) != SQLITE_OK {
|
|
149
|
+
throw SQLiteErrorException(lastErrorMessage())
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
private func loadExtension(libPath: String, entryPoint: String?) throws {
|
|
154
|
+
try ensureOpen()
|
|
155
|
+
exsqlite3_enable_load_extension(pointer, 1)
|
|
156
|
+
var error: UnsafeMutablePointer<CChar>?
|
|
157
|
+
let ret = exsqlite3_load_extension(pointer, libPath.cString(using: .utf8), entryPoint, &error)
|
|
158
|
+
if ret != SQLITE_OK, let error = error {
|
|
159
|
+
let errorString = String(cString: error)
|
|
160
|
+
exsqlite3_free(error)
|
|
161
|
+
throw SQLiteErrorException(errorString)
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
internal func sqliteErrorMessage(for db: OpaquePointer?) -> String {
|
|
167
|
+
let code = exsqlite3_errcode(db)
|
|
168
|
+
let message = String(cString: exsqlite3_errmsg(db), encoding: .utf8) ?? ""
|
|
169
|
+
return "Error code \(code): \(message)"
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// `==` lives in an extension: an operator declared inside a type that carries a member-attribute macro
|
|
173
|
+
// is seen twice by the compiler and fails the `Equatable` conformance check.
|
|
174
|
+
// swiftlint:disable:next no_grouping_extension
|
|
175
|
+
extension NativeDatabase: Equatable, Hashable {
|
|
31
176
|
static func == (lhs: NativeDatabase, rhs: NativeDatabase) -> Bool {
|
|
32
177
|
return lhs.pointer == rhs.pointer
|
|
33
178
|
}
|
|
34
179
|
|
|
35
|
-
// MARK: - Hashable
|
|
36
|
-
|
|
37
180
|
func hash(into hasher: inout Hasher) {
|
|
38
181
|
hasher.combine(pointer)
|
|
39
182
|
}
|
package/ios/NativeSession.swift
CHANGED
|
@@ -2,11 +2,173 @@
|
|
|
2
2
|
|
|
3
3
|
import ExpoModulesCore
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// `@unchecked Sendable`: the `@JS(.concurrent)` members send `self` off the JavaScript thread, which
|
|
6
|
+
// Swift 6 mode allows only for a `Sendable` shared object.
|
|
7
|
+
@SharedObject
|
|
8
|
+
final class NativeSession: SharedObject, @unchecked Sendable {
|
|
6
9
|
var pointer: OpaquePointer?
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
@JS
|
|
12
|
+
nonisolated override init() {
|
|
13
|
+
super.init()
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// MARK: - JavaScript members
|
|
17
|
+
|
|
18
|
+
@JS(.concurrent)
|
|
19
|
+
func attachAsync(database: NativeDatabase, table: String?) async throws {
|
|
20
|
+
try attach(database: database, table: table)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@JS
|
|
24
|
+
func attachSync(database: NativeDatabase, table: String?) throws {
|
|
25
|
+
try attach(database: database, table: table)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@JS(.concurrent)
|
|
29
|
+
func enableAsync(database: NativeDatabase, enabled: Bool) async throws {
|
|
30
|
+
try enable(database: database, enabled: enabled)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@JS
|
|
34
|
+
func enableSync(database: NativeDatabase, enabled: Bool) throws {
|
|
35
|
+
try enable(database: database, enabled: enabled)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@JS(.concurrent)
|
|
39
|
+
func closeAsync(database: NativeDatabase) async throws {
|
|
40
|
+
try close(database: database)
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@JS
|
|
44
|
+
func closeSync(database: NativeDatabase) throws {
|
|
45
|
+
try close(database: database)
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@JS(.concurrent)
|
|
49
|
+
func createChangesetAsync(database: NativeDatabase) async throws -> ArrayBuffer {
|
|
50
|
+
return try createChangeset(database: database)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@JS
|
|
54
|
+
func createChangesetSync(database: NativeDatabase) throws -> ArrayBuffer {
|
|
55
|
+
return try createChangeset(database: database)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
@JS(.concurrent)
|
|
59
|
+
func createInvertedChangesetAsync(database: NativeDatabase) async throws -> ArrayBuffer {
|
|
60
|
+
return try createInvertedChangeset(database: database)
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@JS
|
|
64
|
+
func createInvertedChangesetSync(database: NativeDatabase) throws -> ArrayBuffer {
|
|
65
|
+
return try createInvertedChangeset(database: database)
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@JS(.concurrent)
|
|
69
|
+
func applyChangesetAsync(database: NativeDatabase, changeset: ArrayBuffer) async throws {
|
|
70
|
+
try applyChangeset(database: database, changeset: changeset)
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
@JS
|
|
74
|
+
func applyChangesetSync(database: NativeDatabase, changeset: ArrayBuffer) throws {
|
|
75
|
+
try applyChangeset(database: database, changeset: changeset)
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
@JS(.concurrent)
|
|
79
|
+
func invertChangesetAsync(database: NativeDatabase, changeset: ArrayBuffer) async throws -> ArrayBuffer {
|
|
80
|
+
return try invertChangeset(database: database, changeset: changeset)
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@JS
|
|
84
|
+
func invertChangesetSync(database: NativeDatabase, changeset: ArrayBuffer) throws -> ArrayBuffer {
|
|
85
|
+
return try invertChangeset(database: database, changeset: changeset)
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// MARK: - Implementation shared by the sync and async members
|
|
89
|
+
|
|
90
|
+
private func attach(database: NativeDatabase, table: String?) throws {
|
|
91
|
+
try database.ensureOpen()
|
|
92
|
+
let tableName = table?.cString(using: .utf8)
|
|
93
|
+
if exsqlite3session_attach(pointer, tableName) != SQLITE_OK {
|
|
94
|
+
throw SQLiteErrorException(database.lastErrorMessage())
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
private func enable(database: NativeDatabase, enabled: Bool) throws {
|
|
99
|
+
try database.ensureOpen()
|
|
100
|
+
exsqlite3session_enable(pointer, enabled ? 1 : 0)
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
private func close(database: NativeDatabase) throws {
|
|
104
|
+
try database.ensureOpen()
|
|
105
|
+
exsqlite3session_delete(pointer)
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
private func createChangeset(database: NativeDatabase) throws -> ArrayBuffer {
|
|
109
|
+
try database.ensureOpen()
|
|
110
|
+
var size: Int32 = 0
|
|
111
|
+
var buffer: UnsafeMutableRawPointer?
|
|
112
|
+
if exsqlite3session_changeset(pointer, &size, &buffer) != SQLITE_OK {
|
|
113
|
+
throw SQLiteErrorException(database.lastErrorMessage())
|
|
114
|
+
}
|
|
115
|
+
guard let buffer else {
|
|
116
|
+
return ArrayBuffer(size: 0)
|
|
117
|
+
}
|
|
118
|
+
defer {
|
|
119
|
+
exsqlite3_free(buffer)
|
|
120
|
+
}
|
|
121
|
+
return ArrayBuffer.copy(of: buffer, count: Int(size))
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
private func createInvertedChangeset(database: NativeDatabase) throws -> ArrayBuffer {
|
|
125
|
+
let changeset = try createChangeset(database: database)
|
|
126
|
+
return try invertChangeset(database: database, changeset: changeset)
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
private func applyChangeset(database: NativeDatabase, changeset: some AnyArrayBuffer) throws {
|
|
130
|
+
try database.ensureOpen()
|
|
131
|
+
try changeset.withUnsafeBytes {
|
|
132
|
+
let buffer = UnsafeMutableRawPointer(mutating: $0.baseAddress)
|
|
133
|
+
if exsqlite3changeset_apply(
|
|
134
|
+
database.pointer,
|
|
135
|
+
Int32(changeset.byteLength),
|
|
136
|
+
buffer,
|
|
137
|
+
nil,
|
|
138
|
+
{ _, _, _ -> Int32 in
|
|
139
|
+
return SQLITE_CHANGESET_REPLACE
|
|
140
|
+
},
|
|
141
|
+
nil
|
|
142
|
+
) != SQLITE_OK {
|
|
143
|
+
throw SQLiteErrorException(database.lastErrorMessage())
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
private func invertChangeset(database: NativeDatabase, changeset: some AnyArrayBuffer) throws -> ArrayBuffer {
|
|
149
|
+
try database.ensureOpen()
|
|
150
|
+
return try changeset.withUnsafeBytes {
|
|
151
|
+
let inBuffer = UnsafeMutableRawPointer(mutating: $0.baseAddress)
|
|
152
|
+
var outSize: Int32 = 0
|
|
153
|
+
var outBuffer: UnsafeMutableRawPointer?
|
|
154
|
+
if exsqlite3changeset_invert(Int32(changeset.byteLength), inBuffer, &outSize, &outBuffer) != SQLITE_OK {
|
|
155
|
+
throw SQLiteErrorException(database.lastErrorMessage())
|
|
156
|
+
}
|
|
157
|
+
guard let outBuffer else {
|
|
158
|
+
return ArrayBuffer(size: 0)
|
|
159
|
+
}
|
|
160
|
+
defer {
|
|
161
|
+
exsqlite3_free(outBuffer)
|
|
162
|
+
}
|
|
163
|
+
return ArrayBuffer.copy(of: outBuffer, count: Int(outSize))
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
9
167
|
|
|
168
|
+
// `==` lives in an extension: an operator declared inside a type that carries a member-attribute macro
|
|
169
|
+
// is seen twice by the compiler and fails the `Equatable` conformance check.
|
|
170
|
+
// swiftlint:disable:next no_grouping_extension
|
|
171
|
+
extension NativeSession: Equatable {
|
|
10
172
|
static func == (lhs: NativeSession, rhs: NativeSession) -> Bool {
|
|
11
173
|
return lhs.pointer == rhs.pointer
|
|
12
174
|
}
|
|
@@ -2,14 +2,101 @@
|
|
|
2
2
|
|
|
3
3
|
import ExpoModulesCore
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// `@unchecked Sendable`: the `@JS(.concurrent)` members send `self` off the JavaScript thread, which
|
|
6
|
+
// Swift 6 mode allows only for a `Sendable` shared object.
|
|
7
|
+
@SharedObject
|
|
8
|
+
final class NativeStatement: SharedObject, @unchecked Sendable {
|
|
6
9
|
var pointer: OpaquePointer?
|
|
7
10
|
var isFinalized = false
|
|
8
11
|
var extraPointer: OpaquePointer?
|
|
9
|
-
|
|
12
|
+
/// Serializes the native calls that touch the statement. It is stateful and may be reached from several
|
|
13
|
+
/// threads at once, so every call that touches it runs inside this lock.
|
|
14
|
+
internal let lock = Mutex(())
|
|
10
15
|
|
|
11
|
-
|
|
16
|
+
@JS
|
|
17
|
+
nonisolated override init() {
|
|
18
|
+
super.init()
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/// Throws when the statement has been finalized, so a member can refuse to touch the freed handle.
|
|
22
|
+
func ensureNotFinalized() throws {
|
|
23
|
+
if isFinalized {
|
|
24
|
+
throw AccessClosedResourceException()
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// MARK: - JavaScript members
|
|
29
|
+
|
|
30
|
+
@JS(.concurrent)
|
|
31
|
+
func resetAsync(database: NativeDatabase) async throws {
|
|
32
|
+
try reset(database: database)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@JS
|
|
36
|
+
func resetSync(database: NativeDatabase) throws {
|
|
37
|
+
try reset(database: database)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@JS(.concurrent)
|
|
41
|
+
func getColumnNamesAsync() async throws -> [String] {
|
|
42
|
+
return try getColumnNames()
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@JS
|
|
46
|
+
func getColumnNamesSync() throws -> [String] {
|
|
47
|
+
return try getColumnNames()
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@JS(.concurrent)
|
|
51
|
+
func finalizeAsync(database: NativeDatabase) async throws {
|
|
52
|
+
try finalize(database: database)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@JS
|
|
56
|
+
func finalizeSync(database: NativeDatabase) throws {
|
|
57
|
+
try finalize(database: database)
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// MARK: - Implementation shared by the sync and async members
|
|
61
|
+
|
|
62
|
+
private func reset(database: NativeDatabase) throws {
|
|
63
|
+
try database.ensureOpen()
|
|
64
|
+
try ensureNotFinalized()
|
|
65
|
+
|
|
66
|
+
try lock.withLock { _ in
|
|
67
|
+
if exsqlite3_reset(pointer) != SQLITE_OK {
|
|
68
|
+
throw SQLiteErrorException(database.lastErrorMessage())
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
private func getColumnNames() throws -> [String] {
|
|
74
|
+
try ensureNotFinalized()
|
|
75
|
+
let columnCount = Int(exsqlite3_column_count(pointer))
|
|
76
|
+
var columnNames: [String] = Array(repeating: "", count: columnCount)
|
|
77
|
+
for i in 0..<columnCount {
|
|
78
|
+
columnNames[i] = String(cString: exsqlite3_column_name(pointer, Int32(i)))
|
|
79
|
+
}
|
|
80
|
+
return columnNames
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
private func finalize(database: NativeDatabase) throws {
|
|
84
|
+
try database.ensureOpen()
|
|
85
|
+
try ensureNotFinalized()
|
|
86
|
+
|
|
87
|
+
try lock.withLock { _ in
|
|
88
|
+
if exsqlite3_finalize(pointer) != SQLITE_OK {
|
|
89
|
+
throw SQLiteErrorException(database.lastErrorMessage())
|
|
90
|
+
}
|
|
91
|
+
isFinalized = true
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
12
95
|
|
|
96
|
+
// `==` lives in an extension: an operator declared inside a type that carries a member-attribute macro
|
|
97
|
+
// is seen twice by the compiler and fails the `Equatable` conformance check.
|
|
98
|
+
// swiftlint:disable:next no_grouping_extension
|
|
99
|
+
extension NativeStatement: Equatable {
|
|
13
100
|
static func == (lhs: NativeStatement, rhs: NativeStatement) -> Bool {
|
|
14
101
|
return lhs.pointer == rhs.pointer
|
|
15
102
|
}
|