@minip2p/react-native 0.8.2 → 0.9.1

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.
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/build/Minip2pFfi.xcframework/ios-arm64/libminip2p_ffi.a
3
- size: 36622832 bytes
4
- sha256: ff40d8e09edee6d949ebe7c2656150d1a32c02adb0d9e267f2c7026153de2004
3
+ size: 37393040 bytes
4
+ sha256: 4f3090d0ae272d4859e4b7e974c5d19b569d6270793bef20a586107a384bdc63
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/build/Minip2pFfi.xcframework/ios-arm64-simulator/libminip2p_ffi.a
3
- size: 36608872 bytes
4
- sha256: 7b46f5bed2c117e9d9362c8ab54cf67cbffd333baa868cb9c413e32cc81dfaf9
3
+ size: 37375488 bytes
4
+ sha256: 608f7d8298445369a733cd5d902cdb7cb75900ff0906192a37e6206f574afb53
@@ -168,7 +168,6 @@ extern "C" {
168
168
  );
169
169
  void uniffi_minip2p_ffi_fn_method_p2pendpoint_abandon_stream(
170
170
  /*handle*/ uint64_t ptr,
171
- RustBuffer peer_id,
172
171
  uint64_t conn_id,
173
172
  uint64_t stream_id,
174
173
  RustCallStatus *uniffi_out_err
@@ -189,7 +188,6 @@ extern "C" {
189
188
  );
190
189
  void uniffi_minip2p_ffi_fn_method_p2pendpoint_close_stream_write(
191
190
  /*handle*/ uint64_t ptr,
192
- RustBuffer peer_id,
193
191
  uint64_t conn_id,
194
192
  uint64_t stream_id,
195
193
  RustCallStatus *uniffi_out_err
@@ -276,14 +274,12 @@ extern "C" {
276
274
  );
277
275
  void uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_stream(
278
276
  /*handle*/ uint64_t ptr,
279
- RustBuffer peer_id,
280
277
  uint64_t conn_id,
281
278
  uint64_t stream_id,
282
279
  RustCallStatus *uniffi_out_err
283
280
  );
284
281
  int8_t uniffi_minip2p_ffi_fn_method_p2pendpoint_send_stream(
285
282
  /*handle*/ uint64_t ptr,
286
- RustBuffer peer_id,
287
283
  uint64_t conn_id,
288
284
  uint64_t stream_id,
289
285
  RustBuffer data,
@@ -2567,7 +2563,7 @@ NativeMinip2pFfi::NativeMinip2pFfi(
2567
2563
  props["ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_abandon_stream"] = jsi::Function::createFromHostFunction(
2568
2564
  rt,
2569
2565
  jsi::PropNameID::forAscii(rt, "ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_abandon_stream"),
2570
- 4,
2566
+ 3,
2571
2567
  [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
2572
2568
  return this->cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_abandon_stream(rt, thisVal, args, count);
2573
2569
  }
@@ -2599,7 +2595,7 @@ NativeMinip2pFfi::NativeMinip2pFfi(
2599
2595
  props["ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_close_stream_write"] = jsi::Function::createFromHostFunction(
2600
2596
  rt,
2601
2597
  jsi::PropNameID::forAscii(rt, "ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_close_stream_write"),
2602
- 4,
2598
+ 3,
2603
2599
  [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
2604
2600
  return this->cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_close_stream_write(rt, thisVal, args, count);
2605
2601
  }
@@ -2743,7 +2739,7 @@ NativeMinip2pFfi::NativeMinip2pFfi(
2743
2739
  props["ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_stream"] = jsi::Function::createFromHostFunction(
2744
2740
  rt,
2745
2741
  jsi::PropNameID::forAscii(rt, "ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_stream"),
2746
- 4,
2742
+ 3,
2747
2743
  [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
2748
2744
  return this->cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_stream(rt, thisVal, args, count);
2749
2745
  }
@@ -2751,7 +2747,7 @@ NativeMinip2pFfi::NativeMinip2pFfi(
2751
2747
  props["ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_send_stream"] = jsi::Function::createFromHostFunction(
2752
2748
  rt,
2753
2749
  jsi::PropNameID::forAscii(rt, "ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_send_stream"),
2754
- 5,
2750
+ 4,
2755
2751
  [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
2756
2752
  return this->cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_send_stream(rt, thisVal, args, count);
2757
2753
  }
@@ -3403,7 +3399,7 @@ jsi::Value NativeMinip2pFfi::cpp_uniffi_minip2p_ffi_fn_constructor_p2pendpoint_n
3403
3399
  }
3404
3400
  jsi::Value NativeMinip2pFfi::cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_abandon_stream(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
3405
3401
  RustCallStatus status = uniffi::minip2p_ffi::Bridging<RustCallStatus>::rustSuccess(rt);
3406
- uniffi_minip2p_ffi_fn_method_p2pendpoint_abandon_stream(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::minip2p_ffi::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[3]),
3402
+ uniffi_minip2p_ffi_fn_method_p2pendpoint_abandon_stream(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]),
3407
3403
  &status
3408
3404
  );
3409
3405
  uniffi::minip2p_ffi::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);
@@ -3443,7 +3439,7 @@ jsi::Value NativeMinip2pFfi::cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_cancel
3443
3439
  }
3444
3440
  jsi::Value NativeMinip2pFfi::cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_close_stream_write(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
3445
3441
  RustCallStatus status = uniffi::minip2p_ffi::Bridging<RustCallStatus>::rustSuccess(rt);
3446
- uniffi_minip2p_ffi_fn_method_p2pendpoint_close_stream_write(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::minip2p_ffi::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[3]),
3442
+ uniffi_minip2p_ffi_fn_method_p2pendpoint_close_stream_write(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]),
3447
3443
  &status
3448
3444
  );
3449
3445
  uniffi::minip2p_ffi::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);
@@ -3623,7 +3619,7 @@ jsi::Value NativeMinip2pFfi::cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_reacha
3623
3619
  }
3624
3620
  jsi::Value NativeMinip2pFfi::cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_stream(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
3625
3621
  RustCallStatus status = uniffi::minip2p_ffi::Bridging<RustCallStatus>::rustSuccess(rt);
3626
- uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_stream(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::minip2p_ffi::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[3]),
3622
+ uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_stream(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]),
3627
3623
  &status
3628
3624
  );
3629
3625
  uniffi::minip2p_ffi::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);
@@ -3633,7 +3629,7 @@ jsi::Value NativeMinip2pFfi::cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_
3633
3629
  }
3634
3630
  jsi::Value NativeMinip2pFfi::cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_send_stream(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
3635
3631
  RustCallStatus status = uniffi::minip2p_ffi::Bridging<RustCallStatus>::rustSuccess(rt);
3636
- auto value = uniffi_minip2p_ffi_fn_method_p2pendpoint_send_stream(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::minip2p_ffi::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[3]), uniffi::minip2p_ffi::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[4]),
3632
+ auto value = uniffi_minip2p_ffi_fn_method_p2pendpoint_send_stream(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]), uniffi::minip2p_ffi::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[3]),
3637
3633
  &status
