@dittolive/ditto 4.5.1 → 4.5.2-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DittoReactNative.podspec +2 -5
- package/README.md +2 -2
- package/node/ditto.cjs.js +2 -9653
- package/node/ditto.cjs.js.map +1 -0
- package/node/ditto.cjs.pretty.js +9655 -0
- package/node/ditto.cjs.pretty.js.map +1 -0
- package/node/ditto.darwin-arm64.node +0 -0
- package/node/ditto.darwin-x64.node +0 -0
- package/node/ditto.linux-x64.node +0 -0
- package/node/transports.darwin-arm64.node +0 -0
- package/node/transports.darwin-x64.node +0 -0
- package/package.json +31 -26
- package/react-native/android/build.gradle +2 -19
- package/react-native/cpp/include/Arc.hpp +141 -0
- package/react-native/cpp/include/Lifecycle.h +2 -1
- package/react-native/cpp/include/Misc.h +2 -1
- package/react-native/cpp/include/SmallPeerInfo.h +2 -0
- package/react-native/cpp/src/Authentication.cpp +17 -14
- package/react-native/cpp/src/DQL.cpp +10 -8
- package/react-native/cpp/src/Lifecycle.cpp +37 -2
- package/react-native/cpp/src/LiveQuery.cpp +2 -3
- package/react-native/cpp/src/Misc.cpp +15 -3
- package/react-native/cpp/src/Presence.cpp +8 -6
- package/react-native/cpp/src/SmallPeerInfo.cpp +34 -0
- package/react-native/cpp/src/main.cpp +6 -3
- package/react-native/dittoffi/dittoffi.h +186 -184
- package/react-native/lib/commonjs/ditto.rn.js +14 -15
- package/react-native/lib/commonjs/ditto.rn.js.map +1 -1
- package/react-native/lib/commonjs/index.js +61 -14
- package/react-native/lib/commonjs/index.js.map +1 -1
- package/react-native/lib/module/ditto.rn.js +16 -11
- package/react-native/lib/module/ditto.rn.js.map +1 -1
- package/react-native/lib/module/index.js +24 -10
- package/react-native/lib/module/index.js.map +1 -1
- package/react-native/lib/typescript/ditto.rn.d.ts.map +1 -1
- package/react-native/src/sources/@environment.ts +0 -1
- package/react-native/src/sources/attachment-fetcher-manager.ts +15 -0
- package/react-native/src/sources/attachment-fetcher.ts +10 -0
- package/react-native/src/sources/attachment.ts +15 -0
- package/react-native/src/sources/augment.ts +12 -0
- package/react-native/src/sources/base-pending-cursor-operation.ts +2 -0
- package/react-native/src/sources/bridge.ts +5 -1
- package/react-native/src/sources/build-time-constants.ts +5 -1
- package/react-native/src/sources/counter.ts +5 -0
- package/react-native/src/sources/ditto.ts +46 -12
- package/react-native/src/sources/document-id.ts +1 -1
- package/react-native/src/sources/document-path.ts +5 -2
- package/react-native/src/sources/document.ts +2 -1
- package/react-native/src/sources/epilogue.ts +6 -0
- package/react-native/src/sources/error.ts +7 -2
- package/react-native/src/sources/ffi-error.ts +6 -1
- package/react-native/src/sources/ffi.ts +51 -11
- package/react-native/src/sources/init.ts +2 -1
- package/react-native/src/sources/internal.ts +3 -7
- package/react-native/src/sources/keep-alive.ts +6 -2
- package/react-native/src/sources/key-path.ts +4 -1
- package/react-native/src/sources/live-query-manager.ts +5 -4
- package/react-native/src/sources/live-query.ts +2 -0
- package/react-native/src/sources/main.ts +60 -0
- package/react-native/src/sources/observer-manager.ts +5 -2
- package/react-native/src/sources/observer.ts +3 -1
- package/react-native/src/sources/pending-id-specific-operation.ts +4 -2
- package/react-native/src/sources/presence-manager.ts +2 -1
- package/react-native/src/sources/presence.ts +0 -5
- package/react-native/src/sources/register.ts +5 -2
- package/react-native/src/sources/small-peer-info.ts +1 -0
- package/react-native/src/sources/store-observer.ts +1 -0
- package/react-native/src/sources/store.ts +24 -4
- package/react-native/src/sources/subscription-manager.ts +2 -1
- package/react-native/src/sources/subscription.ts +1 -0
- package/react-native/src/sources/sync.ts +110 -46
- package/react-native/src/sources/transport-config.ts +2 -0
- package/react-native/src/sources/websocket-client.ts +1 -0
- package/react-native/src/sources/write-transaction-pending-id-specific-operation.ts +2 -0
- package/react-native/src/sources/write-transaction.ts +2 -0
- package/types/ditto.d.ts.map +1 -0
- package/web/ditto.es6.js +1 -1
- package/web/ditto.es6.js.map +1 -0
- package/web/ditto.es6.pretty.js +12600 -0
- package/web/ditto.es6.pretty.js.map +1 -0
- package/web/ditto.umd.js +1 -1
- package/web/ditto.umd.js.map +1 -0
- package/web/ditto.umd.pretty.js +12669 -0
- package/web/ditto.umd.pretty.js.map +1 -0
- package/web/ditto.wasm +0 -0
- package/node/ditto.linux-arm.node +0 -0
- package/node/ditto.win32-x64.node +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/.cmake/api/v1/reply/cache-v2-970081f7c58ab1625a1a.json +0 -1303
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/.cmake/api/v1/reply/cmakeFiles-v1-e1bacde094ce7e389294.json +0 -203
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/.cmake/api/v1/reply/codemodel-v2-54964c7f44134b1cec4d.json +0 -60
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json +0 -14
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/.cmake/api/v1/reply/index-2023-12-06T19-58-48-0479.json +0 -92
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/.cmake/api/v1/reply/target-cpp-Debug-a438adda6ad6df71f898.json +0 -314
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/.ninja_deps +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/.ninja_log +0 -21
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeCache.txt +0 -393
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +0 -79
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +0 -90
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +0 -113
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +0 -803
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +0 -791
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/CMakeOutput.log +0 -320
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/TargetDirectories.txt +0 -3
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cmake.check_cache +0 -1
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Attachment.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Authentication.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Collection.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/DQL.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Document.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Identity.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Lifecycle.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/LiveQuery.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Logger.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Misc.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Presence.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/RetainableState.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/SmallPeerInfo.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Transports.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/TypedArray.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Utils.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/main.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/dittoffi/ifaddrs.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/cpp.dir/cpp-adapter.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/CMakeFiles/rules.ninja +0 -64
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/additional_project_files.txt +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/android_gradle_build.json +0 -42
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/android_gradle_build_mini.json +0 -31
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/build.ninja +0 -297
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/build_file_index.txt +0 -3
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/cmake_install.cmake +0 -54
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/compile_commands.json +0 -97
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/compile_commands.json.bin +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/configure_fingerprint.bin +0 -8755
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/metadata_generation_command.txt +0 -21
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/prefab_config.json +0 -8
- package/react-native/android/.cxx/Debug/6p5m3p3q/arm64-v8a/symbol_folder_index.txt +0 -1
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/.cmake/api/v1/reply/cache-v2-0cc74b41e95a51ba0457.json +0 -1303
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/.cmake/api/v1/reply/cmakeFiles-v1-ee90fea936bce5771631.json +0 -203
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/.cmake/api/v1/reply/codemodel-v2-82fa8946198e6eba430b.json +0 -60
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json +0 -14
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/.cmake/api/v1/reply/index-2023-12-06T19-58-48-0893.json +0 -92
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/.cmake/api/v1/reply/target-cpp-Debug-1e9d0b1a457f7fe5c618.json +0 -314
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/.ninja_deps +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/.ninja_log +0 -21
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeCache.txt +0 -393
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +0 -79
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +0 -90
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +0 -115
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +0 -803
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +0 -791
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/CMakeOutput.log +0 -304
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/TargetDirectories.txt +0 -3
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cmake.check_cache +0 -1
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Attachment.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Authentication.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Collection.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/DQL.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Document.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Identity.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Lifecycle.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/LiveQuery.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Logger.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Misc.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Presence.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/RetainableState.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/SmallPeerInfo.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Transports.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/TypedArray.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Utils.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/main.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/dittoffi/ifaddrs.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/cpp.dir/cpp-adapter.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/CMakeFiles/rules.ninja +0 -64
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/additional_project_files.txt +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/android_gradle_build.json +0 -42
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/android_gradle_build_mini.json +0 -31
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/build.ninja +0 -297
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/build_file_index.txt +0 -3
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/cmake_install.cmake +0 -54
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/compile_commands.json +0 -97
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/compile_commands.json.bin +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/configure_fingerprint.bin +0 -8755
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/metadata_generation_command.txt +0 -21
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/prefab_config.json +0 -8
- package/react-native/android/.cxx/Debug/6p5m3p3q/armeabi-v7a/symbol_folder_index.txt +0 -1
- package/react-native/android/.cxx/Debug/6p5m3p3q/hash_key.txt +0 -28
- package/react-native/android/.cxx/Debug/6p5m3p3q/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/ReactAndroid/ReactAndroidConfig.cmake +0 -261
- package/react-native/android/.cxx/Debug/6p5m3p3q/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/ReactAndroid/ReactAndroidConfigVersion.cmake +0 -9
- package/react-native/android/.cxx/Debug/6p5m3p3q/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/fbjni/fbjniConfig.cmake +0 -9
- package/react-native/android/.cxx/Debug/6p5m3p3q/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/fbjni/fbjniConfigVersion.cmake +0 -9
- package/react-native/android/.cxx/Debug/6p5m3p3q/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/ReactAndroid/ReactAndroidConfig.cmake +0 -261
- package/react-native/android/.cxx/Debug/6p5m3p3q/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/ReactAndroid/ReactAndroidConfigVersion.cmake +0 -9
- package/react-native/android/.cxx/Debug/6p5m3p3q/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/fbjni/fbjniConfig.cmake +0 -9
- package/react-native/android/.cxx/Debug/6p5m3p3q/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/fbjni/fbjniConfigVersion.cmake +0 -9
- package/react-native/android/.cxx/Debug/6p5m3p3q/prefab/x86/prefab/lib/i686-linux-android/cmake/ReactAndroid/ReactAndroidConfig.cmake +0 -261
- package/react-native/android/.cxx/Debug/6p5m3p3q/prefab/x86/prefab/lib/i686-linux-android/cmake/ReactAndroid/ReactAndroidConfigVersion.cmake +0 -9
- package/react-native/android/.cxx/Debug/6p5m3p3q/prefab/x86/prefab/lib/i686-linux-android/cmake/fbjni/fbjniConfig.cmake +0 -9
- package/react-native/android/.cxx/Debug/6p5m3p3q/prefab/x86/prefab/lib/i686-linux-android/cmake/fbjni/fbjniConfigVersion.cmake +0 -9
- package/react-native/android/.cxx/Debug/6p5m3p3q/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/ReactAndroid/ReactAndroidConfig.cmake +0 -261
- package/react-native/android/.cxx/Debug/6p5m3p3q/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/ReactAndroid/ReactAndroidConfigVersion.cmake +0 -9
- package/react-native/android/.cxx/Debug/6p5m3p3q/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/fbjni/fbjniConfig.cmake +0 -9
- package/react-native/android/.cxx/Debug/6p5m3p3q/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/fbjni/fbjniConfigVersion.cmake +0 -9
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/.cmake/api/v1/reply/cache-v2-6c4a25b4c6713ffdc5da.json +0 -1303
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/.cmake/api/v1/reply/cmakeFiles-v1-f4200ba0f2ce507c91da.json +0 -203
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/.cmake/api/v1/reply/codemodel-v2-9ea6ff99336eeb9a9ce9.json +0 -60
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json +0 -14
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/.cmake/api/v1/reply/index-2023-12-06T19-58-49-0301.json +0 -92
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/.cmake/api/v1/reply/target-cpp-Debug-a88e6d0219517e1d531b.json +0 -314
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/.ninja_deps +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/.ninja_log +0 -21
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeCache.txt +0 -393
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +0 -79
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +0 -90
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +0 -113
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +0 -803
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +0 -791
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/CMakeOutput.log +0 -322
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/TargetDirectories.txt +0 -3
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cmake.check_cache +0 -1
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Attachment.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Authentication.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Collection.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/DQL.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Document.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Identity.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Lifecycle.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/LiveQuery.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Logger.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Misc.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Presence.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/RetainableState.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/SmallPeerInfo.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Transports.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/TypedArray.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Utils.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/main.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/dittoffi/ifaddrs.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/cpp.dir/cpp-adapter.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/CMakeFiles/rules.ninja +0 -64
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/additional_project_files.txt +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/android_gradle_build.json +0 -42
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/android_gradle_build_mini.json +0 -31
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/build.ninja +0 -297
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/build_file_index.txt +0 -3
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/cmake_install.cmake +0 -54
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/compile_commands.json +0 -97
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/compile_commands.json.bin +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/metadata_generation_command.txt +0 -21
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/prefab_config.json +0 -8
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86/symbol_folder_index.txt +0 -1
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/.cmake/api/v1/reply/cache-v2-dae9c0e6f8d6c826f86e.json +0 -1303
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/.cmake/api/v1/reply/cmakeFiles-v1-77b66408bf04fa403cf4.json +0 -203
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/.cmake/api/v1/reply/codemodel-v2-00d5bd5dc4a882f89004.json +0 -60
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json +0 -14
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/.cmake/api/v1/reply/index-2023-12-06T19-58-49-0701.json +0 -92
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/.cmake/api/v1/reply/target-cpp-Debug-ed2a7b63dedc1886a528.json +0 -314
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/.ninja_deps +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/.ninja_log +0 -21
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeCache.txt +0 -393
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +0 -79
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +0 -90
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +0 -113
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +0 -803
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +0 -791
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/CMakeOutput.log +0 -322
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/TargetDirectories.txt +0 -3
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cmake.check_cache +0 -1
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Attachment.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Authentication.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Collection.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/DQL.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Document.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Identity.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Lifecycle.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/LiveQuery.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Logger.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Misc.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Presence.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/RetainableState.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/SmallPeerInfo.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Transports.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/TypedArray.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/Utils.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/cpp/src/main.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/Users/teodorc/Projects/IntegrationTest/node_modules/@dittolive/ditto/react-native/dittoffi/ifaddrs.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/cpp.dir/cpp-adapter.cpp.o +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/CMakeFiles/rules.ninja +0 -64
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/additional_project_files.txt +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/android_gradle_build.json +0 -42
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/android_gradle_build_mini.json +0 -31
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/build.ninja +0 -297
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/build_file_index.txt +0 -3
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/cmake_install.cmake +0 -54
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/compile_commands.json +0 -97
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/compile_commands.json.bin +0 -0
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/configure_fingerprint.bin +0 -8755
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/metadata_generation_command.txt +0 -21
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/prefab_config.json +0 -8
- package/react-native/android/.cxx/Debug/6p5m3p3q/x86_64/symbol_folder_index.txt +0 -1
- package/react-native/android/.cxx/tools/debug/arm64-v8a/compile_commands.json +0 -97
- package/react-native/android/.cxx/tools/debug/armeabi-v7a/compile_commands.json +0 -97
- package/react-native/android/.cxx/tools/debug/x86/compile_commands.json +0 -97
- package/react-native/android/.cxx/tools/debug/x86_64/compile_commands.json +0 -97
- package/react-native/android/.gradle/8.5/checksums/checksums.lock +0 -0
- package/react-native/android/.gradle/8.5/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/react-native/android/.gradle/8.5/dependencies-accessors/gc.properties +0 -0
- package/react-native/android/.gradle/8.5/fileChanges/last-build.bin +0 -0
- package/react-native/android/.gradle/8.5/fileHashes/fileHashes.lock +0 -0
- package/react-native/android/.gradle/8.5/gc.properties +0 -0
- package/react-native/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/react-native/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/react-native/android/.gradle/vcs-1/gc.properties +0 -0
- package/react-native/boost/boost/assert.hpp +0 -85
- package/react-native/boost/boost/config/abi/borland_prefix.hpp +0 -27
- package/react-native/boost/boost/config/abi/borland_suffix.hpp +0 -12
- package/react-native/boost/boost/config/abi/msvc_prefix.hpp +0 -22
- package/react-native/boost/boost/config/abi/msvc_suffix.hpp +0 -8
- package/react-native/boost/boost/config/abi_prefix.hpp +0 -25
- package/react-native/boost/boost/config/abi_suffix.hpp +0 -25
- package/react-native/boost/boost/config/assert_cxx03.hpp +0 -211
- package/react-native/boost/boost/config/assert_cxx11.hpp +0 -209
- package/react-native/boost/boost/config/assert_cxx14.hpp +0 -47
- package/react-native/boost/boost/config/assert_cxx17.hpp +0 -62
- package/react-native/boost/boost/config/assert_cxx20.hpp +0 -59
- package/react-native/boost/boost/config/assert_cxx98.hpp +0 -23
- package/react-native/boost/boost/config/auto_link.hpp +0 -525
- package/react-native/boost/boost/config/compiler/borland.hpp +0 -339
- package/react-native/boost/boost/config/compiler/clang.hpp +0 -366
- package/react-native/boost/boost/config/compiler/clang_version.hpp +0 -83
- package/react-native/boost/boost/config/compiler/codegear.hpp +0 -385
- package/react-native/boost/boost/config/compiler/comeau.hpp +0 -59
- package/react-native/boost/boost/config/compiler/common_edg.hpp +0 -183
- package/react-native/boost/boost/config/compiler/compaq_cxx.hpp +0 -19
- package/react-native/boost/boost/config/compiler/cray.hpp +0 -446
- package/react-native/boost/boost/config/compiler/diab.hpp +0 -26
- package/react-native/boost/boost/config/compiler/digitalmars.hpp +0 -143
- package/react-native/boost/boost/config/compiler/gcc.hpp +0 -383
- package/react-native/boost/boost/config/compiler/gcc_xml.hpp +0 -114
- package/react-native/boost/boost/config/compiler/greenhills.hpp +0 -28
- package/react-native/boost/boost/config/compiler/hp_acc.hpp +0 -149
- package/react-native/boost/boost/config/compiler/intel.hpp +0 -577
- package/react-native/boost/boost/config/compiler/kai.hpp +0 -33
- package/react-native/boost/boost/config/compiler/metrowerks.hpp +0 -198
- package/react-native/boost/boost/config/compiler/mpw.hpp +0 -140
- package/react-native/boost/boost/config/compiler/nvcc.hpp +0 -61
- package/react-native/boost/boost/config/compiler/pathscale.hpp +0 -138
- package/react-native/boost/boost/config/compiler/pgi.hpp +0 -23
- package/react-native/boost/boost/config/compiler/sgi_mipspro.hpp +0 -29
- package/react-native/boost/boost/config/compiler/sunpro_cc.hpp +0 -222
- package/react-native/boost/boost/config/compiler/vacpp.hpp +0 -186
- package/react-native/boost/boost/config/compiler/visualc.hpp +0 -391
- package/react-native/boost/boost/config/compiler/xlcpp.hpp +0 -299
- package/react-native/boost/boost/config/compiler/xlcpp_zos.hpp +0 -173
- package/react-native/boost/boost/config/detail/cxx_composite.hpp +0 -203
- package/react-native/boost/boost/config/detail/posix_features.hpp +0 -95
- package/react-native/boost/boost/config/detail/select_compiler_config.hpp +0 -157
- package/react-native/boost/boost/config/detail/select_platform_config.hpp +0 -147
- package/react-native/boost/boost/config/detail/select_stdlib_config.hpp +0 -121
- package/react-native/boost/boost/config/detail/suffix.hpp +0 -1294
- package/react-native/boost/boost/config/header_deprecated.hpp +0 -26
- package/react-native/boost/boost/config/helper_macros.hpp +0 -37
- package/react-native/boost/boost/config/no_tr1/cmath.hpp +0 -28
- package/react-native/boost/boost/config/no_tr1/complex.hpp +0 -28
- package/react-native/boost/boost/config/no_tr1/functional.hpp +0 -28
- package/react-native/boost/boost/config/no_tr1/memory.hpp +0 -28
- package/react-native/boost/boost/config/no_tr1/utility.hpp +0 -28
- package/react-native/boost/boost/config/platform/aix.hpp +0 -33
- package/react-native/boost/boost/config/platform/amigaos.hpp +0 -15
- package/react-native/boost/boost/config/platform/beos.hpp +0 -26
- package/react-native/boost/boost/config/platform/bsd.hpp +0 -83
- package/react-native/boost/boost/config/platform/cloudabi.hpp +0 -18
- package/react-native/boost/boost/config/platform/cray.hpp +0 -18
- package/react-native/boost/boost/config/platform/cygwin.hpp +0 -71
- package/react-native/boost/boost/config/platform/haiku.hpp +0 -31
- package/react-native/boost/boost/config/platform/hpux.hpp +0 -87
- package/react-native/boost/boost/config/platform/irix.hpp +0 -31
- package/react-native/boost/boost/config/platform/linux.hpp +0 -106
- package/react-native/boost/boost/config/platform/macos.hpp +0 -87
- package/react-native/boost/boost/config/platform/qnxnto.hpp +0 -31
- package/react-native/boost/boost/config/platform/solaris.hpp +0 -31
- package/react-native/boost/boost/config/platform/symbian.hpp +0 -97
- package/react-native/boost/boost/config/platform/vms.hpp +0 -25
- package/react-native/boost/boost/config/platform/vxworks.hpp +0 -422
- package/react-native/boost/boost/config/platform/wasm.hpp +0 -23
- package/react-native/boost/boost/config/platform/win32.hpp +0 -90
- package/react-native/boost/boost/config/platform/zos.hpp +0 -32
- package/react-native/boost/boost/config/pragma_message.hpp +0 -31
- package/react-native/boost/boost/config/requires_threads.hpp +0 -92
- package/react-native/boost/boost/config/stdlib/dinkumware.hpp +0 -324
- package/react-native/boost/boost/config/stdlib/libcomo.hpp +0 -93
- package/react-native/boost/boost/config/stdlib/libcpp.hpp +0 -180
- package/react-native/boost/boost/config/stdlib/libstdcpp3.hpp +0 -482
- package/react-native/boost/boost/config/stdlib/modena.hpp +0 -79
- package/react-native/boost/boost/config/stdlib/msl.hpp +0 -98
- package/react-native/boost/boost/config/stdlib/roguewave.hpp +0 -208
- package/react-native/boost/boost/config/stdlib/sgi.hpp +0 -168
- package/react-native/boost/boost/config/stdlib/stlport.hpp +0 -258
- package/react-native/boost/boost/config/stdlib/vacpp.hpp +0 -74
- package/react-native/boost/boost/config/stdlib/xlcpp_zos.hpp +0 -61
- package/react-native/boost/boost/config/user.hpp +0 -133
- package/react-native/boost/boost/config/warning_disable.hpp +0 -47
- package/react-native/boost/boost/config/workaround.hpp +0 -305
- package/react-native/boost/boost/config.hpp +0 -67
- package/react-native/boost/boost/cstdint.hpp +0 -556
- package/react-native/boost/boost/intrusive_ptr.hpp +0 -18
- package/react-native/boost/boost/smart_ptr/detail/atomic_count.hpp +0 -103
- package/react-native/boost/boost/smart_ptr/detail/atomic_count_gcc.hpp +0 -79
- package/react-native/boost/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +0 -63
- package/react-native/boost/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +0 -88
- package/react-native/boost/boost/smart_ptr/detail/atomic_count_nt.hpp +0 -66
- package/react-native/boost/boost/smart_ptr/detail/atomic_count_pt.hpp +0 -104
- package/react-native/boost/boost/smart_ptr/detail/atomic_count_spin.hpp +0 -69
- package/react-native/boost/boost/smart_ptr/detail/atomic_count_std_atomic.hpp +0 -67
- package/react-native/boost/boost/smart_ptr/detail/atomic_count_sync.hpp +0 -72
- package/react-native/boost/boost/smart_ptr/detail/atomic_count_win32.hpp +0 -70
- package/react-native/boost/boost/smart_ptr/detail/local_counted_base.hpp +0 -148
- package/react-native/boost/boost/smart_ptr/detail/local_sp_deleter.hpp +0 -91
- package/react-native/boost/boost/smart_ptr/detail/operator_bool.hpp +0 -64
- package/react-native/boost/boost/smart_ptr/detail/requires_cxx11.hpp +0 -23
- package/react-native/boost/boost/smart_ptr/detail/shared_count.hpp +0 -707
- package/react-native/boost/boost/smart_ptr/detail/sp_convertible.hpp +0 -92
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base.hpp +0 -92
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +0 -163
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_aix.hpp +0 -152
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +0 -185
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +0 -148
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +0 -170
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +0 -200
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +0 -194
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +0 -179
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +0 -186
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_nt.hpp +0 -119
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_pt.hpp +0 -147
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +0 -174
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_spin.hpp +0 -141
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +0 -147
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_sync.hpp +0 -165
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +0 -163
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_w32.hpp +0 -140
- package/react-native/boost/boost/smart_ptr/detail/sp_counted_impl.hpp +0 -309
- package/react-native/boost/boost/smart_ptr/detail/sp_disable_deprecated.hpp +0 -40
- package/react-native/boost/boost/smart_ptr/detail/sp_forward.hpp +0 -52
- package/react-native/boost/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +0 -27
- package/react-native/boost/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +0 -69
- package/react-native/boost/boost/smart_ptr/detail/sp_interlocked.hpp +0 -173
- package/react-native/boost/boost/smart_ptr/detail/sp_noexcept.hpp +0 -48
- package/react-native/boost/boost/smart_ptr/detail/sp_nullptr_t.hpp +0 -45
- package/react-native/boost/boost/smart_ptr/detail/sp_obsolete.hpp +0 -32
- package/react-native/boost/boost/smart_ptr/detail/sp_thread_pause.hpp +0 -51
- package/react-native/boost/boost/smart_ptr/detail/sp_thread_sleep.hpp +0 -104
- package/react-native/boost/boost/smart_ptr/detail/sp_thread_yield.hpp +0 -100
- package/react-native/boost/boost/smart_ptr/detail/sp_typeinfo_.hpp +0 -58
- package/react-native/boost/boost/smart_ptr/detail/sp_win32_sleep.hpp +0 -49
- package/react-native/boost/boost/smart_ptr/intrusive_ptr.hpp +0 -409
- package/react-native/boost/boost/smart_ptr/intrusive_ref_counter.hpp +0 -188
- package/react-native/cpp/include/RetainableState.h +0 -24
- package/react-native/cpp/src/RetainableState.cpp +0 -15
- package/react-native/scripts/ruby/include_local_boost.rb +0 -78
|
@@ -1,13 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
export {TransportConfig} from '../../sources/transport-config';
|
|
3
|
-
export {Ditto} from '../../sources/ditto';
|
|
4
|
-
export {Logger} from '../../sources/logger';
|
|
1
|
+
// RN API
|
|
5
2
|
|
|
6
|
-
export
|
|
7
|
-
export type {Identity} from '../../sources/identity';
|
|
8
|
-
export type {QueryResult} from '../../sources/query-result';
|
|
9
|
-
export type {QueryResultItem} from '../../sources/query-result-item';
|
|
10
|
-
export type {LogLevel} from '../../sources/logger';
|
|
3
|
+
export { getMissingAndroidPermissions } from './ditto.rn';
|
|
11
4
|
|
|
5
|
+
// JS API
|
|
6
|
+
|
|
7
|
+
export * from '../../sources/essentials';
|
|
8
|
+
export * from '../../sources/logger';
|
|
9
|
+
export * from '../../sources/document-id';
|
|
10
|
+
export * from '../../sources/observer';
|
|
11
|
+
export * from '../../sources/authenticator';
|
|
12
|
+
export * from '../../sources/identity';
|
|
13
|
+
export * from '../../sources/ditto';
|
|
14
|
+
export * from '../../sources/store-observer';
|
|
15
|
+
export * from '../../sources/sync';
|
|
16
|
+
export * from '../../sources/sync-subscription';
|
|
17
|
+
export * from '../../sources/error';
|
|
18
|
+
export * from '../../sources/error-codes';
|
|
19
|
+
export * from '../../sources/query-result-item';
|
|
20
|
+
export * from '../../sources/query-result';
|
|
21
|
+
export * from '../../sources/small-peer-info';
|
|
22
|
+
export * from '../../sources/store';
|
|
23
|
+
export * from '../../sources/presence';
|
|
24
|
+
export * from '../../sources/transport-config';
|
|
12
25
|
export * from '../../sources/epilogue';
|
|
13
|
-
|
|
26
|
+
|
|
27
|
+
# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA"}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ditto.rn.d.ts","sourceRoot":"","sources":["../../src/ditto.rn.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ditto.rn.d.ts","sourceRoot":"","sources":["../../src/ditto.rn.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAOxE,OAAO,mCAAmC,CAAC;AAuE3C,wBAAgB,yBAAyB,CACvC,sBAAsB,EAAE,GAAG,GAC1B,OAAO,CAUT;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,IAAI,UAAU,EAAE,CAK3D;AAMD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,GAAG,OAElD;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,GAAG,qBAGjD;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,GAAG,OAEhD"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright © 2023 DittoLive Incorporated. All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
|
|
1
5
|
import * as FFI from './ffi'
|
|
2
6
|
|
|
3
7
|
import { AttachmentFetcher } from './attachment-fetcher'
|
|
@@ -10,8 +14,12 @@ import type { AttachmentFetchEvent } from './attachment-fetch-event'
|
|
|
10
14
|
/** @internal */
|
|
11
15
|
type AttachmentFetcherContextInfo = {
|
|
12
16
|
attachmentFetcher: WeakRef<AttachmentFetcher>
|
|
17
|
+
// Attachment token is unique per attachment.
|
|
13
18
|
attachmentTokenID: Uint8Array
|
|
19
|
+
// This id is unique per attachment fetcher.
|
|
14
20
|
id: string
|
|
21
|
+
// Promise for a token that can be used to cancel the fetch. If `null`, the
|
|
22
|
+
// fetch has already completed, errored, or been canceled.
|
|
15
23
|
cancelTokenPromise: Promise<unknown | null> | null
|
|
16
24
|
}
|
|
17
25
|
|
|
@@ -37,6 +45,7 @@ export class AttachmentFetcherManager {
|
|
|
37
45
|
return this.ditto.deferClose(() => {
|
|
38
46
|
const attachmentFetcher = new AttachmentFetcher(this.ditto, token, this, eventHandler)
|
|
39
47
|
|
|
48
|
+
// Register in finalization registry.
|
|
40
49
|
const contextInfo: AttachmentFetcherContextInfo = {
|
|
41
50
|
id: attachmentFetcher.id,
|
|
42
51
|
attachmentTokenID: token.id,
|
|
@@ -45,8 +54,10 @@ export class AttachmentFetcherManager {
|
|
|
45
54
|
}
|
|
46
55
|
this.finalizationRegistry.register(attachmentFetcher, contextInfo, attachmentFetcher)
|
|
47
56
|
|
|
57
|
+
// Keep a reference to the context info so that we can stop the fetcher.
|
|
48
58
|
this.contextInfoByID[attachmentFetcher.id] = contextInfo
|
|
49
59
|
|
|
60
|
+
// Prevent cancellation of the fetch once it was fulfilled or rejected.
|
|
50
61
|
const resetCancelToken = () => {
|
|
51
62
|
if (this.contextInfoByID[attachmentFetcher.id] != null) {
|
|
52
63
|
this.contextInfoByID[attachmentFetcher.id].cancelTokenPromise = null
|
|
@@ -63,6 +74,7 @@ export class AttachmentFetcherManager {
|
|
|
63
74
|
},
|
|
64
75
|
)
|
|
65
76
|
|
|
77
|
+
// Keep the attachment fetcher alive until it is stopped.
|
|
66
78
|
this.ditto.keepAlive.retain(`AttachmentFetcher.${attachmentFetcher.id})`)
|
|
67
79
|
|
|
68
80
|
return attachmentFetcher
|
|
@@ -113,13 +125,16 @@ export class AttachmentFetcherManager {
|
|
|
113
125
|
private stopWithContextInfo(contextInfo: AttachmentFetcherContextInfo): Promise<void> {
|
|
114
126
|
const dittoHandle = Bridge.ditto.handleFor(this.ditto)
|
|
115
127
|
return this.ditto.deferCloseAsync(async () => {
|
|
128
|
+
// Remove the manager's own record of the context info.
|
|
116
129
|
if (this.contextInfoByID[contextInfo.id] == null) {
|
|
117
130
|
throw new Error(`Internal inconsistency: attachment fetcher ${contextInfo.id} not found in active attachment fetchers.`)
|
|
118
131
|
}
|
|
119
132
|
delete this.contextInfoByID[contextInfo.id]
|
|
120
133
|
|
|
134
|
+
// Release the keep-alive.
|
|
121
135
|
this.ditto.keepAlive.release(`AttachmentFetcher.${contextInfo.id})`)
|
|
122
136
|
|
|
137
|
+
// Cancel the fetcher if it is still running.
|
|
123
138
|
const cancelToken = await contextInfo.cancelTokenPromise
|
|
124
139
|
if (cancelToken) {
|
|
125
140
|
FFI.dittoCancelResolveAttachment(dittoHandle.deref(), contextInfo.attachmentTokenID, cancelToken)
|
|
@@ -37,6 +37,9 @@ export class AttachmentFetcher implements PromiseLike<Attachment | null> {
|
|
|
37
37
|
* the attachment to be made available locally to the device.
|
|
38
38
|
*/
|
|
39
39
|
stop() {
|
|
40
|
+
// No need for synchronicity here: we let the "stop promise" float / run in
|
|
41
|
+
// a detached fashion since there is no point in awaiting the "stop
|
|
42
|
+
// signaling" itself.
|
|
40
43
|
step(async () => {
|
|
41
44
|
await this.manager.stopAttachmentFetcher(this)
|
|
42
45
|
if (this.rejectPendingFetch != null) {
|
|
@@ -106,10 +109,17 @@ export class AttachmentFetcher implements PromiseLike<Attachment | null> {
|
|
|
106
109
|
}
|
|
107
110
|
}
|
|
108
111
|
|
|
112
|
+
// The core doesn't call any of the handlers defined above when a fetch is
|
|
113
|
+
// cancelled through `this.stop()` so we use this function to reject the
|
|
114
|
+
// promise from the outside.
|
|
109
115
|
this.rejectPendingFetch = () => {
|
|
110
116
|
reject(new Error('Attachment fetch was canceled'))
|
|
111
117
|
}
|
|
112
118
|
|
|
119
|
+
// Not awaited yet; only needs to be fully resolved (and `await`ed over)
|
|
120
|
+
// when using the actual `cancelTokenPromise`, which only happens in
|
|
121
|
+
// `AttachmentFetcherManager.stopWithContextInfo()`.
|
|
122
|
+
// @ts-expect-error setting readonly property
|
|
113
123
|
this.cancelTokenPromise = FFI.dittoResolveAttachment(dittoHandle.deref(), token.id, { onComplete, onProgress, onDelete }, onError)
|
|
114
124
|
})
|
|
115
125
|
}
|
|
@@ -34,6 +34,17 @@ export class Attachment {
|
|
|
34
34
|
const ditto = this.ditto
|
|
35
35
|
const dittoHandle = Bridge.ditto.handleFor(ditto)
|
|
36
36
|
return this.ditto.deferCloseAsync(async () => {
|
|
37
|
+
// if (Environment.isWebBuild) {
|
|
38
|
+
// const attachmentHandle = Bridge.attachment.handleFor(this)
|
|
39
|
+
// return await FFI.dittoGetCompleteAttachmentData(dittoHandle.deref(), attachmentHandle.deref())
|
|
40
|
+
// }
|
|
41
|
+
|
|
42
|
+
// if (Environment.isNodeBuild) {
|
|
43
|
+
// const attachmentHandle = Bridge.attachment.handleFor(this)
|
|
44
|
+
// const attachmentPath = FFI.dittoGetCompleteAttachmentPath(dittoHandle.deref(), attachmentHandle.deref())
|
|
45
|
+
// const fs = require('fs').promises
|
|
46
|
+
// return await fs.readFile(attachmentPath)
|
|
47
|
+
// }
|
|
37
48
|
})
|
|
38
49
|
}
|
|
39
50
|
|
|
@@ -47,7 +58,11 @@ export class Attachment {
|
|
|
47
58
|
const ditto = this.ditto
|
|
48
59
|
const dittoHandle = Bridge.ditto.handleFor(ditto)
|
|
49
60
|
return this.ditto.deferCloseAsync(async () => {
|
|
61
|
+
if (Environment.isWebBuild) {
|
|
62
|
+
throw new Error(`Can't copy attachment to path, not available when running in the browser.`)
|
|
63
|
+
}
|
|
50
64
|
|
|
65
|
+
|
|
51
66
|
})
|
|
52
67
|
}
|
|
53
68
|
|
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
// Copyright © 2021 DittoLive Incorporated. All rights reserved.
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
+
// NOTE: proxy was originally written in pure JS rather than TypeScript. We'll
|
|
6
|
+
// gradually port it to TypeScript and until done, we've renamed the pure JS
|
|
7
|
+
// file to proxy.raw.js and introduced proxy.ts that'll contain all parts ported
|
|
8
|
+
// to TypeScript or type declarations for the JS parts.
|
|
9
|
+
|
|
10
|
+
// import * as proxyRaw from './proxy.raw'
|
|
11
|
+
|
|
5
12
|
import * as FFI from './ffi'
|
|
6
13
|
import { DocumentID } from './document-id'
|
|
7
14
|
import { AttachmentToken } from './attachment-token'
|
|
@@ -9,6 +16,11 @@ import { Attachment } from './attachment'
|
|
|
9
16
|
import { Counter } from './counter'
|
|
10
17
|
import { Register } from './register'
|
|
11
18
|
|
|
19
|
+
// Takes an annotated JSON representation of a document (see CRDT's Document
|
|
20
|
+
// class for more info about what an annotated representation is) and turns it
|
|
21
|
+
// into a JavaScript-appropriate version. This means that counters get
|
|
22
|
+
// represented by `Counter` objects and attachments get represented by
|
|
23
|
+
// `Attachment` objects.
|
|
12
24
|
export function augmentJSONValue(json, mutDoc, workingPath) {
|
|
13
25
|
if (json && typeof json === 'object') {
|
|
14
26
|
if (Array.isArray(json)) {
|
|
@@ -201,6 +201,8 @@ export abstract class BasePendingCursorOperation implements PromiseLike<Document
|
|
|
201
201
|
Bridge.mutableDocument.unregister(mutableDocument)
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
+
// NOTE: ownership of documentsX (and contained documents)
|
|
205
|
+
// is transferred to Rust at this point.
|
|
204
206
|
await FFI.collectionUpdateMultiple(dittoHandle.deref(), this.collection.name, writeTransactionX, documentsX)
|
|
205
207
|
|
|
206
208
|
return new UpdateResultsMap(updateResultsDocumentIDs, updateResultsByDocumentIDString)
|
|
@@ -16,6 +16,7 @@ import type { WebsocketClient } from './websocket-client'
|
|
|
16
16
|
|
|
17
17
|
import type { Ditto } from './ditto'
|
|
18
18
|
|
|
19
|
+
// Add bridged type name to debug, for example 'Ditto'.
|
|
19
20
|
const DEBUG_TYPE_NAMES: string[] = []
|
|
20
21
|
const DEBUG_ALL_TYPES = false
|
|
21
22
|
|
|
@@ -264,6 +265,7 @@ export class Bridge<T extends object, FFIType> {
|
|
|
264
265
|
* @internal */
|
|
265
266
|
registerType(value: BridgeType<T>) {
|
|
266
267
|
if (this.internalType === value) {
|
|
268
|
+
// Nothing to do.
|
|
267
269
|
return
|
|
268
270
|
}
|
|
269
271
|
|
|
@@ -313,7 +315,8 @@ export class Bridge<T extends object, FFIType> {
|
|
|
313
315
|
if (!handle) return undefined
|
|
314
316
|
if (handle.type !== this.type) throw new Error(`Can't return object for pointer, pointer is associated with an object of type ${handle.type} but this bridge is configured for ${this.type}`)
|
|
315
317
|
|
|
316
|
-
|
|
318
|
+
// This throws an error if the object has been garbage collected but the
|
|
319
|
+
// finalizer has not been called yet.
|
|
317
320
|
return handle.object()
|
|
318
321
|
}
|
|
319
322
|
|
|
@@ -372,6 +375,7 @@ export class Bridge<T extends object, FFIType> {
|
|
|
372
375
|
const existingHandle = this.handlesByObject.get(object)
|
|
373
376
|
const existingPointer = existingHandle ? existingHandle.pointer : null
|
|
374
377
|
|
|
378
|
+
// Check that both pointer and handle are undefined at this point.
|
|
375
379
|
if (existingPointer != null && existingHandle != null) throw new Error(`Can't register, an object for the passed in pointer has previously been registered: ${existingHandle.object()}`)
|
|
376
380
|
|
|
377
381
|
if (existingPointer != null && existingHandle == null) throw new Error(`Internal inconsistency, trying to register an object which has an associated pointer but no handle entry: ${objectType.name} at ${existingPointer.type} ${existingPointer.addr}`)
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
// NOTE: this is patched up with the actual build version by Jake task
|
|
2
|
+
// build:package and has to be a valid semantic version as defined here: https://semver.org.
|
|
2
3
|
export const fullBuildVersionString = '{full-build-version-string}'
|
|
3
4
|
|
|
5
|
+
// NOTE: this is patched up with the default URL for the ditto.wasm by Jake task
|
|
6
|
+
// build:package. Usually it looks something like this:
|
|
7
|
+
// https://software.ditto.live/js/Ditto/1.2.3-alpha.456/ditto.wasm
|
|
4
8
|
export const defaultDittoWasmFileURL = '{default-ditto-wasm-file-url}'
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
// Copyright © 2021 DittoLive Incorporated. All rights reserved.
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
+
// NOTE: we use a token to detect private invocation of the constructor. This is
|
|
6
|
+
// not secure and just to prevent accidental private invocation on the client
|
|
7
|
+
// side.
|
|
5
8
|
const privateToken = Symbol('privateConstructorToken')
|
|
6
9
|
|
|
7
10
|
/**
|
|
@@ -63,6 +66,8 @@ export class MutableCounter extends Counter {
|
|
|
63
66
|
}
|
|
64
67
|
|
|
65
68
|
mutDoc.at(path)['@ditto.increment'](amount)
|
|
69
|
+
// We also increment the local value to make sure that the change is
|
|
70
|
+
// reflected locally as well as in the underlying document
|
|
66
71
|
this._value += amount
|
|
67
72
|
}
|
|
68
73
|
|
|
@@ -60,6 +60,8 @@ export type RemotePeer = {
|
|
|
60
60
|
|
|
61
61
|
// -----------------------------------------------------------------------------
|
|
62
62
|
|
|
63
|
+
// The name of the directory, relative to cwd, that will be used for persistence
|
|
64
|
+
// if no other directory is specified.
|
|
63
65
|
const DEFAULT_PERSISTENCE_DIRECTORY = 'ditto'
|
|
64
66
|
|
|
65
67
|
/**
|
|
@@ -70,6 +72,7 @@ export class Ditto {
|
|
|
70
72
|
* A string containing the semantic version of the Ditto SDK. Example: 4.4.3
|
|
71
73
|
*/
|
|
72
74
|
static get VERSION(): string {
|
|
75
|
+
// Requires having called FFI.initSDKVersion() first.
|
|
73
76
|
return FFI.dittoGetSDKSemver()
|
|
74
77
|
}
|
|
75
78
|
|
|
@@ -212,12 +215,26 @@ export class Ditto {
|
|
|
212
215
|
|
|
213
216
|
this.identity = Object.freeze(validIdentity)
|
|
214
217
|
|
|
218
|
+
// Check if device name stays the same on sdk and core levels (#10729).
|
|
219
|
+
|
|
220
|
+
if (Environment.isWebBuild) {
|
|
221
|
+
this.deviceName = navigator.userAgent
|
|
222
|
+
}
|
|
223
|
+
|
|
215
224
|
if (Environment.isReactNativeBuild) {
|
|
216
225
|
this.deviceName = FFI.getDeviceName() as string
|
|
217
226
|
}
|
|
218
227
|
|
|
219
228
|
this.keepAlive = new KeepAlive()
|
|
220
229
|
|
|
230
|
+
// NOTE: some behavior not implemented yet as compared to the ObjC/Swift
|
|
231
|
+
// version:
|
|
232
|
+
//
|
|
233
|
+
// 1. Optional `identity` parameter falling back to a default one.
|
|
234
|
+
//
|
|
235
|
+
// 2. Optional siteID of the identity, falling back to a random one if
|
|
236
|
+
// newly created or to the stored one if already persisted.
|
|
237
|
+
|
|
221
238
|
const uninitializedDittoX = FFI.uninitializedDittoMake(this.persistenceDirectory)
|
|
222
239
|
|
|
223
240
|
let secondsRemainingUntilAuthenticationExpires: number | null = null
|
|
@@ -277,6 +294,11 @@ export class Ditto {
|
|
|
277
294
|
|
|
278
295
|
Bridge.ditto.bridge(dittoPointer, this)
|
|
279
296
|
|
|
297
|
+
// IMPORTANT: Keeping the auth client around accumulates run-times and
|
|
298
|
+
// resources which becomes a problem specifically in tests (where we use one
|
|
299
|
+
// Ditto instance per test). We therefore keep it only if needed, i.e.
|
|
300
|
+
// _only_ for the onlineWithAuthentication and online identities and
|
|
301
|
+
// transfer ownership of it to the authenticator.
|
|
280
302
|
if (validIdentity.type === 'onlineWithAuthentication') {
|
|
281
303
|
this.auth = new OnlineAuthenticator(this.keepAlive, this, validIdentity.authHandler)
|
|
282
304
|
|
|
@@ -290,11 +312,13 @@ export class Ditto {
|
|
|
290
312
|
if (strongThis.auth) {
|
|
291
313
|
strongThis.auth['@ditto.authenticationExpiring'](secondsRemaining)
|
|
292
314
|
} else {
|
|
293
|
-
|
|
294
315
|
secondsRemainingUntilAuthenticationExpires = secondsRemaining
|
|
295
316
|
}
|
|
296
317
|
})
|
|
297
|
-
|
|
318
|
+
// We don't need to worry about awaiting the result of this call because
|
|
319
|
+
// auth all happens in the background and so there are no guarantees we
|
|
320
|
+
// need to uphold by making sure things are in a certain state before the
|
|
321
|
+
// constructor finishes
|
|
298
322
|
FFI.dittoAuthSetLoginProvider(dittoPointer, loginProviderX)
|
|
299
323
|
} else if (validIdentity.type === 'onlinePlayground') {
|
|
300
324
|
this.auth = new OnlineAuthenticator(this.keepAlive, this, {
|
|
@@ -310,12 +334,14 @@ export class Ditto {
|
|
|
310
334
|
this.auth = new NotAvailableAuthenticator(this.keepAlive)
|
|
311
335
|
}
|
|
312
336
|
|
|
313
|
-
const transportConfig = this.makeDefaultTransportConfig()
|
|
337
|
+
const transportConfig = this.makeDefaultTransportConfig().freeze()
|
|
314
338
|
|
|
339
|
+
//
|
|
340
|
+
// Assign instance properties.
|
|
341
|
+
//
|
|
315
342
|
|
|
316
343
|
this.appID = appID
|
|
317
344
|
this.siteID = siteID
|
|
318
|
-
this._transportConfig = transportConfig.copy().freeze()
|
|
319
345
|
|
|
320
346
|
this.isX509Valid = isX509Valid
|
|
321
347
|
this.isWebValid = isWebValid
|
|
@@ -323,7 +349,8 @@ export class Ditto {
|
|
|
323
349
|
this.sync = new Sync(this)
|
|
324
350
|
this.sync.update({ isSyncActive: false, isX509Valid, isWebValid, identity: validIdentity, ditto: this, transportConfig })
|
|
325
351
|
|
|
326
|
-
|
|
352
|
+
// We don't need a license when running in the browser, so we
|
|
353
|
+
// mark the instance as activated from the get-go in that case.
|
|
327
354
|
this._isActivated = Environment.isWebBuild || !IdentityTypesRequiringOfflineLicenseToken.includes(validIdentity.type)
|
|
328
355
|
|
|
329
356
|
this.store = new Store(this)
|
|
@@ -404,6 +431,7 @@ export class Ditto {
|
|
|
404
431
|
* @returns `true` if the environment is supported
|
|
405
432
|
*/
|
|
406
433
|
static isEnvironmentSupported(): boolean {
|
|
434
|
+
// From https://stackoverflow.com/questions/21825157/internet-explorer-11-detection
|
|
407
435
|
let isIE = false
|
|
408
436
|
if (typeof window !== 'undefined' && window.navigator && window.navigator.userAgent && window.navigator.appVersion) {
|
|
409
437
|
isIE = window.navigator.userAgent.indexOf('MSIE') !== -1 || window.navigator.appVersion.indexOf('Trident/') > -1
|
|
@@ -459,7 +487,8 @@ export class Ditto {
|
|
|
459
487
|
*/
|
|
460
488
|
setOfflineOnlyLicenseToken(licenseToken: string) {
|
|
461
489
|
if (Environment.isWebBuild) {
|
|
462
|
-
|
|
490
|
+
// We don't need a license when running in the browser. Web builds mark the instance as activated
|
|
491
|
+
// inside the constructor.
|
|
463
492
|
Logger.info('Offline license token are ignored on web builds. Token validation will be skipped.')
|
|
464
493
|
}
|
|
465
494
|
if (Environment.isReactNativeBuild) {
|
|
@@ -491,7 +520,7 @@ export class Ditto {
|
|
|
491
520
|
* @see {@link updateTransportConfig | updateTransportConfig()}
|
|
492
521
|
*/
|
|
493
522
|
get transportConfig(): TransportConfig {
|
|
494
|
-
return this.
|
|
523
|
+
return this.sync.parameters.transportConfig
|
|
495
524
|
}
|
|
496
525
|
|
|
497
526
|
/**
|
|
@@ -504,8 +533,7 @@ export class Ditto {
|
|
|
504
533
|
* @see {@link updateTransportConfig | updateTransportConfig()}
|
|
505
534
|
*/
|
|
506
535
|
setTransportConfig(transportConfig: TransportConfig) {
|
|
507
|
-
|
|
508
|
-
const transportConfigNew = this.transportConfig
|
|
536
|
+
const transportConfigNew = transportConfig.copy().freeze()
|
|
509
537
|
|
|
510
538
|
const identity = this.identity
|
|
511
539
|
const isWebValid = this.isWebValid
|
|
@@ -676,7 +704,8 @@ export class Ditto {
|
|
|
676
704
|
throw new Error('Internal inconsistency, still kept alive after the Ditto object has been close()-ed. ')
|
|
677
705
|
}
|
|
678
706
|
|
|
679
|
-
|
|
707
|
+
// Await all pending operations before closing. Rejected promises are
|
|
708
|
+
// ignored because they are handled at the original call site.
|
|
680
709
|
do {
|
|
681
710
|
await Promise.allSettled(this.pendingOperations)
|
|
682
711
|
|
|
@@ -748,7 +777,8 @@ export class Ditto {
|
|
|
748
777
|
try {
|
|
749
778
|
result = await pendingOperation
|
|
750
779
|
} finally {
|
|
751
|
-
|
|
780
|
+
// Remove the promise from the set of pending operations even if it
|
|
781
|
+
// rejected.
|
|
752
782
|
this.pendingOperations.delete(pendingOperation)
|
|
753
783
|
}
|
|
754
784
|
|
|
@@ -767,7 +797,6 @@ export class Ditto {
|
|
|
767
797
|
private _isActivated: boolean
|
|
768
798
|
private _isSyncActive: boolean = false
|
|
769
799
|
private _isClosed: boolean = false
|
|
770
|
-
private _transportConfig: TransportConfig
|
|
771
800
|
|
|
772
801
|
/** Set of pending operations that need to complete before the Ditto instance can be closed in a safe manner. */
|
|
773
802
|
private pendingOperations = new Set<Promise<any>>()
|
|
@@ -790,6 +819,7 @@ export class Ditto {
|
|
|
790
819
|
private validateIdentity(identity: Identity): Identity {
|
|
791
820
|
const validIdentity = { ...identity }
|
|
792
821
|
|
|
822
|
+
// @ts-expect-error we validate the existence of the value below.
|
|
793
823
|
const appID = identity.appID
|
|
794
824
|
|
|
795
825
|
if (!['offlinePlayground', 'sharedKey', 'manual', 'onlinePlayground', 'onlineWithAuthentication'].includes(identity.type)) {
|
|
@@ -814,9 +844,11 @@ export class Ditto {
|
|
|
814
844
|
}
|
|
815
845
|
|
|
816
846
|
if (identity.type === 'sharedKey') {
|
|
847
|
+
// No validations yet.
|
|
817
848
|
}
|
|
818
849
|
|
|
819
850
|
if (identity.type === 'manual') {
|
|
851
|
+
// No validations yet.
|
|
820
852
|
}
|
|
821
853
|
|
|
822
854
|
if (identity.type === 'onlinePlayground') {
|
|
@@ -832,6 +864,7 @@ export class Ditto {
|
|
|
832
864
|
}
|
|
833
865
|
|
|
834
866
|
if (identity.type === 'onlineWithAuthentication') {
|
|
867
|
+
// No validations yet.
|
|
835
868
|
}
|
|
836
869
|
|
|
837
870
|
return validIdentity
|
|
@@ -913,6 +946,7 @@ export const disableDeadlockTimeoutWhenDebugging = () => {
|
|
|
913
946
|
if (Environment.isNodeBuild) {
|
|
914
947
|
const hasInspector = process && process?.execArgv?.some((arg) => arg.includes('--inspect') || arg.includes('--debug'))
|
|
915
948
|
|
|
949
|
+
// @ts-ignore - v8debug may be undefined
|
|
916
950
|
const hasLegacyDebugMode = (process && process?.execArgv?.some((arg) => arg.includes('--debug'))) || typeof v8debug === 'object'
|
|
917
951
|
|
|
918
952
|
if (hasInspector || hasLegacyDebugMode) {
|
|
@@ -6,7 +6,7 @@ import * as FFI from './ffi'
|
|
|
6
6
|
import { CBOR } from './cbor'
|
|
7
7
|
|
|
8
8
|
/** Represents a unique identifier for a {@link Document}. */
|
|
9
|
-
export type DocumentIDValue = any
|
|
9
|
+
export type DocumentIDValue = any
|
|
10
10
|
|
|
11
11
|
/** Represents a unique identifier for a {@link Document}. */
|
|
12
12
|
export class DocumentID {
|
|
@@ -55,6 +55,7 @@ export class DocumentPath {
|
|
|
55
55
|
if (typeof keyPathOrIndex === 'string') {
|
|
56
56
|
const keyPath: string = keyPathOrIndex
|
|
57
57
|
const validatedKeyPath = KeyPath.validate(keyPath)
|
|
58
|
+
// this.path can be an empty string.
|
|
58
59
|
const absoluteKeyPath = KeyPath.withoutLeadingDot(`${this.path}${validatedKeyPath}`)
|
|
59
60
|
return new DocumentPath(this.document, absoluteKeyPath, false)
|
|
60
61
|
}
|
|
@@ -157,6 +158,7 @@ export class MutableDocumentPath {
|
|
|
157
158
|
if (typeof keyPathOrIndex === 'string') {
|
|
158
159
|
const keyPath: string = keyPathOrIndex
|
|
159
160
|
const validatedKeyPath = KeyPath.validate(keyPath)
|
|
161
|
+
// this.path can be an empty string.
|
|
160
162
|
const absoluteKeyPath = KeyPath.withoutLeadingDot(`${this.path}${validatedKeyPath}`)
|
|
161
163
|
return new MutableDocumentPath(this.mutableDocument, absoluteKeyPath, false)
|
|
162
164
|
}
|
|
@@ -241,7 +243,7 @@ export class MutableDocumentPath {
|
|
|
241
243
|
|
|
242
244
|
/** @internal */
|
|
243
245
|
'@ditto.increment'(amount: number) {
|
|
244
|
-
|
|
246
|
+
|
|
245
247
|
const documentHandle = Bridge.mutableDocument.handleFor(this.mutableDocument)
|
|
246
248
|
FFI.documentIncrementCounter(documentHandle.deref(), this.path, amount)
|
|
247
249
|
|
|
@@ -294,7 +296,8 @@ export class MutableDocumentPath {
|
|
|
294
296
|
|
|
295
297
|
/** @private */
|
|
296
298
|
private recordUpdateResult(updateResult: UpdateResult) {
|
|
297
|
-
|
|
299
|
+
// OPTIMIZE: not sure how much of a performance hit this
|
|
300
|
+
// clone-modify-freeze dance implies. Investigate and fix.
|
|
298
301
|
const updateResults = this.mutableDocument['@ditto.updateResults'].slice()
|
|
299
302
|
updateResults.push(updateResult)
|
|
300
303
|
Object.freeze(updateResults)
|
|
@@ -86,6 +86,7 @@ export class Document {
|
|
|
86
86
|
/** @internal */
|
|
87
87
|
constructor() {}
|
|
88
88
|
|
|
89
|
+
// TEMPORARY: helpers to deal with non-canonical IDs.
|
|
89
90
|
|
|
90
91
|
/** @internal */
|
|
91
92
|
static idCBOR(document: Document): Uint8Array {
|
|
@@ -107,7 +108,6 @@ export class Document {
|
|
|
107
108
|
|
|
108
109
|
// -----------------------------------------------------------------------------
|
|
109
110
|
|
|
110
|
-
|
|
111
111
|
/**
|
|
112
112
|
* A representation of a {@link Document} that can be mutated via
|
|
113
113
|
* {@link MutableDocumentPath}. You don't create or interact with
|
|
@@ -158,6 +158,7 @@ export class MutableDocument {
|
|
|
158
158
|
/** @internal */
|
|
159
159
|
readonly '@ditto.updateResults': UpdateResult[] = []
|
|
160
160
|
|
|
161
|
+
// TEMPORARY: helpers to deal with non-canonical IDs.
|
|
161
162
|
|
|
162
163
|
/** @internal */
|
|
163
164
|
static idCBOR(mutableDocument: MutableDocument): Uint8Array {
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
// Copyright © 2021 DittoLive Incorporated. All rights reserved.
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
+
// NOTE: this is the last file to be rolled up. Typically, you'll use this to
|
|
6
|
+
// tie up certain associations that would otherwise lead to import cycles. The
|
|
7
|
+
// bridges are a good example of this: the type constructors for the bridged
|
|
8
|
+
// types need to be registered with it, but can't do it at creation time of the
|
|
9
|
+
// bridges, because anything that would require a certain bridge would
|
|
10
|
+
// immediately require the bridged type, oftentimes leading to an import cycle.
|
|
5
11
|
|
|
6
12
|
import { Attachment } from './attachment'
|
|
7
13
|
import { Document, MutableDocument } from './document'
|
|
@@ -16,13 +16,16 @@ export type ErrorContext = Record<string, any>
|
|
|
16
16
|
|
|
17
17
|
/** @see {@link FFIErrorMapping} */
|
|
18
18
|
const DEFAULT_STATUS_CODE_MAPPING: FFIErrorMapping = {
|
|
19
|
+
// SDK-specific errors
|
|
19
20
|
JsFloatingStoreOperation: ['internal', 'Internal inconsistency, an outstanding store operation was not awaited.'],
|
|
20
21
|
|
|
22
|
+
// DQL errors
|
|
21
23
|
DqlQueryCompilation: ['query/invalid'],
|
|
22
24
|
DqlInvalidQueryArgs: ['query/arguments-invalid'],
|
|
23
25
|
DqlUnsupported: ['query/unsupported'],
|
|
24
26
|
StoreQuery: ['query/execution'],
|
|
25
27
|
|
|
28
|
+
// Store errors
|
|
26
29
|
StoreDocumentNotFound: ['store/document-not-found'],
|
|
27
30
|
StoreDatabase: ['store/backend'],
|
|
28
31
|
Crdt: ['store/crdt'],
|
|
@@ -185,12 +188,14 @@ export async function mapFFIErrorsAsync<T>(closure: () => Promise<T>, statusCode
|
|
|
185
188
|
* @internal
|
|
186
189
|
*/
|
|
187
190
|
type FFIErrorMapping = {
|
|
188
|
-
|
|
191
|
+
// statusCode needs to be `string` because it may be a negative number, which
|
|
192
|
+
// can't be used as an object key.
|
|
189
193
|
[statusCode: string]: [ErrorCode, string?]
|
|
190
194
|
}
|
|
191
195
|
|
|
192
196
|
const translateFFIError = (ffiError: DittoFFIError, customStatusCodeMapping?: FFIErrorMapping, context?: ErrorContext): DittoError => {
|
|
193
|
-
|
|
197
|
+
// Convert the status code to a string because it may be a negative number,
|
|
198
|
+
// which can't be used as an index into an object.
|
|
194
199
|
const statusCode = ffiError.code.toString()
|
|
195
200
|
|
|
196
201
|
let code: ErrorCode, message: string | undefined
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
//
|
|
2
2
|
// Copyright © 2023 DittoLive Incorporated. All rights reserved.
|
|
3
3
|
//
|
|
4
|
+
// This internal module contains the Ditto FFI error type and helper functions
|
|
5
|
+
// for working with it. Except for the feature flag helper, this module should
|
|
6
|
+
// not depend on any other parts of the Ditto Javascript SDK.
|
|
4
7
|
|
|
5
8
|
import * as dittoCore from './@ditto.core'
|
|
6
9
|
|
|
@@ -57,7 +60,8 @@ export class DittoFFIError extends Error {
|
|
|
57
60
|
* message is empty
|
|
58
61
|
*/
|
|
59
62
|
constructor(code: number | FFIResultErrorCode, messageOverride?: string, messageFallback?: string) {
|
|
60
|
-
|
|
63
|
+
// Call `ffiErrorMessage()` even when an override is provided to ensure that
|
|
64
|
+
// the thread-local error message is cleared.
|
|
61
65
|
const threadLocalErrorMessage = ffiErrorMessage()
|
|
62
66
|
super(messageOverride || threadLocalErrorMessage || messageFallback)
|
|
63
67
|
this.code = code
|
|
@@ -92,6 +96,7 @@ export function throwOnErrorResult(ffiError: Pointer<FFIError> | null, ffiFuncti
|
|
|
92
96
|
if (errorMsg == null) {
|
|
93
97
|
errorMsg = `${ffiFunctionName}() failed with error code: ${errorCode}`
|
|
94
98
|
} else {
|
|
99
|
+
// Remove prefix from error message, e.g. `<dql> ...`.
|
|
95
100
|
errorMsg = errorMsg.replace(PREFIX_REGEX, '')
|
|
96
101
|
}
|
|
97
102
|
|