@dittolive/ditto 4.5.0 → 4.5.1-experimental.aarch64-linux.1.aarch64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/README.md +2 -2
  2. package/node/ditto.cjs.js +2 -9620
  3. package/node/{ditto.linux-x64.node → ditto.linux-arm64.node} +0 -0
  4. package/package.json +38 -34
  5. package/types/ditto.d.ts +0 -2
  6. package/web/ditto.es6.js +1 -1
  7. package/web/ditto.umd.js +1 -1
  8. package/web/ditto.wasm +0 -0
  9. package/DittoReactNative.podspec +0 -27
  10. package/node/ditto.darwin-arm64.node +0 -0
  11. package/node/ditto.darwin-x64.node +0 -0
  12. package/node/ditto.linux-arm.node +0 -0
  13. package/node/ditto.win32-x64.node +0 -0
  14. package/node/transports.darwin-arm64.node +0 -0
  15. package/node/transports.darwin-x64.node +0 -0
  16. package/react-native/android/CMakeLists.txt +0 -37
  17. package/react-native/android/build.gradle +0 -203
  18. package/react-native/android/cpp-adapter.cpp +0 -254
  19. package/react-native/android/gradle.properties +0 -5
  20. package/react-native/android/src/main/AndroidManifest.xml +0 -4
  21. package/react-native/android/src/main/java/com/dittolive/rnsdk/DittoRNSDKModule.java +0 -85
  22. package/react-native/android/src/main/java/com/dittolive/rnsdk/DittoRNSDKPackage.java +0 -28
  23. package/react-native/boost/boost/assert.hpp +0 -85
  24. package/react-native/boost/boost/config/abi/borland_prefix.hpp +0 -27
  25. package/react-native/boost/boost/config/abi/borland_suffix.hpp +0 -12
  26. package/react-native/boost/boost/config/abi/msvc_prefix.hpp +0 -22
  27. package/react-native/boost/boost/config/abi/msvc_suffix.hpp +0 -8
  28. package/react-native/boost/boost/config/abi_prefix.hpp +0 -25
  29. package/react-native/boost/boost/config/abi_suffix.hpp +0 -25
  30. package/react-native/boost/boost/config/assert_cxx03.hpp +0 -211
  31. package/react-native/boost/boost/config/assert_cxx11.hpp +0 -209
  32. package/react-native/boost/boost/config/assert_cxx14.hpp +0 -47
  33. package/react-native/boost/boost/config/assert_cxx17.hpp +0 -62
  34. package/react-native/boost/boost/config/assert_cxx20.hpp +0 -59
  35. package/react-native/boost/boost/config/assert_cxx98.hpp +0 -23
  36. package/react-native/boost/boost/config/auto_link.hpp +0 -525
  37. package/react-native/boost/boost/config/compiler/borland.hpp +0 -339
  38. package/react-native/boost/boost/config/compiler/clang.hpp +0 -366
  39. package/react-native/boost/boost/config/compiler/clang_version.hpp +0 -83
  40. package/react-native/boost/boost/config/compiler/codegear.hpp +0 -385
  41. package/react-native/boost/boost/config/compiler/comeau.hpp +0 -59
  42. package/react-native/boost/boost/config/compiler/common_edg.hpp +0 -183
  43. package/react-native/boost/boost/config/compiler/compaq_cxx.hpp +0 -19
  44. package/react-native/boost/boost/config/compiler/cray.hpp +0 -446
  45. package/react-native/boost/boost/config/compiler/diab.hpp +0 -26
  46. package/react-native/boost/boost/config/compiler/digitalmars.hpp +0 -143
  47. package/react-native/boost/boost/config/compiler/gcc.hpp +0 -383
  48. package/react-native/boost/boost/config/compiler/gcc_xml.hpp +0 -114
  49. package/react-native/boost/boost/config/compiler/greenhills.hpp +0 -28
  50. package/react-native/boost/boost/config/compiler/hp_acc.hpp +0 -149
  51. package/react-native/boost/boost/config/compiler/intel.hpp +0 -577
  52. package/react-native/boost/boost/config/compiler/kai.hpp +0 -33
  53. package/react-native/boost/boost/config/compiler/metrowerks.hpp +0 -198
  54. package/react-native/boost/boost/config/compiler/mpw.hpp +0 -140
  55. package/react-native/boost/boost/config/compiler/nvcc.hpp +0 -61
  56. package/react-native/boost/boost/config/compiler/pathscale.hpp +0 -138
  57. package/react-native/boost/boost/config/compiler/pgi.hpp +0 -23
  58. package/react-native/boost/boost/config/compiler/sgi_mipspro.hpp +0 -29
  59. package/react-native/boost/boost/config/compiler/sunpro_cc.hpp +0 -222
  60. package/react-native/boost/boost/config/compiler/vacpp.hpp +0 -186
  61. package/react-native/boost/boost/config/compiler/visualc.hpp +0 -391
  62. package/react-native/boost/boost/config/compiler/xlcpp.hpp +0 -299
  63. package/react-native/boost/boost/config/compiler/xlcpp_zos.hpp +0 -173
  64. package/react-native/boost/boost/config/detail/cxx_composite.hpp +0 -203
  65. package/react-native/boost/boost/config/detail/posix_features.hpp +0 -95
  66. package/react-native/boost/boost/config/detail/select_compiler_config.hpp +0 -157
  67. package/react-native/boost/boost/config/detail/select_platform_config.hpp +0 -147
  68. package/react-native/boost/boost/config/detail/select_stdlib_config.hpp +0 -121
  69. package/react-native/boost/boost/config/detail/suffix.hpp +0 -1294
  70. package/react-native/boost/boost/config/header_deprecated.hpp +0 -26
  71. package/react-native/boost/boost/config/helper_macros.hpp +0 -37
  72. package/react-native/boost/boost/config/no_tr1/cmath.hpp +0 -28
  73. package/react-native/boost/boost/config/no_tr1/complex.hpp +0 -28
  74. package/react-native/boost/boost/config/no_tr1/functional.hpp +0 -28
  75. package/react-native/boost/boost/config/no_tr1/memory.hpp +0 -28
  76. package/react-native/boost/boost/config/no_tr1/utility.hpp +0 -28
  77. package/react-native/boost/boost/config/platform/aix.hpp +0 -33
  78. package/react-native/boost/boost/config/platform/amigaos.hpp +0 -15
  79. package/react-native/boost/boost/config/platform/beos.hpp +0 -26
  80. package/react-native/boost/boost/config/platform/bsd.hpp +0 -83
  81. package/react-native/boost/boost/config/platform/cloudabi.hpp +0 -18
  82. package/react-native/boost/boost/config/platform/cray.hpp +0 -18
  83. package/react-native/boost/boost/config/platform/cygwin.hpp +0 -71
  84. package/react-native/boost/boost/config/platform/haiku.hpp +0 -31
  85. package/react-native/boost/boost/config/platform/hpux.hpp +0 -87
  86. package/react-native/boost/boost/config/platform/irix.hpp +0 -31
  87. package/react-native/boost/boost/config/platform/linux.hpp +0 -106
  88. package/react-native/boost/boost/config/platform/macos.hpp +0 -87
  89. package/react-native/boost/boost/config/platform/qnxnto.hpp +0 -31
  90. package/react-native/boost/boost/config/platform/solaris.hpp +0 -31
  91. package/react-native/boost/boost/config/platform/symbian.hpp +0 -97
  92. package/react-native/boost/boost/config/platform/vms.hpp +0 -25
  93. package/react-native/boost/boost/config/platform/vxworks.hpp +0 -422
  94. package/react-native/boost/boost/config/platform/wasm.hpp +0 -23
  95. package/react-native/boost/boost/config/platform/win32.hpp +0 -90
  96. package/react-native/boost/boost/config/platform/zos.hpp +0 -32
  97. package/react-native/boost/boost/config/pragma_message.hpp +0 -31
  98. package/react-native/boost/boost/config/requires_threads.hpp +0 -92
  99. package/react-native/boost/boost/config/stdlib/dinkumware.hpp +0 -324
  100. package/react-native/boost/boost/config/stdlib/libcomo.hpp +0 -93
  101. package/react-native/boost/boost/config/stdlib/libcpp.hpp +0 -180
  102. package/react-native/boost/boost/config/stdlib/libstdcpp3.hpp +0 -482
  103. package/react-native/boost/boost/config/stdlib/modena.hpp +0 -79
  104. package/react-native/boost/boost/config/stdlib/msl.hpp +0 -98
  105. package/react-native/boost/boost/config/stdlib/roguewave.hpp +0 -208
  106. package/react-native/boost/boost/config/stdlib/sgi.hpp +0 -168
  107. package/react-native/boost/boost/config/stdlib/stlport.hpp +0 -258
  108. package/react-native/boost/boost/config/stdlib/vacpp.hpp +0 -74
  109. package/react-native/boost/boost/config/stdlib/xlcpp_zos.hpp +0 -61
  110. package/react-native/boost/boost/config/user.hpp +0 -133
  111. package/react-native/boost/boost/config/warning_disable.hpp +0 -47
  112. package/react-native/boost/boost/config/workaround.hpp +0 -305
  113. package/react-native/boost/boost/config.hpp +0 -67
  114. package/react-native/boost/boost/cstdint.hpp +0 -556
  115. package/react-native/boost/boost/intrusive_ptr.hpp +0 -18
  116. package/react-native/boost/boost/smart_ptr/detail/atomic_count.hpp +0 -103
  117. package/react-native/boost/boost/smart_ptr/detail/atomic_count_gcc.hpp +0 -79
  118. package/react-native/boost/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +0 -63
  119. package/react-native/boost/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +0 -88
  120. package/react-native/boost/boost/smart_ptr/detail/atomic_count_nt.hpp +0 -66
  121. package/react-native/boost/boost/smart_ptr/detail/atomic_count_pt.hpp +0 -104
  122. package/react-native/boost/boost/smart_ptr/detail/atomic_count_spin.hpp +0 -69
  123. package/react-native/boost/boost/smart_ptr/detail/atomic_count_std_atomic.hpp +0 -67
  124. package/react-native/boost/boost/smart_ptr/detail/atomic_count_sync.hpp +0 -72
  125. package/react-native/boost/boost/smart_ptr/detail/atomic_count_win32.hpp +0 -70
  126. package/react-native/boost/boost/smart_ptr/detail/local_counted_base.hpp +0 -148
  127. package/react-native/boost/boost/smart_ptr/detail/local_sp_deleter.hpp +0 -91
  128. package/react-native/boost/boost/smart_ptr/detail/operator_bool.hpp +0 -64
  129. package/react-native/boost/boost/smart_ptr/detail/requires_cxx11.hpp +0 -23
  130. package/react-native/boost/boost/smart_ptr/detail/shared_count.hpp +0 -707
  131. package/react-native/boost/boost/smart_ptr/detail/sp_convertible.hpp +0 -92
  132. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base.hpp +0 -92
  133. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +0 -163
  134. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_aix.hpp +0 -152
  135. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +0 -185
  136. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +0 -148
  137. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +0 -170
  138. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +0 -200
  139. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +0 -194
  140. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +0 -179
  141. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +0 -186
  142. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_nt.hpp +0 -119
  143. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_pt.hpp +0 -147
  144. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +0 -174
  145. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_spin.hpp +0 -141
  146. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +0 -147
  147. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_sync.hpp +0 -165
  148. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +0 -163
  149. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_w32.hpp +0 -140
  150. package/react-native/boost/boost/smart_ptr/detail/sp_counted_impl.hpp +0 -309
  151. package/react-native/boost/boost/smart_ptr/detail/sp_disable_deprecated.hpp +0 -40
  152. package/react-native/boost/boost/smart_ptr/detail/sp_forward.hpp +0 -52
  153. package/react-native/boost/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +0 -27
  154. package/react-native/boost/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +0 -69
  155. package/react-native/boost/boost/smart_ptr/detail/sp_interlocked.hpp +0 -173
  156. package/react-native/boost/boost/smart_ptr/detail/sp_noexcept.hpp +0 -48
  157. package/react-native/boost/boost/smart_ptr/detail/sp_nullptr_t.hpp +0 -45
  158. package/react-native/boost/boost/smart_ptr/detail/sp_obsolete.hpp +0 -32
  159. package/react-native/boost/boost/smart_ptr/detail/sp_thread_pause.hpp +0 -51
  160. package/react-native/boost/boost/smart_ptr/detail/sp_thread_sleep.hpp +0 -104
  161. package/react-native/boost/boost/smart_ptr/detail/sp_thread_yield.hpp +0 -100
  162. package/react-native/boost/boost/smart_ptr/detail/sp_typeinfo_.hpp +0 -58
  163. package/react-native/boost/boost/smart_ptr/detail/sp_win32_sleep.hpp +0 -49
  164. package/react-native/boost/boost/smart_ptr/intrusive_ptr.hpp +0 -409
  165. package/react-native/boost/boost/smart_ptr/intrusive_ref_counter.hpp +0 -188
  166. package/react-native/cpp/include/Attachment.h +0 -16
  167. package/react-native/cpp/include/Authentication.h +0 -23
  168. package/react-native/cpp/include/Collection.h +0 -13
  169. package/react-native/cpp/include/DQL.h +0 -21
  170. package/react-native/cpp/include/Document.h +0 -17
  171. package/react-native/cpp/include/Identity.h +0 -17
  172. package/react-native/cpp/include/Lifecycle.h +0 -16
  173. package/react-native/cpp/include/LiveQuery.h +0 -17
  174. package/react-native/cpp/include/Logger.h +0 -22
  175. package/react-native/cpp/include/Misc.h +0 -26
  176. package/react-native/cpp/include/Presence.h +0 -14
  177. package/react-native/cpp/include/RetainableState.h +0 -24
  178. package/react-native/cpp/include/SmallPeerInfo.h +0 -17
  179. package/react-native/cpp/include/Transports.h +0 -25
  180. package/react-native/cpp/include/TypedArray.hpp +0 -167
  181. package/react-native/cpp/include/Utils.h +0 -61
  182. package/react-native/cpp/include/main.h +0 -10
  183. package/react-native/cpp/src/Attachment.cpp +0 -86
  184. package/react-native/cpp/src/Authentication.cpp +0 -224
  185. package/react-native/cpp/src/Collection.cpp +0 -54
  186. package/react-native/cpp/src/DQL.cpp +0 -254
  187. package/react-native/cpp/src/Document.cpp +0 -146
  188. package/react-native/cpp/src/Identity.cpp +0 -123
  189. package/react-native/cpp/src/Lifecycle.cpp +0 -75
  190. package/react-native/cpp/src/LiveQuery.cpp +0 -64
  191. package/react-native/cpp/src/Logger.cpp +0 -200
  192. package/react-native/cpp/src/Misc.cpp +0 -271
  193. package/react-native/cpp/src/Presence.cpp +0 -77
  194. package/react-native/cpp/src/RetainableState.cpp +0 -15
  195. package/react-native/cpp/src/SmallPeerInfo.cpp +0 -108
  196. package/react-native/cpp/src/Transports.cpp +0 -270
  197. package/react-native/cpp/src/TypedArray.cpp +0 -303
  198. package/react-native/cpp/src/Utils.cpp +0 -138
  199. package/react-native/cpp/src/main.cpp +0 -149
  200. package/react-native/dittoffi/dittoffi.h +0 -4698
  201. package/react-native/dittoffi/ifaddrs.cpp +0 -385
  202. package/react-native/dittoffi/ifaddrs.h +0 -206
  203. package/react-native/ios/DittoRNSDK.h +0 -7
  204. package/react-native/ios/DittoRNSDK.mm +0 -107
  205. package/react-native/ios/YeetJSIUtils.h +0 -60
  206. package/react-native/ios/YeetJSIUtils.mm +0 -196
  207. package/react-native/lib/commonjs/ditto.rn.js +0 -93
  208. package/react-native/lib/commonjs/ditto.rn.js.map +0 -1
  209. package/react-native/lib/commonjs/index.js +0 -14
  210. package/react-native/lib/commonjs/index.js.map +0 -1
  211. package/react-native/lib/module/ditto.rn.js +0 -83
  212. package/react-native/lib/module/ditto.rn.js.map +0 -1
  213. package/react-native/lib/module/index.js +0 -13
  214. package/react-native/lib/module/index.js.map +0 -1
  215. package/react-native/lib/typescript/ditto.rn.d.ts +0 -15
  216. package/react-native/lib/typescript/ditto.rn.d.ts.map +0 -1
  217. package/react-native/lib/typescript/index.d.ts +0 -1
  218. package/react-native/lib/typescript/index.d.ts.map +0 -1
  219. package/react-native/scripts/ruby/include_local_boost.rb +0 -78
  220. package/react-native/src/ditto.rn.ts +0 -91
  221. package/react-native/src/environment/environment.fallback.ts +0 -4
  222. package/react-native/src/index.ts +0 -26
  223. package/react-native/src/sources/@cbor-redux.ts +0 -2
  224. package/react-native/src/sources/@ditto.core.ts +0 -1
  225. package/react-native/src/sources/@environment.ts +0 -2
  226. package/react-native/src/sources/attachment-fetch-event.ts +0 -54
  227. package/react-native/src/sources/attachment-fetcher-manager.ts +0 -129
  228. package/react-native/src/sources/attachment-fetcher.ts +0 -124
  229. package/react-native/src/sources/attachment-token.ts +0 -48
  230. package/react-native/src/sources/attachment.ts +0 -59
  231. package/react-native/src/sources/augment.ts +0 -89
  232. package/react-native/src/sources/authenticator.ts +0 -314
  233. package/react-native/src/sources/base-pending-cursor-operation.ts +0 -237
  234. package/react-native/src/sources/base-pending-id-specific-operation.ts +0 -109
  235. package/react-native/src/sources/bridge.ts +0 -549
  236. package/react-native/src/sources/build-time-constants.ts +0 -4
  237. package/react-native/src/sources/cbor.ts +0 -35
  238. package/react-native/src/sources/collection-interface.ts +0 -67
  239. package/react-native/src/sources/collection.ts +0 -212
  240. package/react-native/src/sources/collections-event.ts +0 -99
  241. package/react-native/src/sources/counter.ts +0 -77
  242. package/react-native/src/sources/ditto.ts +0 -945
  243. package/react-native/src/sources/document-id.ts +0 -159
  244. package/react-native/src/sources/document-path.ts +0 -303
  245. package/react-native/src/sources/document.ts +0 -192
  246. package/react-native/src/sources/epilogue.ts +0 -24
  247. package/react-native/src/sources/error-codes.ts +0 -52
  248. package/react-native/src/sources/error.ts +0 -203
  249. package/react-native/src/sources/essentials.ts +0 -53
  250. package/react-native/src/sources/ffi-error.ts +0 -117
  251. package/react-native/src/sources/ffi.ts +0 -1972
  252. package/react-native/src/sources/identity.ts +0 -163
  253. package/react-native/src/sources/init.ts +0 -70
  254. package/react-native/src/sources/internal.ts +0 -113
  255. package/react-native/src/sources/keep-alive.ts +0 -69
  256. package/react-native/src/sources/key-path.ts +0 -195
  257. package/react-native/src/sources/live-query-event.ts +0 -208
  258. package/react-native/src/sources/live-query-manager.ts +0 -101
  259. package/react-native/src/sources/live-query.ts +0 -164
  260. package/react-native/src/sources/logger.ts +0 -196
  261. package/react-native/src/sources/observer-manager.ts +0 -175
  262. package/react-native/src/sources/observer.ts +0 -77
  263. package/react-native/src/sources/pending-collections-operation.ts +0 -232
  264. package/react-native/src/sources/pending-cursor-operation.ts +0 -218
  265. package/react-native/src/sources/pending-id-specific-operation.ts +0 -216
  266. package/react-native/src/sources/presence-manager.ts +0 -160
  267. package/react-native/src/sources/presence.ts +0 -238
  268. package/react-native/src/sources/query-result-item.ts +0 -116
  269. package/react-native/src/sources/query-result.ts +0 -55
  270. package/react-native/src/sources/register.ts +0 -92
  271. package/react-native/src/sources/small-peer-info.ts +0 -176
  272. package/react-native/src/sources/static-tcp-client.ts +0 -6
  273. package/react-native/src/sources/store-observer.ts +0 -176
  274. package/react-native/src/sources/store.ts +0 -365
  275. package/react-native/src/sources/subscription-manager.ts +0 -98
  276. package/react-native/src/sources/subscription.ts +0 -88
  277. package/react-native/src/sources/sync-subscription.ts +0 -90
  278. package/react-native/src/sources/sync.ts +0 -495
  279. package/react-native/src/sources/test-helpers.ts +0 -24
  280. package/react-native/src/sources/transport-conditions-manager.ts +0 -104
  281. package/react-native/src/sources/transport-config.ts +0 -428
  282. package/react-native/src/sources/update-result.ts +0 -66
  283. package/react-native/src/sources/update-results-map.ts +0 -57
  284. package/react-native/src/sources/websocket-client.ts +0 -6
  285. package/react-native/src/sources/write-transaction-collection.ts +0 -122
  286. package/react-native/src/sources/write-transaction-pending-cursor-operation.ts +0 -101
  287. package/react-native/src/sources/write-transaction-pending-id-specific-operation.ts +0 -72
  288. package/react-native/src/sources/write-transaction.ts +0 -119
  289. package/react-native.config.js +0 -9
