@minip2p/react-native 0.4.6 → 0.4.8

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 (37) hide show
  1. package/Minip2p.podspec +1 -1
  2. package/android/src/main/java/com/minip2p/Minip2pPackage.kt +2 -2
  3. package/android/src/main/jniLibs/arm64-v8a/libminip2p_ffi.so +0 -0
  4. package/android/src/main/jniLibs/x86_64/libminip2p_ffi.so +0 -0
  5. package/build/Minip2pFfi.xcframework/ios-arm64/libminip2p_ffi.a +0 -0
  6. package/build/Minip2pFfi.xcframework/ios-arm64-simulator/libminip2p_ffi.a +0 -0
  7. package/cpp/generated/minip2p_ffi.cpp +263 -205
  8. package/cpp/generated/minip2p_ffi.hpp +8 -6
  9. package/lib/module/adapter.js +11 -10
  10. package/lib/module/adapter.js.map +1 -1
  11. package/lib/module/event-drain.js +71 -0
  12. package/lib/module/event-drain.js.map +1 -0
  13. package/lib/module/generated/minip2p_ffi-ffi.js.map +1 -1
  14. package/lib/module/generated/minip2p_ffi.js +665 -693
  15. package/lib/module/generated/minip2p_ffi.js.map +1 -1
  16. package/lib/typescript/src/NativeMinip2p.d.ts.map +1 -1
  17. package/lib/typescript/src/adapter.d.ts.map +1 -1
  18. package/lib/typescript/src/event-drain.d.ts +10 -0
  19. package/lib/typescript/src/event-drain.d.ts.map +1 -0
  20. package/lib/typescript/src/generated/minip2p_ffi-ffi.d.ts +16 -14
  21. package/lib/typescript/src/generated/minip2p_ffi-ffi.d.ts.map +1 -1
  22. package/lib/typescript/src/generated/minip2p_ffi.d.ts +785 -782
  23. package/lib/typescript/src/generated/minip2p_ffi.d.ts.map +1 -1
  24. package/lib/typescript/src/hook-lifecycle.d.ts.map +1 -1
  25. package/lib/typescript/src/hooks.d.ts.map +1 -1
  26. package/lib/typescript/src/native.d.ts.map +1 -1
  27. package/lib/typescript/tests/adapter-event-drain.test.d.ts +2 -0
  28. package/lib/typescript/tests/adapter-event-drain.test.d.ts.map +1 -0
  29. package/lib/typescript/tests/event-drain.test.d.ts +2 -0
  30. package/lib/typescript/tests/event-drain.test.d.ts.map +1 -0
  31. package/lib/typescript/vitest.built.config.d.ts +3 -0
  32. package/lib/typescript/vitest.built.config.d.ts.map +1 -0
  33. package/package.json +18 -18
  34. package/src/adapter.ts +15 -11
  35. package/src/event-drain.ts +80 -0
  36. package/src/generated/minip2p_ffi-ffi.ts +16 -14
  37. package/src/generated/minip2p_ffi.ts +665 -705