3638
3634
  );
3639
3635
  uniffi::minip2p_ffi::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);
@@ -2,14 +2,16 @@
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 { 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";
5
+ import { DiscoverySource, DriverFailureKind, EndpointErrorKind, MdnsFailureKind, Minip2pBase, NatErrorKind, Reachability } from "@minip2p/core";
6
+ import { ConnectionIdMap, EventDrain, P2pEvent_Tags, SettleHandles, eventStream, resolveEndpointConfig, typedFfiError, u64ToNumber } from "@minip2p/core/backend";
7
+ import { ConfigCapability as NativeConfigCapability, ConnectTarget, DiscoverySource as NativeDiscoverySource, DriverFailureKind as NativeDriverFailureKind, EndpointErrorKind as NativeEndpointErrorKind, MdnsFailureKind as NativeMdnsFailureKind, NatErrorKind as NativeNatErrorKind, P2pEndpoint, Reachability as NativeReachability, circuitAddress as nativeCircuitAddress, generateSecretKey as nativeGenerateSecretKey, peerIdFromSecretKey as nativePeerIdFromSecretKey } from "./native.js";
8
8
  import nativeModule from "./NativeMinip2p.js";
9
9
  class ReactNativeBackend {
10
10
  #endpoint;
11
11
  #mdnsEnabled;
12
12
  #connectionIds = new ConnectionIdMap();
13
+ /** Native stream identities while their events are in flight (ADR 0012). */
14
+ #settleHandles = new SettleHandles();
13
15
  #doorbell;
14
16
  #events;
15
17
  constructor(config) {
@@ -27,7 +29,15 @@ class ReactNativeBackend {
27
29
  }
28
30
  }
29
31
  start(listener) {
30
- this.#events = new EventDrain(limit => this.#endpoint.drainEvents(limit), event => listener(normalizeEvent(event, this.#connectionIds)));
32
+ this.#events = new EventDrain(limit => this.#endpoint.drainEvents(limit), event => {
33
+ const normalized = normalizeEvent(event, this.#connectionIds);
34
+ const stream = eventStream(normalized);
35
+ const native = nativeStreamOf(event);
36
+ if (stream !== undefined && native !== undefined) {
37
+ this.#settleHandles.hold(stream.connId, stream.streamId, native);
38
+ }
39
+ listener(normalized);
40
+ });
31
41
  this.#doorbell = {
32
42
  onEventsReady: () => {
33
43
  this.#events?.ring();
@@ -37,6 +47,12 @@ class ReactNativeBackend {
37
47
  this.#endpoint.start(this.#doorbell);
38
48
  });
39
49
  }
50
+ eventHandled(event) {
51
+ const stream = eventStream(event);
52
+ if (stream !== undefined) {
53
+ this.#settleHandles.release(stream.connId, stream.streamId);
54
+ }
55
+ }
40
56
  close() {
41
57
  try {
42
58
  this.#endpoint.stop();
@@ -136,33 +152,51 @@ class ReactNativeBackend {
136
152
  streamId: u64ToNumber(result.streamId, "streamId")
137
153
  };
138
154
  }
139
- sendStream(peerId, connId, streamId, data) {
140
- return translateErrors(() => this.#endpoint.sendStream(peerId, this.#connectionIds.toNative(connId), numberToU64(streamId, "streamId"), toArrayBuffer(data)));
155
+ sendStream(connId, streamId, data) {
156
+ return translateErrors(() => this.#endpoint.sendStream(this.#connectionIds.toNative(connId), numberToU64(streamId, "streamId"), toArrayBuffer(data)));
141
157
  }
142
- closeStreamWrite(peerId, connId, streamId) {
158
+ closeStreamWrite(connId, streamId) {
143
159
  translateErrors(() => {
144
- this.#endpoint.closeStreamWrite(peerId, this.#connectionIds.toNative(connId), numberToU64(streamId, "streamId"));
160
+ this.#endpoint.closeStreamWrite(this.#connectionIds.toNative(connId), numberToU64(streamId, "streamId"));
145
161
  });
146
162
  }
147
- resetStream(peerId, connId, streamId) {
163
+ resetStream(connId, streamId) {
148
164
  translateErrors(() => {
149
- this.#endpoint.resetStream(peerId, this.#connectionIds.toNative(connId), numberToU64(streamId, "streamId"));
165
+ this.#endpoint.resetStream(this.#connectionIds.toNative(connId), numberToU64(streamId, "streamId"));
150
166
  });
151
167
  }
152
- abandonStream(peerId, connId, streamId) {
168
+ abandonStream(connId, streamId) {
153
169
  translateErrors(() => {
154
- this.#endpoint.abandonStream(peerId, this.#connectionIds.toNative(connId), numberToU64(streamId, "streamId"));
170
+ this.#endpoint.abandonStream(...this.#settleStream(connId, streamId));
155
171
  });
156
172
  }
157
173
  streamConsumer(connId, streamId) {
158
- const nativeConn = this.#connectionIds.toNative(connId);
159
- const nativeStream = numberToU64(streamId, "streamId");
174
+ const [nativeConn, nativeStream] = this.#settleStream(connId, streamId);
160
175
  return bytes => {
161
176
  translateErrors(() => {
162
177
  this.#endpoint.streamConsumed(nativeConn, nativeStream, numberToU64(bytes, "bytes"));
163
178
  });
164
179
  };
165
180
  }
181
+
182
+ /**
183
+ * Native IDs for settling a stream: acknowledging or abandoning its bytes.
184
+ * Those still hold the native slot of a connection whose end this adapter
185
+ * already drained, so a stream with events in flight resolves through its
186
+ * settle handle once the live mapping is gone.
187
+ */
188
+ #settleStream(connId, streamId) {
189
+ const nativeStream = numberToU64(streamId, "streamId");
190
+ try {
191
+ return [this.#connectionIds.toNative(connId), nativeStream];
192
+ } catch (error) {
193
+ const handle = this.#settleHandles.get(connId, streamId);
194
+ if (handle === undefined) {
195
+ throw error;
196
+ }
197
+ return handle;
198
+ }
199
+ }
166
200
  connect(target) {
167
201
  const native = target.kind === "peer" ? new ConnectTarget.Peer({
168
202
  peerId: target.peerId
@@ -251,6 +285,9 @@ const ENUM_FIELDS = {
251
285
  EndpointError: {
252
286
  kind: [EndpointErrorKind, NativeEndpointErrorKind]
253
287
  },
288
+ MdnsFailed: {
289
+ kind: [MdnsFailureKind, NativeMdnsFailureKind]
290
+ },
254
291
  PeerDiscovered: {
255
292
  source: [DiscoverySource, NativeDiscoverySource]
256
293
  },
@@ -265,8 +302,9 @@ const ENUM_FIELDS = {
265
302
 
266
303
  /**
267
304
  * Converts one native event to its SDK form. Per-chunk and per-write
268
- * events, and pubsub messages, convert field by field; the rest share the
269
- * generic walk, plus their enum fields.
305
+ * events, and pubsub messages, convert field by field, and a field-less
306
+ * event passes through by tag; the rest share the generic walk, plus their
307
+ * enum fields.
270
308
  */
271
309
  function normalizeEvent(event, connectionIds) {
272
310
  switch (event.tag) {
@@ -296,6 +334,12 @@ function normalizeEvent(event, connectionIds) {
296
334
  tag: event.tag
297
335
  };
298
336
  }
337
+ case P2pEvent_Tags.MdnsRecovered:
338
+ {
339
+ return {
340
+ tag: event.tag
341
+ };
342
+ }
299
343
  default:
300
344
  {
301
345
  return normalizeGenericEvent(event, connectionIds);
@@ -303,6 +347,25 @@ function normalizeEvent(event, connectionIds) {
303
347
  }
304
348
  }
305
349
 
350
+ /** The native identity of the stream a native stream event names. */
351
+ function nativeStreamOf(event) {
352
+ switch (event.tag) {
353
+ case P2pEvent_Tags.StreamReady:
354
+ case P2pEvent_Tags.StreamData:
355
+ case P2pEvent_Tags.StreamWriteAccepted:
356
+ case P2pEvent_Tags.StreamWriteStopped:
357
+ case P2pEvent_Tags.StreamRemoteWriteClosed:
358
+ case P2pEvent_Tags.StreamClosed:
359
+ {
360
+ return [event.inner.connId, event.inner.streamId];
361
+ }
362
+ default:
363
+ {
364
+ return undefined;
365
+ }
366
+ }
367
+ }
368
+
306
369
  /** The public identity of the stream a native stream event names. */
307
370
  function streamRef(inner, connectionIds) {
308
371
  return {
@@ -312,7 +375,10 @@ function streamRef(inner, connectionIds) {
312
375
  };
313
376
  }
314
377
  function normalizeGenericEvent(event, connectionIds) {
315
- const inner = normalizeBigInts(event.inner, connectionIds);
378
+ const inner = normalizeBigInts(event.inner, {
379
+ connectionIds,
380
+ tag: event.tag
381
+ });
316
382
  if (inner === null || typeof inner !== "object") {
317
383
  throw new TypeError("The native endpoint returned an invalid event");
318
384
  }
@@ -352,27 +418,32 @@ function normalizeReservation(reservation) {
352
418
  /** Event fields carrying a native connection ID. */
353
419
  const CONNECTION_ID_KEYS = new Set(["connId", "oldConnId", "newConnId"]);
354
420
 
421
+ /** The endpoint's connection map and the native event a value belongs to. */
422
+
355
423
  /**
356
- * Converts native `bigint` fields to numbers. Connection ID fields go through
357
- * the endpoint's connection map when one is supplied; every other `u64` keeps
358
- * the checked conversion.
424
+ * Converts native `bigint` fields to numbers. Connection ID fields of an
425
+ * event go through the endpoint's connection map; every other `u64` keeps the
426
+ * checked conversion.
359
427
  */
360
- function normalizeBigInts(value, connectionIds, key) {
428
+ function normalizeBigInts(value, event, key) {
361
429
  if (typeof value === "bigint") {
362
430
  // A QUIC stop code is a 62-bit varint the remote picks: keep it whole.
363
431
  if (key === "errorCode") {
364
432
  return value;
365
433
  }
366
- return key !== undefined && CONNECTION_ID_KEYS.has(key) && connectionIds !== undefined ? connectionIds.toPublic(value) : u64ToNumber(value, "native u64");
434
+ if (key === undefined || !CONNECTION_ID_KEYS.has(key) || !event) {
435
+ return u64ToNumber(value, "native u64");
436
+ }
437
+ return event.connectionIds.toPublicInEvent(event.tag, key, value);
367
438
  }
368
439
  if (value instanceof ArrayBuffer) {
369
440
  return value;
370
441
  }
371
442
  if (Array.isArray(value)) {
372
- return value.map(item => normalizeBigInts(item, connectionIds));
443
+ return value.map(item => normalizeBigInts(item, event));
373
444
  }
374
445
  if (value !== null && typeof value === "object") {
375
- return Object.fromEntries(Object.entries(value).map(([itemKey, item]) => [itemKey, normalizeBigInts(item, connectionIds, itemKey)]));
446
+ return Object.fromEntries(Object.entries(value).map(([itemKey, item]) => [itemKey, normalizeBigInts(item, event, itemKey)]));
376
447
  }
377
448
  return value;
378
449
  }
@@ -400,20 +471,34 @@ function assertSafeUnsignedInteger(value, name) {
400
471
  throw new RangeError(`${name} must be a non-negative safe integer`);
401
472
  }
402
473
  }
474
+
475
+ /** Rethrows a generated `FfiError` as its typed SDK error, if it has one. */
403
476
  function translateErrors(operation) {
404
477
  try {
405
478
  return operation();
406
479
  } catch (error) {
407
- throw typedFfiError(getErrorTag(error), getErrorDetail(error)) ?? error;
480
+ throw typedFfiError(nativeErrorFields(error)) ?? error;
408
481
  }
409
482
  }
410
- function getErrorTag(error) {
411
- return typeof error === "object" && error !== null && "tag" in error && typeof error.tag === "string" ? error.tag : undefined;
412
- }
413
- function getErrorDetail(error) {
414
- if (typeof error === "object" && error !== null && "inner" in error && typeof error.inner === "object" && error.inner !== null && "detail" in error.inner && typeof error.inner.detail === "string") {
415
- return error.inner.detail;
416
- }
417
- return undefined;
483
+
484
+ /**
485
+ * Reads a generated `FfiError`'s tag and inner fields. An `InvalidConfig`
486
+ * capability is a numeric UniFFI enum, so it goes through the generated
487
+ * reverse mapping to its variant name, as event enums do.
488
+ */
489
+ function nativeErrorFields(error) {
490
+ if (typeof error !== "object" || error === null) {
491
+ return {};
492
+ }
493
+ const tag = Reflect.get(error, "tag");
494
+ const inner = Reflect.get(error, "inner");
495
+ const field = key => typeof inner === "object" && inner !== null ? Reflect.get(inner, key) : undefined;
496
+ const detail = field("detail");
497
+ const capability = field("capability");
498
+ return {
499
+ capability: typeof capability === "number" ? NativeConfigCapability[capability] : undefined,
500
+ detail: typeof detail === "string" ? detail : undefined,
501
+ tag: typeof tag === "string" ? tag : undefined
502
+ };
418
503
  }
419
504
  //# sourceMappingURL=adapter.js.map
@@ -1 +1 @@
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","streamConsumer","nativeConn","nativeStream","bytes","streamConsumed","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","tag","StreamData","inner","streamRef","StreamWriteAccepted","StreamRemoteWriteClosed","StreamClosed","Message","normalizeGenericEvent","enumFields","entries","field","Reflect","get","normalized","fromEntries","ConnectionClosed","release","ConnectionReplaced","oldConnId","peer","CONNECTION_ID_KEYS","Set","key","has","ArrayBuffer","Array","isArray","item","itemKey","buffer","byteOffset","byteLength","assertSafeUnsignedInteger","BigInt","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","MdnsFailureKind","Minip2pBase","NatErrorKind","Reachability","ConnectionIdMap","EventDrain","P2pEvent_Tags","SettleHandles","eventStream","resolveEndpointConfig","typedFfiError","u64ToNumber","ConfigCapability","NativeConfigCapability","ConnectTarget","NativeDiscoverySource","NativeDriverFailureKind","NativeEndpointErrorKind","NativeMdnsFailureKind","NativeNatErrorKind","P2pEndpoint","NativeReachability","circuitAddress","nativeCircuitAddress","generateSecretKey","nativeGenerateSecretKey","peerIdFromSecretKey","nativePeerIdFromSecretKey","nativeModule","ReactNativeBackend","endpoint","mdnsEnabled","connectionIds","settleHandles","doorbell","events","constructor","config","mdns","undefined","setMdnsEnabled","translateErrors","toArrayBuffer","secretKey","error","start","listener","limit","drainEvents","event","normalized","normalizeEvent","stream","native","nativeStreamOf","hold","connId","streamId","onEventsReady","ring","eventHandled","release","close","stop","uniffiDestroy","peerId","listenAddrs","connectedPeers","isPeerReady","peerInfo","info","normalizeIdentifyInfo","knownPeers","map","normalizeKnownPeer","discoveryNowMs","now","activeReservation","reservation","normalizeReservation","path","normalizeBigInts","connectionInfo","toPublic","remoteAddr","readyProtocols","relayAddress","reachability","sdkName","isRunning","setActive","active","subscribe","topic","unsubscribe","publish","data","ping","addProtocol","protocolId","openStream","result","sendStream","toNative","numberToU64","closeStreamWrite","resetStream","abandonStream","settleStream","streamConsumer","nativeConn","nativeStream","bytes","streamConsumed","#settleStream","handle","get","connect","target","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","MdnsFailed","PeerDiscovered","PeerUpdated","ReachabilityChanged","current","previous","tag","StreamData","inner","streamRef","StreamWriteAccepted","StreamRemoteWriteClosed","StreamClosed","Message","MdnsRecovered","normalizeGenericEvent","StreamReady","StreamWriteStopped","enumFields","entries","field","Reflect","fromEntries","ConnectionClosed","ConnectionReplaced","oldConnId","peer","CONNECTION_ID_KEYS","Set","key","has","toPublicInEvent","ArrayBuffer","Array","isArray","item","itemKey","buffer","byteOffset","byteLength","assertSafeUnsignedInteger","BigInt","Number","isSafeInteger","RangeError","operation","nativeErrorFields","detail","capability"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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","ignoreList":[]}
@@ -245,9 +245,9 @@ export class P2pEndpoint extends UniffiAbstractObject {
245
245
  /**
246
246
  * Forgets a stream.
247
247
  */
248
- abandonStream(peerId, connId, streamId) /*throws*/{
248
+ abandonStream(connId, streamId) /*throws*/{
249
249
  uniffiCaller.rustCallWithError(/*liftError:*/FfiConverterTypeFfiError.lift.bind(FfiConverterTypeFfiError), /*caller:*/callStatus => {
250
- nativeModule().ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_abandon_stream(uniffiTypeP2pEndpointObjectFactory.clonePointer(this), FfiConverterString.lower(peerId, nativeModule().rustbuffer_alloc), FfiConverterUInt64.lower(connId, nativeModule().rustbuffer_alloc), FfiConverterUInt64.lower(streamId, nativeModule().rustbuffer_alloc), callStatus);
250
+ nativeModule().ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_abandon_stream(uniffiTypeP2pEndpointObjectFactory.clonePointer(this), FfiConverterUInt64.lower(connId, nativeModule().rustbuffer_alloc), FfiConverterUInt64.lower(streamId, nativeModule().rustbuffer_alloc), callStatus);
251
251
  }, /*liftString:*/FfiConverterString.lift.bind(FfiConverterString));
252
252
  }
253
253
 
@@ -286,9 +286,9 @@ export class P2pEndpoint extends UniffiAbstractObject {
286
286
  /**
287
287
  * Half-closes a stream's write side.
288
288
  */
289
- closeStreamWrite(peerId, connId, streamId) /*throws*/{
289
+ closeStreamWrite(connId, streamId) /*throws*/{
290
290
  uniffiCaller.rustCallWithError(/*liftError:*/FfiConverterTypeFfiError.lift.bind(FfiConverterTypeFfiError), /*caller:*/callStatus => {
291
- nativeModule().ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_close_stream_write(uniffiTypeP2pEndpointObjectFactory.clonePointer(this), FfiConverterString.lower(peerId, nativeModule().rustbuffer_alloc), FfiConverterUInt64.lower(connId, nativeModule().rustbuffer_alloc), FfiConverterUInt64.lower(streamId, nativeModule().rustbuffer_alloc), callStatus);
291
+ nativeModule().ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_close_stream_write(uniffiTypeP2pEndpointObjectFactory.clonePointer(this), FfiConverterUInt64.lower(connId, nativeModule().rustbuffer_alloc), FfiConverterUInt64.lower(streamId, nativeModule().rustbuffer_alloc), callStatus);
292
292
  }, /*liftString:*/FfiConverterString.lift.bind(FfiConverterString));
293
293
  }
294
294
 
@@ -503,9 +503,9 @@ export class P2pEndpoint extends UniffiAbstractObject {
503
503
  /**
504
504
  * Resets a stream.
505
505
  */
506
- resetStream(peerId, connId, streamId) /*throws*/{
506
+ resetStream(connId, streamId) /*throws*/{
507
507
  uniffiCaller.rustCallWithError(/*liftError:*/FfiConverterTypeFfiError.lift.bind(FfiConverterTypeFfiError), /*caller:*/callStatus => {
508
- nativeModule().ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_stream(uniffiTypeP2pEndpointObjectFactory.clonePointer(this), FfiConverterString.lower(peerId, nativeModule().rustbuffer_alloc), FfiConverterUInt64.lower(connId, nativeModule().rustbuffer_alloc), FfiConverterUInt64.lower(streamId, nativeModule().rustbuffer_alloc), callStatus);
508
+ nativeModule().ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_stream(uniffiTypeP2pEndpointObjectFactory.clonePointer(this), FfiConverterUInt64.lower(connId, nativeModule().rustbuffer_alloc), FfiConverterUInt64.lower(streamId, nativeModule().rustbuffer_alloc), callStatus);
509
509
  }, /*liftString:*/FfiConverterString.lift.bind(FfiConverterString));
510
510
  }
511
511
 
@@ -517,9 +517,9 @@ export class P2pEndpoint extends UniffiAbstractObject {
517
517
  * write side ends first (`StreamWriteStopped`, `StreamClosed`, a reset,
518
518
  * or the connection closing or being replaced), which drops the tail.
519
519
  */
520
- sendStream(peerId, connId, streamId, data) /*throws*/{
520
+ sendStream(connId, streamId, data) /*throws*/{
521
521
  return FfiConverterBool.lift(uniffiCaller.rustCallWithError(/*liftError:*/FfiConverterTypeFfiError.lift.bind(FfiConverterTypeFfiError), /*caller:*/callStatus => {
522
- return nativeModule().ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_send_stream(uniffiTypeP2pEndpointObjectFactory.clonePointer(this), FfiConverterString.lower(peerId, nativeModule().rustbuffer_alloc), FfiConverterUInt64.lower(connId, nativeModule().rustbuffer_alloc), FfiConverterUInt64.lower(streamId, nativeModule().rustbuffer_alloc), FfiConverterArrayBuffer.lower(data, nativeModule().rustbuffer_alloc), callStatus);
522
+ return nativeModule().ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_send_stream(uniffiTypeP2pEndpointObjectFactory.clonePointer(this), FfiConverterUInt64.lower(connId, nativeModule().rustbuffer_alloc), FfiConverterUInt64.lower(streamId, nativeModule().rustbuffer_alloc), FfiConverterArrayBuffer.lower(data, nativeModule().rustbuffer_alloc), callStatus);
523
523
  }, /*liftString:*/FfiConverterString.lift.bind(FfiConverterString)));
524
524
  }
525
525
 
@@ -552,7 +552,9 @@ export class P2pEndpoint extends UniffiAbstractObject {
552
552
 
553
553
  /**
554
554
  * Acknowledges `bytes` of a stream's received data as consumed,
555
- * letting its sender continue. Every registered protocol needs this.
555
+ * letting its sender continue. Every registered protocol needs this,
556
+ * also after the stream's connection closed: unacknowledged bytes keep
557
+ * the ended connection's slot until they are acknowledged or abandoned.
556
558
  */
557
559
  streamConsumed(connId, streamId, bytes) /*throws*/{
558
560
  uniffiCaller.rustCallWithError(/*liftError:*/FfiConverterTypeFfiError.lift.bind(FfiConverterTypeFfiError), /*caller:*/callStatus => {
@@ -688,7 +690,7 @@ function uniffiEnsureInitialized() {
688
690
  if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_constructor_p2pendpoint_new() !== 40346) {
689
691
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_minip2p_ffi_checksum_constructor_p2pendpoint_new");
690
692
  }
691
- if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_abandon_stream() !== 39078) {
693
+ if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_abandon_stream() !== 3134) {
692
694
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_minip2p_ffi_checksum_method_p2pendpoint_abandon_stream");
693
695
  }
694
696
  if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_active_reservation() !== 7490) {
@@ -700,7 +702,7 @@ function uniffiEnsureInitialized() {
700
702
  if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_cancel_connect() !== 21146) {
701
703
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_minip2p_ffi_checksum_method_p2pendpoint_cancel_connect");
702
704
  }
703
- if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_close_stream_write() !== 32688) {
705
+ if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_close_stream_write() !== 63517) {
704
706
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_minip2p_ffi_checksum_method_p2pendpoint_close_stream_write");
705
707
  }
706
708
  if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_connect() !== 21790) {
@@ -754,10 +756,10 @@ function uniffiEnsureInitialized() {
754
756
  if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_reachability() !== 4853) {
755
757
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_minip2p_ffi_checksum_method_p2pendpoint_reachability");
756
758
  }
757
- if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_reset_stream() !== 50205) {
759
+ if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_reset_stream() !== 8949) {
758
760
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_minip2p_ffi_checksum_method_p2pendpoint_reset_stream");
759
761
  }
760
- if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_send_stream() !== 41451) {
762
+ if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_send_stream() !== 31876) {
761
763
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_minip2p_ffi_checksum_method_p2pendpoint_send_stream");
762
764
  }
763
765
  if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_set_active() !== 10522) {
@@ -769,7 +771,7 @@ function uniffiEnsureInitialized() {
769
771
  if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_stop() !== 11062) {
770
772
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_minip2p_ffi_checksum_method_p2pendpoint_stop");
771
773
  }
772
- if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_stream_consumed() !== 61579) {
774
+ if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_stream_consumed() !== 52358) {
773
775
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_minip2p_ffi_checksum_method_p2pendpoint_stream_consumed");
774
776
  }
775
777
  if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_subscribe() !== 41051) {