@@ -1,138 +0,0 @@
1
- #include "Utils.h"
2
-
3
- #include <functional>
4
- #include <mutex>
5
- #include <thread>
6
- // #include <condition_variable>
7
-
8
- namespace sharedjsi {
9
-
10
- std::string pointerToHexString(void const *ptr) {
11
- char buffer[20]; // Assuming a 64-bit pointer, 16 characters for address + 2 for "0x" + 1 for null-terminator.
12
- snprintf(buffer, sizeof(buffer), "%p", ptr);
13
- return std::string(buffer);
14
- }
15
-
16
- // To be used with `Option<slice_ref_uint8_t> (check Rust Core API)
17
- slice_ref_uint8_t borrowVecAsOptRefSlice(std::vector<uint8_t> const& v) {
18
- slice_ref_uint8_t it {};
19
- it.ptr = v.empty() ? nullptr : v.data();
20
- it.len = v.size();
21
- return it;
22
- }
23
-
24
- // To be used with non-optional `slice_ref_uint8_t` (check Rust Core API)
25
- slice_ref_uint8_t borrowVecAsRefSlice(std::vector<uint8_t> const& v) {
26
- slice_ref_uint8_t it {};
27
- it.ptr = v.empty() ? (uint8_t *) 0xbad000 : v.data();
28
- it.len = v.size();
29
- return it;
30
- }
31
-
32
- Function sliceBoxedToUInt8Array(Runtime &runtime) {
33
- return Function::createFromHostFunction(runtime,
34
- PropNameID::forAscii(runtime,
35
- STRINGIFIED_FUNC_NAME()),
36
- 0,
37
- [](Runtime &runtime,
38
- const Value &thisValue,
39
- const Value *arguments,
40
- size_t count) -> Value
41
- {
42
- auto fatPtrJs = arguments[0].asObject(runtime);
43
- auto ptr = jsPointerObjectToCPointer<uint8_t>(runtime, fatPtrJs.getProperty(runtime, "ptr"));
44
- auto len = static_cast<size_t>(fatPtrJs.getProperty(runtime, "len").asNumber());
45
- slice_boxed_uint8 slice = { .ptr = ptr, .len = len };
46
- if (!slice.ptr) {
47
- return Value::null();
48
- }
49
-
50
- auto typedArray = TypedArray<TypedArrayKind::Uint8Array>(runtime, slice.len);
51
- auto arrayBuffer = typedArray.getBuffer(runtime);
52
- std::memcpy(arrayBuffer.data(runtime), slice.ptr, slice.len);
53
-
54
- ::ditto_c_bytes_free(slice);
55
-
56
- return typedArray;
57
- });
58
- }
59
-
60
- std::vector<uint8_t> jsTypedArrayToCVector(Runtime &runtime, const Value &arg) {
61
- if (arg.isUndefined() || arg.isNull()) {
62
- return {};
63
- }
64
- TypedArrayBase typedArrayBase(runtime, arg.asObject(runtime));
65
- return typedArrayBase.toVector(runtime);
66
- }
67
-
68
- std::string jsTypedArrayToCString(Runtime &runtime, const Value &arg) {
69
- std::vector<uint8_t> vec = jsTypedArrayToCVector(runtime, arg);
70
- return std::string(vec.begin(), vec.end());
71
- }
72
-
73
- Value cSlicedBoxToJSSlicedBox(Runtime &runtime, slice_boxed_uint8 box_c_bytes) {
74
- Object obj(runtime);
75
- obj.setProperty(runtime, "ptr", cPointerToJSPointerObject<uint8_t>(runtime, box_c_bytes.ptr));
76
- obj.setProperty(runtime, "len", static_cast<double>(box_c_bytes.len));
77
- return obj;
78
- }
79
-
80
- Function withOutBoxCBytes(Runtime &runtime) {
81
- return Function::createFromHostFunction(runtime,
82
- PropNameID::forAscii(runtime,
83
- STRINGIFIED_FUNC_NAME()),
84
- 0,
85
- [](Runtime &runtime,
86
- const Value &thisValue,
87
- const Value *arguments,
88
- size_t count) -> Value
89
- {
90
- auto callback = arguments[0].asObject(runtime).asFunction(runtime);
91
- slice_boxed_uint8 box_c_bytes = { 0 };
92
- auto out_box_cbytes = &box_c_bytes;
93
- auto out_box_cbytes_js = cPointerToJSPointerObject<slice_boxed_uint8>(runtime, out_box_cbytes);
94
-
95
- callback.call(runtime, out_box_cbytes_js);
96
-
97
- return cSlicedBoxToJSSlicedBox(runtime, box_c_bytes);
98
- });
99
- }
100
-
101
-
102
-
103
- using Task = std::function<void(Runtime *)>;
104
-
105
- struct {
106
- std::mutex mutex;
107
- std::vector<Task> tasks;
108
- // std::condition_variable condition;
109
- } TASKS;
110
-
111
- void ditto_enqueue_call(Task &&task) {
112
- std::unique_lock<std::mutex> lock{TASKS.mutex};
113
- TASKS.tasks.emplace_back(task);
114
- // TASKS.condition.notify_one();
115
- }
116
-
117
- Task try_recv_task() {
118
- std::unique_lock<std::mutex> lock(TASKS.mutex);
119
- // TASKS.condition.wait(lock, [] { return !TASKS.tasks.empty(); });
120
- if (TASKS.tasks.empty()) {
121
- return nullptr;
122
- }
123
- Task task{std::move(TASKS.tasks.back())};
124
- TASKS.tasks.pop_back();
125
- return task;
126
- }
127
-
128
- void ditto_tick(Runtime *jsi) {
129
- while (1) {
130
- Task task = try_recv_task();
131
- if (task == nullptr) {
132
- return;
133
- } else {
134
- task(jsi);
135
- }
136
- }
137
- }
138
- }
@@ -1,149 +0,0 @@
1
- #include <jsi/jsi.h>
2
- #include <dittoffi.h>
3
-
4
- #include "main.h"
5
- #include "Utils.h"
6
- #include "RetainableState.h"
7
- #include "DQL.h"
8
- #include "Document.h"
9
- #include "Authentication.h"
10
- #include "Lifecycle.h"
11
- #include "Misc.h"
12
- #include "Identity.h"
13
- #include "Presence.h"
14
- #include "Attachment.h"
15
- #include "LiveQuery.h"
16
- #include "Collection.h"
17
- #include "Logger.h"
18
- #include "SmallPeerInfo.h"
19
- #include "Transports.h"
20
-
21
- // Note: `runtime` variable must exist in scope.
22
- #define REGISTER_JS_FUNCTION(fname) runtime.global().setProperty(runtime, STRINGIFY(fname), fname(runtime));
23
-
24
- using namespace facebook::jsi;
25
- using namespace std;
26
-
27
- namespace sharedjsi
28
- {
29
-
30
- void install(Runtime &runtime)
31
- {
32
- // Identity
33
- REGISTER_JS_FUNCTION(ditto_identity_config_make_online_playground);
34
- REGISTER_JS_FUNCTION(ditto_identity_config_make_offline_playground);
35
- REGISTER_JS_FUNCTION(ditto_identity_config_make_manual_v0);
36
- REGISTER_JS_FUNCTION(ditto_identity_config_make_shared_key);
37
- REGISTER_JS_FUNCTION(ditto_identity_config_make_online_with_authentication);
38
-
39
- // Lifecycle
40
- REGISTER_JS_FUNCTION(uninitialized_ditto_make);
41
- REGISTER_JS_FUNCTION(ditto_make);
42
- REGISTER_JS_FUNCTION(ditto_shutdown);
43
- REGISTER_JS_FUNCTION(ditto_free);
44
-
45
- // Authentication
46
- REGISTER_JS_FUNCTION(ditto_auth_client_get_app_id);
47
- REGISTER_JS_FUNCTION(ditto_auth_client_is_x509_valid);
48
- REGISTER_JS_FUNCTION(ditto_auth_client_is_web_valid);
49
- REGISTER_JS_FUNCTION(ditto_auth_client_get_site_id);
50
- REGISTER_JS_FUNCTION(ditto_auth_client_set_validity_listener);
51
- REGISTER_JS_FUNCTION(ditto_auth_client_make_login_provider);
52
- REGISTER_JS_FUNCTION(ditto_auth_set_login_provider);
53
- REGISTER_JS_FUNCTION(ditto_auth_client_login_with_token);
54
- REGISTER_JS_FUNCTION(ditto_auth_client_login_with_credentials);
55
- REGISTER_JS_FUNCTION(ditto_auth_client_logout);
56
- REGISTER_JS_FUNCTION(ditto_auth_client_user_id);
57
-
58
- // DQL
59
- REGISTER_JS_FUNCTION(dittoffi_try_experimental_register_change_observer_str_detached);
60
- REGISTER_JS_FUNCTION(dittoffi_try_experimental_add_dql_subscription);
61
- REGISTER_JS_FUNCTION(dittoffi_try_experimental_remove_dql_subscription);
62
- REGISTER_JS_FUNCTION(dittoffi_try_experimental_exec_statement_str);
63
- REGISTER_JS_FUNCTION(ditto_dql_response_result_count);
64
- REGISTER_JS_FUNCTION(ditto_dql_response_result_at);
65
- REGISTER_JS_FUNCTION(ditto_dql_response_affected_document_id_count);
66
- REGISTER_JS_FUNCTION(ditto_dql_response_affected_document_id_at);
67
- REGISTER_JS_FUNCTION(ditto_result_cbor);
68
- REGISTER_JS_FUNCTION(ditto_result_json);
69
-
70
- // Documents
71
- REGISTER_JS_FUNCTION(ditto_document_id_query_compatible);
72
- REGISTER_JS_FUNCTION(ditto_document_id);
73
- REGISTER_JS_FUNCTION(ditto_document_free);
74
- REGISTER_JS_FUNCTION(ditto_document_get_cbor_with_path_type);
75
- REGISTER_JS_FUNCTION(ditto_validate_document_id);
76
-
77
- // Presence
78
- REGISTER_JS_FUNCTION(ditto_presence_v3);
79
- REGISTER_JS_FUNCTION(ditto_register_presence_v3_callback);
80
- REGISTER_JS_FUNCTION(ditto_clear_presence_v3_callback);
81
-
82
- // Attachment
83
- REGISTER_JS_FUNCTION(ditto_cancel_resolve_attachment);
84
- REGISTER_JS_FUNCTION(ditto_free_attachment_handle);
85
- REGISTER_JS_FUNCTION(ditto_get_complete_attachment_path);
86
- REGISTER_JS_FUNCTION(ditto_new_attachment_from_bytes);
87
-
88
- // LiveQuery
89
- REGISTER_JS_FUNCTION(ditto_live_query_start);
90
- REGISTER_JS_FUNCTION(ditto_live_query_stop);
91
- REGISTER_JS_FUNCTION(ditto_live_query_signal_available_next);
92
-
93
- // Collection
94
- REGISTER_JS_FUNCTION(ditto_collection_insert_value);
95
-
96
- // Logger
97
- REGISTER_JS_FUNCTION(ditto_log);
98
- REGISTER_JS_FUNCTION(ditto_logger_set_log_file);
99
- REGISTER_JS_FUNCTION(ditto_logger_minimum_log_level_get);
100
- REGISTER_JS_FUNCTION(ditto_logger_minimum_log_level);
101
- REGISTER_JS_FUNCTION(ditto_logger_emoji_headings_enabled_get);
102
- REGISTER_JS_FUNCTION(ditto_logger_emoji_headings_enabled);
103
- REGISTER_JS_FUNCTION(ditto_logger_enabled_get);
104
- REGISTER_JS_FUNCTION(ditto_logger_enabled);
105
-
106
- // Small Peer Info
107
- REGISTER_JS_FUNCTION(ditto_small_peer_info_set_transport_config_data);
108
- REGISTER_JS_FUNCTION(ditto_small_peer_info_get_is_enabled);
109
- REGISTER_JS_FUNCTION(ditto_small_peer_info_set_enabled);
110
- REGISTER_JS_FUNCTION(ditto_small_peer_info_get_sync_scope);
111
- REGISTER_JS_FUNCTION(ditto_small_peer_info_set_sync_scope);
112
-
113
- // FFI functions
114
- REGISTER_JS_FUNCTION(withOutBoxCBytes);
115
- REGISTER_JS_FUNCTION(sliceBoxedToUInt8Array);
116
-
117
- // Transports
118
- REGISTER_JS_FUNCTION(ditto_sdk_transports_init);
119
- REGISTER_JS_FUNCTION(ditto_sdk_transports_error_new);
120
- REGISTER_JS_FUNCTION(ditto_sdk_transports_error_value);
121
- REGISTER_JS_FUNCTION(ditto_sdk_transports_error_free);
122
- REGISTER_JS_FUNCTION(ditto_sdk_transports_ble_is_available);
123
- REGISTER_JS_FUNCTION(ditto_sdk_transports_ble_create);
124
- REGISTER_JS_FUNCTION(ditto_sdk_transports_ble_destroy);
125
- REGISTER_JS_FUNCTION(ditto_sdk_transports_lan_is_available);
126
- REGISTER_JS_FUNCTION(ditto_sdk_transports_lan_create);
127
- REGISTER_JS_FUNCTION(ditto_sdk_transports_lan_destroy);
128
- REGISTER_JS_FUNCTION(ditto_sdk_transports_awdl_is_available);
129
- REGISTER_JS_FUNCTION(ditto_sdk_transports_awdl_create);
130
- REGISTER_JS_FUNCTION(ditto_sdk_transports_awdl_destroy);
131
- REGISTER_JS_FUNCTION(ditto_add_multicast_transport);
132
- REGISTER_JS_FUNCTION(ditto_remove_multicast_transport);
133
-
134
- // Misc
135
- REGISTER_JS_FUNCTION(ditto_tick);
136
- REGISTER_JS_FUNCTION(ditto_set_connect_retry_interval);
137
- REGISTER_JS_FUNCTION(ditto_set_device_name);
138
- REGISTER_JS_FUNCTION(ditto_get_sdk_version);
139
- REGISTER_JS_FUNCTION(ditto_error_message);
140
- REGISTER_JS_FUNCTION(dittoffi_error_code);
141
- REGISTER_JS_FUNCTION(dittoffi_error_description);
142
- REGISTER_JS_FUNCTION(dittoffi_error_free);
143
- REGISTER_JS_FUNCTION(verify_license);
144
- REGISTER_JS_FUNCTION(ditto_run_garbage_collection);
145
- REGISTER_JS_FUNCTION(ditto_set_static_websocket_clients);
146
- REGISTER_JS_FUNCTION(ditto_set_sync_group);
147
- REGISTER_JS_FUNCTION(refCStringToString);
148
- }
149
- }