@@ -22,6 +22,10 @@ class NativeMinip2pFfi : public jsi::HostObject {
22
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
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
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_uniffi_minip2p_ffi_fn_clone_p2peventdoorbell(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
26
+ jsi::Value cpp_uniffi_minip2p_ffi_fn_free_p2peventdoorbell(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
27
+ jsi::Value cpp_uniffi_minip2p_ffi_fn_init_callback_vtable_p2peventdoorbell(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
28
+ jsi::Value cpp_uniffi_minip2p_ffi_fn_method_p2peventdoorbell_on_events_ready(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
25
29
  jsi::Value cpp_uniffi_minip2p_ffi_fn_clone_p2pendpoint(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
26
30
  jsi::Value cpp_uniffi_minip2p_ffi_fn_free_p2pendpoint(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
27
31
  jsi::Value cpp_uniffi_minip2p_ffi_fn_constructor_p2pendpoint_new(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
@@ -39,6 +43,7 @@ class NativeMinip2pFfi : public jsi::HostObject {
39
43
  jsi::Value cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_dial_ip6(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
40
44
  jsi::Value cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_disconnect(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
41
45
  jsi::Value cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_discovery_now_ms(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
46
+ jsi::Value cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_drain_events(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
42
47
  jsi::Value cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_is_peer_ready(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
43
48
  jsi::Value cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_is_running(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
44
49
  jsi::Value cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_known_peers(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
@@ -58,16 +63,13 @@ class NativeMinip2pFfi : public jsi::HostObject {
58
63
  jsi::Value cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_subscribe(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
59
64
  jsi::Value cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_unsubscribe(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
60
65
  jsi::Value cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_wait_stopped(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
61
- jsi::Value cpp_uniffi_minip2p_ffi_fn_clone_p2peventlistener(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
62
- jsi::Value cpp_uniffi_minip2p_ffi_fn_free_p2peventlistener(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
63
- jsi::Value cpp_uniffi_minip2p_ffi_fn_init_callback_vtable_p2peventlistener(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
64
- jsi::Value cpp_uniffi_minip2p_ffi_fn_method_p2peventlistener_on_event(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
65
66
  jsi::Value cpp_uniffi_minip2p_ffi_fn_func_circuit_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
66
67
  jsi::Value cpp_uniffi_minip2p_ffi_fn_func_generate_secret_key(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
67
68
  jsi::Value cpp_uniffi_minip2p_ffi_fn_func_peer_id_from_secret_key(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
68
69
  jsi::Value cpp_uniffi_minip2p_ffi_checksum_func_circuit_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
69
70
  jsi::Value cpp_uniffi_minip2p_ffi_checksum_func_generate_secret_key(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
70
71
  jsi::Value cpp_uniffi_minip2p_ffi_checksum_func_peer_id_from_secret_key(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
72
+ jsi::Value cpp_uniffi_minip2p_ffi_checksum_method_p2peventdoorbell_on_events_ready(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
71
73
  jsi::Value cpp_uniffi_minip2p_ffi_checksum_method_p2pendpoint_abandon_stream(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
72
74
  jsi::Value cpp_uniffi_minip2p_ffi_checksum_method_p2pendpoint_active_reservation(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
73
75
  jsi::Value cpp_uniffi_minip2p_ffi_checksum_method_p2pendpoint_add_protocol(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
@@ -82,6 +84,7 @@ class NativeMinip2pFfi : public jsi::HostObject {
82
84
  jsi::Value cpp_uniffi_minip2p_ffi_checksum_method_p2pendpoint_dial_ip6(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
83
85
  jsi::Value cpp_uniffi_minip2p_ffi_checksum_method_p2pendpoint_disconnect(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
84
86
  jsi::Value cpp_uniffi_minip2p_ffi_checksum_method_p2pendpoint_discovery_now_ms(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
87
+ jsi::Value cpp_uniffi_minip2p_ffi_checksum_method_p2pendpoint_drain_events(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
85
88
  jsi::Value cpp_uniffi_minip2p_ffi_checksum_method_p2pendpoint_is_peer_ready(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
86
89
  jsi::Value cpp_uniffi_minip2p_ffi_checksum_method_p2pendpoint_is_running(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
87
90
  jsi::Value cpp_uniffi_minip2p_ffi_checksum_method_p2pendpoint_known_peers(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
@@ -101,11 +104,10 @@ class NativeMinip2pFfi : public jsi::HostObject {
101
104
  jsi::Value cpp_uniffi_minip2p_ffi_checksum_method_p2pendpoint_subscribe(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
102
105
  jsi::Value cpp_uniffi_minip2p_ffi_checksum_method_p2pendpoint_unsubscribe(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
103
106
  jsi::Value cpp_uniffi_minip2p_ffi_checksum_method_p2pendpoint_wait_stopped(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
104
- jsi::Value cpp_uniffi_minip2p_ffi_checksum_method_p2peventlistener_on_event(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
105
107
  jsi::Value cpp_uniffi_minip2p_ffi_checksum_constructor_p2pendpoint_new(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
106
108
  jsi::Value cpp_ffi_minip2p_ffi_uniffi_contract_version(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
109
+ jsi::Value cpp_uniffi_internal_fn_method_p2peventdoorbell_ffi__bless_pointer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
107
110
  jsi::Value cpp_uniffi_internal_fn_method_p2pendpoint_ffi__bless_pointer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
108
- jsi::Value cpp_uniffi_internal_fn_method_p2peventlistener_ffi__bless_pointer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
109
111
 
110
112
  public:
111
113
  NativeMinip2pFfi(jsi::Runtime &rt, std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker);
@@ -3,12 +3,14 @@
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
5
  import { BackpressureError, MessageTooLargeError, Minip2pBase, NotPermittedError, PubsubRouter } from "@minip2p/core";
6
+ import { EventDrain } from "./event-drain.js";
6
7
  import { FfiError_Tags, P2pEndpoint, circuitAddress as nativeCircuitAddress, generateSecretKey as nativeGenerateSecretKey, peerIdFromSecretKey as nativePeerIdFromSecretKey } from "./native.js";
7
8
  import nativeModule from "./NativeMinip2p.js";
8
9
  class ReactNativeBackend {
9
10
  #endpoint;
10
11
  #mdnsEnabled;
11
- #listener;
12
+ #doorbell;
13
+ #events;
12
14
  constructor(config) {
13
15
  this.#mdnsEnabled = config.mdns !== undefined && config.mdns !== false;
14
16
  if (this.#mdnsEnabled) {
@@ -24,24 +26,23 @@ class ReactNativeBackend {
24
26
  }
25
27
  }
26
28
  start(listener) {
27
- this.#listener = {
28
- onEvent: event => {
29
- try {
30
- listener(normalizeEvent(event));
31
- } catch {
32
- // A malformed native value cannot unwind through the callback ABI.
33
- }
29
+ this.#events = new EventDrain(limit => this.#endpoint.drainEvents(limit), event => listener(normalizeEvent(event)));
30
+ this.#doorbell = {
31
+ onEventsReady: () => {
32
+ this.#events?.ring();
34
33
  }
35
34
  };
36
35
  translateErrors(() => {
37
- this.#endpoint.start(this.#listener);
36
+ this.#endpoint.start(this.#doorbell);
38
37
  });
39
38
  }
40
39
  close() {
41
40
  try {
42
41
  this.#endpoint.stop();
42
+ this.#events?.stop();
43
43
  this.#endpoint.uniffiDestroy();
44
- this.#listener = undefined;
44
+ this.#events = undefined;
45
+ this.#doorbell = undefined;
45
46
  } finally {
46
47
  if (this.#mdnsEnabled) {
47
48
  nativeModule.setMdnsEnabled(false);
@@ -1 +1 @@
1
- {"version":3,"names":["BackpressureError","MessageTooLargeError","Minip2pBase","NotPermittedError","PubsubRouter","FfiError_Tags","P2pEndpoint","circuitAddress","nativeCircuitAddress","generateSecretKey","nativeGenerateSecretKey","peerIdFromSecretKey","nativePeerIdFromSecretKey","nativeModule","ReactNativeBackend","endpoint","mdnsEnabled","listener","constructor","config","mdns","undefined","setMdnsEnabled","translateErrors","toArrayBuffer","secretKey","toNativeConfig","error","start","onEvent","event","normalizeEvent","close","stop","uniffiDestroy","peerId","listenAddrs","connectedPeers","isPeerReady","peerInfo","info","normalizeIdentifyInfo","knownPeers","map","normalizeKnownPeer","discoveryNowMs","now","u64ToNumber","activeReservation","reservation","normalizeReservation","path","normalizeBigInts","relayAddress","reachability","isRunning","setActive","active","subscribe","topic","unsubscribe","publish","data","ping","addProtocol","protocolId","openStream","result","connId","streamId","sendStream","numberToU64","closeStreamWrite","resetStream","abandonStream","connect","connectWithAddrs","addresses","connectAddr","address","dial","id","dialIp4","dialIp6","cancelConnect","disconnect","backendFactory","create","Uint8Array","Minip2p","backend","relays","discovery","autoDial","beaconIntervalMs","peerTtlMs","mdnsOptions","resolveMdnsAutoDial","enableIpv6","interfaceRefreshMs","maxAnnouncedAddrs","numberToU32","maxPacketBytes","queryIntervalMs","socketPollIntervalMs","ttlMs","configuredTransports","transports","quic","tcp","agentVersion","allowUnsigned","autonatServers","forceRelay","protocols","pubsubRouter","Gossipsub","toNativeTransport","transport","listen","inner","tag","peer","value","ArrayBuffer","Array","isArray","item","Object","fromEntries","entries","key","from","buffer","name","assertSafeUnsignedInteger","BigInt","RangeError","number","Number","isSafeInteger","operation","getErrorTag","Backpressure","MessageTooLarge","NotPermitted","getErrorDetail","detail"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BackpressureError","MessageTooLargeError","Minip2pBase","NotPermittedError","PubsubRouter","EventDrain","FfiError_Tags","P2pEndpoint","circuitAddress","nativeCircuitAddress","generateSecretKey","nativeGenerateSecretKey","peerIdFromSecretKey","nativePeerIdFromSecretKey","nativeModule","ReactNativeBackend","endpoint","mdnsEnabled","doorbell","events","constructor","config","mdns","undefined","setMdnsEnabled","translateErrors","toArrayBuffer","secretKey","toNativeConfig","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","relayAddress","reachability","isRunning","setActive","active","subscribe","topic","unsubscribe","publish","data","ping","addProtocol","protocolId","openStream","result","connId","streamId","sendStream","numberToU64","closeStreamWrite","resetStream","abandonStream","connect","connectWithAddrs","addresses","connectAddr","address","dial","id","dialIp4","dialIp6","cancelConnect","disconnect","backendFactory","create","Uint8Array","Minip2p","backend","relays","discovery","autoDial","beaconIntervalMs","peerTtlMs","mdnsOptions","resolveMdnsAutoDial","enableIpv6","interfaceRefreshMs","maxAnnouncedAddrs","numberToU32","maxPacketBytes","queryIntervalMs","socketPollIntervalMs","ttlMs","configuredTransports","transports","quic","tcp","agentVersion","allowUnsigned","autonatServers","forceRelay","protocols","pubsubRouter","Gossipsub","toNativeTransport","transport","listen","inner","tag","peer","value","ArrayBuffer","Array","isArray","item","Object","fromEntries","entries","key","from","buffer","name","assertSafeUnsignedInteger","BigInt","RangeError","number","Number","isSafeInteger","operation","getErrorTag","Backpressure","MessageTooLarge","NotPermitted","getErrorDetail","detail"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ /* oxlint-disable no-await-in-loop, promise/avoid-new -- Each bounded batch intentionally yields one event-loop turn before the next synchronous native drain. */
4
+
5
+ const DEFAULT_BATCH_LIMIT = 256;
6
+ const scheduleOnNextTurn = task => {
7
+ setTimeout(task, 0);
8
+ };
9
+
10
+ /** Coalesces native doorbells and drains bounded event batches off the callback stack. */
11
+ export class EventDrain {
12
+ #drain;
13
+ #deliver;
14
+ #limit;
15
+ #schedule;
16
+ #pending = false;
17
+ #running = false;
18
+ #stopped = false;
19
+ constructor(drain, deliver, limit = DEFAULT_BATCH_LIMIT, schedule = scheduleOnNextTurn) {
20
+ this.#drain = drain;
21
+ this.#deliver = deliver;
22
+ this.#limit = limit;
23
+ this.#schedule = schedule;
24
+ }
25
+ ring() {
26
+ if (this.#stopped) {
27
+ return;
28
+ }
29
+ this.#pending = true;
30
+ if (!this.#running) {
31
+ this.#running = true;
32
+ this.#schedule(() => {
33
+ void this.#run();
34
+ });
35
+ }
36
+ }
37
+ stop() {
38
+ this.#stopped = true;
39
+ this.#pending = false;
40
+ }
41
+ async #run() {
42
+ try {
43
+ while (!this.#stopped && this.#pending) {
44
+ this.#pending = false;
45
+ let batch = this.#drain(this.#limit);
46
+ while (!this.#stopped && batch.length > 0) {
47
+ for (const event of batch) {
48
+ try {
49
+ this.#deliver(event);
50
+ } catch {
51
+ // Application callbacks cannot break native event delivery.
52
+ }
53
+ }
54
+ await new Promise(resolve => {
55
+ this.#schedule(resolve);
56
+ });
57
+ if (this.#stopped) {
58
+ break;
59
+ }
60
+ batch = this.#drain(this.#limit);
61
+ }
62
+ }
63
+ } finally {
64
+ this.#running = false;
65
+ if (this.#pending && !this.#stopped) {
66
+ this.ring();
67
+ }
68
+ }
69
+ }
70
+ }
71
+ //# sourceMappingURL=event-drain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_BATCH_LIMIT","scheduleOnNextTurn","task","setTimeout","EventDrain","drain","deliver","limit","schedule","pending","running","stopped","constructor","ring","run","stop","#run","batch","length","event","Promise","resolve"],"sourceRoot":"../../src","sources":["event-drain.ts"],"mappings":";;AAAA;;AAEA,MAAMA,mBAAmB,GAAG,GAAG;AAI/B,MAAMC,kBAA6B,GAAIC,IAAI,IAAK;EAC9CC,UAAU,CAACD,IAAI,EAAE,CAAC,CAAC;AACrB,CAAC;;AAED;AACA,OAAO,MAAME,UAAU,CAAQ;EACpB,CAACC,KAAK;EACN,CAACC,OAAO;EACR,CAACC,KAAK;EACN,CAACC,QAAQ;EAClB,CAACC,OAAO,GAAG,KAAK;EAChB,CAACC,OAAO,GAAG,KAAK;EAChB,CAACC,OAAO,GAAG,KAAK;EAEhBC,WAAWA,CACTP,KAAiC,EACjCC,OAA+B,EAC/BC,KAAK,GAAGP,mBAAmB,EAC3BQ,QAAmB,GAAGP,kBAAkB,EACxC;IACA,IAAI,CAAC,CAACI,KAAK,GAAGA,KAAK;IACnB,IAAI,CAAC,CAACC,OAAO,GAAGA,OAAO;IACvB,IAAI,CAAC,CAACC,KAAK,GAAGA,KAAK;IACnB,IAAI,CAAC,CAACC,QAAQ,GAAGA,QAAQ;EAC3B;EAEAK,IAAIA,CAAA,EAAS;IACX,IAAI,IAAI,CAAC,CAACF,OAAO,EAAE;MACjB;IACF;IACA,IAAI,CAAC,CAACF,OAAO,GAAG,IAAI;IACpB,IAAI,CAAC,IAAI,CAAC,CAACC,OAAO,EAAE;MAClB,IAAI,CAAC,CAACA,OAAO,GAAG,IAAI;MACpB,IAAI,CAAC,CAACF,QAAQ,CAAC,MAAM;QACnB,KAAK,IAAI,CAAC,CAACM,GAAG,CAAC,CAAC;MAClB,CAAC,CAAC;IACJ;EACF;EAEAC,IAAIA,CAAA,EAAS;IACX,IAAI,CAAC,CAACJ,OAAO,GAAG,IAAI;IACpB,IAAI,CAAC,CAACF,OAAO,GAAG,KAAK;EACvB;EAEA,MAAM,CAACK,GAAGE,CAAA,EAAkB;IAC1B,IAAI;MACF,OAAO,CAAC,IAAI,CAAC,CAACL,OAAO,IAAI,IAAI,CAAC,CAACF,OAAO,EAAE;QACtC,IAAI,CAAC,CAACA,OAAO,GAAG,KAAK;QACrB,IAAIQ,KAAK,GAAG,IAAI,CAAC,CAACZ,KAAK,CAAC,IAAI,CAAC,CAACE,KAAK,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAACI,OAAO,IAAIM,KAAK,CAACC,MAAM,GAAG,CAAC,EAAE;UACzC,KAAK,MAAMC,KAAK,IAAIF,KAAK,EAAE;YACzB,IAAI;cACF,IAAI,CAAC,CAACX,OAAO,CAACa,KAAK,CAAC;YACtB,CAAC,CAAC,MAAM;cACN;YAAA;UAEJ;UACA,MAAM,IAAIC,OAAO,CAAQC,OAAO,IAAK;YACnC,IAAI,CAAC,CAACb,QAAQ,CAACa,OAAO,CAAC;UACzB,CAAC,CAAC;UACF,IAAI,IAAI,CAAC,CAACV,OAAO,EAAE;YACjB;UACF;UACAM,KAAK,GAAG,IAAI,CAAC,CAACZ,KAAK,CAAC,IAAI,CAAC,CAACE,KAAK,CAAC;QAClC;MACF;IACF,CAAC,SAAS;MACR,IAAI,CAAC,CAACG,OAAO,GAAG,KAAK;MACrB,IAAI,IAAI,CAAC,CAACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAACE,OAAO,EAAE;QACnC,IAAI,CAACE,IAAI,CAAC,CAAC;MACb;IACF;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["getter","globalThis","NativeMinip2pFfi","isRustFutureContinuationCallbackTypeCompatible"],"sourceRoot":"../../../src","sources":["generated/minip2p_ffi-ffi.ts"],"mappings":";;AAAA;AACA;;AAEA;AACA;AACA;;AA4JA,MAAMA,MAAmC,GAAGA,CAAA,KAAOC,UAAU,CAASC,gBAAgB;AACtF,eAAeF,MAAM;;AAErB;;AAgBA;AACA;AACA;AACA;AACA,MAAMG,8CAGL,GAAG,IAAI","ignoreList":[]}
1
+ {"version":3,"names":["getter","globalThis","NativeMinip2pFfi","isRustFutureContinuationCallbackTypeCompatible"],"sourceRoot":"../../../src","sources":["generated/minip2p_ffi-ffi.ts"],"mappings":";;AAAA;AACA;;AAEA;AACA;AACA;;AA8JA,MAAMA,MAAmC,GAAGA,CAAA,KAAOC,UAAU,CAASC,gBAAgB;AACtF,eAAeF,MAAM;;AAErB;;AAgBA;AACA;AACA;AACA;AACA,MAAMG,8CAGL,GAAG,IAAI","ignoreList":[]}