@minip2p/react-native 0.7.3 → 0.7.4

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 (44) hide show
  1. package/android/CMakeLists.txt +1 -0
  2. package/android/src/main/jniLibs/arm64-v8a/libminip2p_ffi.so +0 -0
  3. package/android/src/main/jniLibs/x86_64/libminip2p_ffi.so +0 -0
  4. package/build/Minip2pFfi.xcframework/Info.plist +4 -4
  5. package/build/Minip2pFfi.xcframework/ios-arm64/libminip2p_ffi.a +2 -2
  6. package/build/Minip2pFfi.xcframework/ios-arm64-simulator/libminip2p_ffi.a +2 -2
  7. package/cpp/generated/minip2p_ffi_core.cpp +1999 -0
  8. package/cpp/generated/minip2p_ffi_core.hpp +51 -0
  9. package/cpp/react-native-minip2p.cpp +2 -0
  10. package/lib/module/adapter.js +64 -61
  11. package/lib/module/adapter.js.map +1 -1
  12. package/lib/module/generated/minip2p_ffi.js +47 -3284
  13. package/lib/module/generated/minip2p_ffi.js.map +1 -1
  14. package/lib/module/generated/minip2p_ffi_core-ffi.js +20 -0
  15. package/lib/module/generated/minip2p_ffi_core-ffi.js.map +1 -0
  16. package/lib/module/generated/minip2p_ffi_core.js +3342 -0
  17. package/lib/module/generated/minip2p_ffi_core.js.map +1 -0
  18. package/lib/module/low-level.js +1 -0
  19. package/lib/module/low-level.js.map +1 -1
  20. package/lib/module/native.js +5 -1
  21. package/lib/module/native.js.map +1 -1
  22. package/lib/typescript/src/adapter.d.ts.map +1 -1
  23. package/lib/typescript/src/generated/minip2p_ffi.d.ts +2 -3394
  24. package/lib/typescript/src/generated/minip2p_ffi.d.ts.map +1 -1
  25. package/lib/typescript/src/generated/minip2p_ffi_core-ffi.d.ts +67 -0
  26. package/lib/typescript/src/generated/minip2p_ffi_core-ffi.d.ts.map +1 -0
  27. package/lib/typescript/src/generated/minip2p_ffi_core.d.ts +3417 -0
  28. package/lib/typescript/src/generated/minip2p_ffi_core.d.ts.map +1 -0
  29. package/lib/typescript/src/low-level.d.ts +1 -0
  30. package/lib/typescript/src/low-level.d.ts.map +1 -1
  31. package/lib/typescript/src/native.d.ts +3 -0
  32. package/lib/typescript/src/native.d.ts.map +1 -1
  33. package/package.json +4 -4
  34. package/src/adapter.ts +85 -67
  35. package/src/generated/minip2p_ffi.ts +36 -3860
  36. package/src/generated/minip2p_ffi_core-ffi.ts +97 -0
  37. package/src/generated/minip2p_ffi_core.ts +3939 -0
  38. package/src/low-level.ts +1 -0
  39. package/src/native.tsx +4 -0
  40. package/lib/module/event-drain.js +0 -71
  41. package/lib/module/event-drain.js.map +0 -1
  42. package/lib/typescript/src/event-drain.d.ts +0 -10
  43. package/lib/typescript/src/event-drain.d.ts.map +0 -1
  44. package/src/event-drain.ts +0 -80
@@ -0,0 +1,51 @@
1
+ // This file was autogenerated by some hot garbage in the `uniffi-bindgen-react-native` crate.
2
+ // Trust me, you don't want to mess with it!
3
+ #pragma once
4
+ #include <jsi/jsi.h>
5
+ #include <iostream>
6
+ #include <map>
7
+ #include <memory>
8
+ #include <ReactCommon/CallInvoker.h>
9
+ #include "UniffiCallInvoker.h"
10
+
11
+ namespace react = facebook::react;
12
+ namespace jsi = facebook::jsi;
13
+
14
+ class NativeMinip2pFfiCore : public jsi::HostObject {
15
+ private:
16
+ // For calling back into JS from Rust.
17
+ std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker;
18
+
19
+ protected:
20
+ std::map<std::string,jsi::Value> props;
21
+ jsi::Value cpp_uniffi_internal_fn_func_ffi__string_to_byte_length(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
22
+ jsi::Value cpp_uniffi_internal_fn_func_ffi__string_to_buffer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
23
+ jsi::Value cpp_uniffi_internal_fn_func_ffi__string_from_buffer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
24
+ jsi::Value cpp_uniffi_internal_fn_func_ffi__read_string_from_buffer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
25
+ jsi::Value cpp_ffi_minip2p_ffi_core_uniffi_contract_version(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
26
+
27
+ public:
28
+ NativeMinip2pFfiCore(jsi::Runtime &rt, std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker);
29
+ virtual ~NativeMinip2pFfiCore();
30
+
31
+ /**
32
+ * The entry point into the crate.
33
+ *
34
+ * React Native must call `NativeMinip2pFfiCore.registerModule(rt, callInvoker)` before using
35
+ * the Javascript interface.
36
+ */
37
+ static void registerModule(jsi::Runtime &rt, std::shared_ptr<react::CallInvoker> callInvoker);
38
+
39
+ /**
40
+ * Some cleanup into the crate goes here.
41
+ *
42
+ * Current implementation is empty, however, this is not guaranteed to always be the case.
43
+ *
44
+ * Clients should call `NativeMinip2pFfiCore.unregisterModule(rt)` after final use where possible.
45
+ */
46
+ static void unregisterModule(jsi::Runtime &rt);
47
+
48
+ virtual jsi::Value get(jsi::Runtime& rt, const jsi::PropNameID& name);
49
+ virtual void set(jsi::Runtime& rt,const jsi::PropNameID& name,const jsi::Value& value);
50
+ virtual std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& rt);
51
+ };
@@ -1,12 +1,14 @@
1
1
  // Generated by uniffi-bindgen-react-native
2
2
  #include "react-native-minip2p.h"
3
3
  #include "generated/minip2p_ffi.hpp"
4
+ #include "generated/minip2p_ffi_core.hpp"
4
5
 
5
6
  namespace minip2p {
6
7
  using namespace facebook;
7
8
 
8
9
  uint8_t installRustCrate(jsi::Runtime &runtime, std::shared_ptr<react::CallInvoker> callInvoker) {
9
10
  NativeMinip2pFfi::registerModule(runtime, callInvoker);
11
+ NativeMinip2pFfiCore::registerModule(runtime, callInvoker);
10
12
  return true;
11
13
  }
12
14
 
@@ -2,10 +2,9 @@
2
2
 
3
3
  /* oxlint-disable class-methods-use-this, complexity, func-style, max-classes-per-file, no-use-before-define -- The adapter keeps its contract-complete native endpoint and public SDK subclass together, and uses hoisted conversion helpers. */
4
4
 
5
- import { Minip2pBase, StreamClosedError } from "@minip2p/core";
6
- import { P2pEvent_Tags, resolveEndpointConfig, typedFfiError } from "@minip2p/core/backend";
7
- import { EventDrain } from "./event-drain.js";
8
- import { ConnectTarget, P2pEndpoint, circuitAddress as nativeCircuitAddress, generateSecretKey as nativeGenerateSecretKey, peerIdFromSecretKey as nativePeerIdFromSecretKey } from "./native.js";
5
+ import { DiscoverySource, DriverFailureKind, EndpointErrorKind, Minip2pBase, NatErrorKind, Reachability } from "@minip2p/core";
6
+ import { ConnectionIdMap, EventDrain, P2pEvent_Tags, resolveEndpointConfig, typedFfiError, u64ToNumber } from "@minip2p/core/backend";
7
+ import { ConnectTarget, DiscoverySource as NativeDiscoverySource, DriverFailureKind as NativeDriverFailureKind, EndpointErrorKind as NativeEndpointErrorKind, NatErrorKind as NativeNatErrorKind, P2pEndpoint, Reachability as NativeReachability, circuitAddress as nativeCircuitAddress, generateSecretKey as nativeGenerateSecretKey, peerIdFromSecretKey as nativePeerIdFromSecretKey } from "./native.js";
9
8
  import nativeModule from "./NativeMinip2p.js";
10
9
  class ReactNativeBackend {
11
10
  #endpoint;
@@ -101,7 +100,7 @@ class ReactNativeBackend {
101
100
  return translateErrors(() => nativeCircuitAddress(relayAddress, peerId));
102
101
  }
103
102
  reachability() {
104
- return translateErrors(() => this.#endpoint.reachability());
103
+ return sdkName(Reachability, NativeReachability, translateErrors(() => this.#endpoint.reachability()));
105
104
  }
106
105
  isRunning() {
107
106
  return this.#endpoint.isRunning();
@@ -211,61 +210,72 @@ export function circuitAddress(relayAddress, peerId) {
211
210
  }
212
211
 
213
212
  /**
214
- * Maps native `u64` connection identities to small public numbers.
215
- *
216
- * Native connection IDs span the full `u64` range, so they cannot round-trip
217
- * through a JavaScript `number`. Each endpoint owns one map so a native ID
218
- * resolves to the same public ID in events and synchronous results. An entry
219
- * is released once its `ConnectionClosed`, or the `ConnectionReplaced` that
220
- * retires it, is normalized, which bounds the map by live connections. Public
221
- * numbers come from a counter that never repeats, so an event arriving after
222
- * the release gets a fresh number instead of aliasing a live connection.
223
- * Stream operations map the public ID back to native. Stream and
224
- * connect-attempt IDs are not mapped because native allocates them well
225
- * inside the safe integer range.
213
+ * A generated UniFFI enum: numeric members plus TypeScript's reverse mapping
214
+ * from each number to its variant name.
226
215
  */
227
- class ConnectionIdMap {
228
- #publicByNative = new Map();
229
- #nativeByPublic = new Map();
230
- #next = 1;
231
- toPublic(native) {
232
- const existing = this.#publicByNative.get(native);
233
- if (existing !== undefined) {
234
- return existing;
235
- }
236
- const publicId = this.#next;
237
- this.#next += 1;
238
- this.#publicByNative.set(native, publicId);
239
- this.#nativeByPublic.set(publicId, native);
240
- return publicId;
241
- }
242
216
 
243
- /**
244
- * The native ID behind a public one. Stream operations pass it back so
245
- * native rejects a stream whose connection it already replaced. A released
246
- * connection throws `StreamClosedError`: its stream operation can run after
247
- * the release but before the SDK dispatches the ending event.
248
- */
249
- toNative(publicId) {
250
- const native = this.#nativeByPublic.get(publicId);
251
- if (native === undefined) {
252
- throw new StreamClosedError("The stream's connection ended");
253
- }
254
- return native;
255
- }
256
- release(publicId) {
257
- const native = this.#nativeByPublic.get(publicId);
258
- if (native !== undefined) {
259
- this.#nativeByPublic.delete(publicId);
260
- this.#publicByNative.delete(native);
261
- }
217
+ /** An SDK enum: each variant name maps to itself. */
218
+
219
+ /**
220
+ * The SDK name of a generated enum value. UniFFI numbers flat enums while
221
+ * the SDK uses the Rust variant names, so this goes through the generated
222
+ * reverse mapping rather than a parallel numeric table.
223
+ */
224
+ function sdkName(names, native, value) {
225
+ const name = native[value];
226
+ const isName = candidate => Object.hasOwn(names, candidate);
227
+ if (name === undefined || !isName(name)) {
228
+ throw new TypeError(`The native endpoint returned an unknown enum ${value}`);
262
229
  }
230
+ return names[name];
263
231
  }
232
+
233
+ /** Event fields carrying a generated enum, with its SDK counterpart. */
234
+ const ENUM_FIELDS = {
235
+ ConnectFailed: {
236
+ kind: [NatErrorKind, NativeNatErrorKind]
237
+ },
238
+ DiscoveryProtocolViolation: {
239
+ source: [DiscoverySource, NativeDiscoverySource]
240
+ },
241
+ DriverFailed: {
242
+ kind: [DriverFailureKind, NativeDriverFailureKind]
243
+ },
244
+ EndpointError: {
245
+ kind: [EndpointErrorKind, NativeEndpointErrorKind]
246
+ },
247
+ PeerDiscovered: {
248
+ source: [DiscoverySource, NativeDiscoverySource]
249
+ },
250
+ PeerUpdated: {
251
+ source: [DiscoverySource, NativeDiscoverySource]
252
+ },
253
+ ReachabilityChanged: {
254
+ current: [Reachability, NativeReachability],
255
+ previous: [Reachability, NativeReachability]
256
+ }
257
+ };
264
258
  function normalizeEvent(event, connectionIds) {
265
- const normalized = normalizeBigInts({
266
- inner: event.inner,
259
+ const inner = normalizeBigInts(event.inner, connectionIds);
260
+ if (inner === null || typeof inner !== "object") {
261
+ throw new TypeError("The native endpoint returned an invalid event");
262
+ }
263
+ const enumFields = Object.entries(ENUM_FIELDS[event.tag] ?? {}).map(([field, [names, native]]) => {
264
+ const value = Reflect.get(inner, field);
265
+ if (typeof value !== "number") {
266
+ throw new TypeError(`The native ${event.tag} has an invalid ${field}`);
267
+ }
268
+ return [field, sdkName(names, native, value)];
269
+ });
270
+ // The generated event and the SDK event share one shape (see the
271
+ // `minip2p-ffi-core` UniFFI derives) once integers and enums are converted.
272
+ const normalized = {
273
+ inner: {
274
+ ...inner,
275
+ ...Object.fromEntries(enumFields)
276
+ },
267
277
  tag: event.tag
268
- }, connectionIds);
278
+ };
269
279
  if (normalized.tag === P2pEvent_Tags.ConnectionClosed) {
270
280
  connectionIds.release(normalized.inner.connId);
271
281
  } else if (normalized.tag === P2pEvent_Tags.ConnectionReplaced) {
@@ -316,13 +326,6 @@ function numberToU64(value, name) {
316
326
  assertSafeUnsignedInteger(value, name);
317
327
  return BigInt(value);
318
328
  }
319
- function u64ToNumber(value, name) {
320
- const number = Number(value);
321
- if (!Number.isSafeInteger(number) || number < 0) {
322
- throw new RangeError(`${name} exceeds JavaScript's safe integer range`);
323
- }
324
- return number;
325
- }
326
329
  function assertSafeUnsignedInteger(value, name) {
327
330
  if (!Number.isSafeInteger(value) || value < 0) {
328
331
  throw new RangeError(`${name} must be a non-negative safe integer`);
@@ -1 +1 @@
1
- {"version":3,"names":["Minip2pBase","StreamClosedError","P2pEvent_Tags","resolveEndpointConfig","typedFfiError","EventDrain","ConnectTarget","P2pEndpoint","circuitAddress","nativeCircuitAddress","generateSecretKey","nativeGenerateSecretKey","peerIdFromSecretKey","nativePeerIdFromSecretKey","nativeModule","ReactNativeBackend","endpoint","mdnsEnabled","connectionIds","ConnectionIdMap","doorbell","events","constructor","config","mdns","undefined","setMdnsEnabled","translateErrors","toArrayBuffer","secretKey","error","start","listener","limit","drainEvents","event","normalizeEvent","onEventsReady","ring","close","stop","uniffiDestroy","peerId","listenAddrs","connectedPeers","isPeerReady","peerInfo","info","normalizeIdentifyInfo","knownPeers","map","normalizeKnownPeer","discoveryNowMs","now","u64ToNumber","activeReservation","reservation","normalizeReservation","path","normalizeBigInts","connectionInfo","connId","toPublic","remoteAddr","readyProtocols","relayAddress","reachability","isRunning","setActive","active","subscribe","topic","unsubscribe","publish","data","ping","addProtocol","protocolId","openStream","result","streamId","sendStream","toNative","numberToU64","closeStreamWrite","resetStream","abandonStream","connect","target","native","kind","Peer","Addresses","addresses","cancelConnect","id","disconnect","backendFactory","create","Uint8Array","Minip2p","backend","relays","publicByNative","Map","nativeByPublic","next","existing","get","publicId","set","release","delete","normalized","inner","tag","ConnectionClosed","ConnectionReplaced","oldConnId","peer","CONNECTION_ID_KEYS","Set","value","key","has","ArrayBuffer","Array","isArray","item","Object","fromEntries","entries","itemKey","from","buffer","name","assertSafeUnsignedInteger","BigInt","number","Number","isSafeInteger","RangeError","operation","getErrorTag","getErrorDetail","detail"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DiscoverySource","DriverFailureKind","EndpointErrorKind","Minip2pBase","NatErrorKind","Reachability","ConnectionIdMap","EventDrain","P2pEvent_Tags","resolveEndpointConfig","typedFfiError","u64ToNumber","ConnectTarget","NativeDiscoverySource","NativeDriverFailureKind","NativeEndpointErrorKind","NativeNatErrorKind","P2pEndpoint","NativeReachability","circuitAddress","nativeCircuitAddress","generateSecretKey","nativeGenerateSecretKey","peerIdFromSecretKey","nativePeerIdFromSecretKey","nativeModule","ReactNativeBackend","endpoint","mdnsEnabled","connectionIds","doorbell","events","constructor","config","mdns","undefined","setMdnsEnabled","translateErrors","toArrayBuffer","secretKey","error","start","listener","limit","drainEvents","event","normalizeEvent","onEventsReady","ring","close","stop","uniffiDestroy","peerId","listenAddrs","connectedPeers","isPeerReady","peerInfo","info","normalizeIdentifyInfo","knownPeers","map","normalizeKnownPeer","discoveryNowMs","now","activeReservation","reservation","normalizeReservation","path","normalizeBigInts","connectionInfo","connId","toPublic","remoteAddr","readyProtocols","relayAddress","reachability","sdkName","isRunning","setActive","active","subscribe","topic","unsubscribe","publish","data","ping","addProtocol","protocolId","openStream","result","streamId","sendStream","toNative","numberToU64","closeStreamWrite","resetStream","abandonStream","connect","target","native","kind","Peer","Addresses","addresses","cancelConnect","id","disconnect","backendFactory","create","Uint8Array","Minip2p","backend","relays","names","value","name","isName","candidate","Object","hasOwn","TypeError","ENUM_FIELDS","ConnectFailed","DiscoveryProtocolViolation","source","DriverFailed","EndpointError","PeerDiscovered","PeerUpdated","ReachabilityChanged","current","previous","inner","enumFields","entries","tag","field","Reflect","get","normalized","fromEntries","ConnectionClosed","release","ConnectionReplaced","oldConnId","peer","CONNECTION_ID_KEYS","Set","key","has","ArrayBuffer","Array","isArray","item","itemKey","from","buffer","assertSafeUnsignedInteger","BigInt","Number","isSafeInteger","RangeError","operation","getErrorTag","getErrorDetail","detail"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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","ignoreList":[]}