@candypoets/nipworker 0.96.3 → 0.96.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +206 -73
- package/crates/native-ffi/README.md +14 -151
- package/crates/native-ffi/ios/README.md +4 -50
- package/crates/native-ffi/react-native/README.md +8 -7
- package/crates/native-ffi/react-native/android/build.gradle +1 -0
- package/crates/native-ffi/react-native/android/src/main/cpp/NipworkerByteRuntime.cpp +348 -0
- package/crates/native-ffi/react-native/android/src/main/java/com/candypoets/nipworker/reactnative/NipworkerHooks.kt +292 -0
- package/crates/native-ffi/react-native/android/src/main/java/com/candypoets/nipworker/reactnative/NipworkerReactNativeModule.kt +283 -89
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/AddressPointer.java +75 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ArticleBlock.java +102 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ArticleBlockType.java +23 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ArticleEntity.java +80 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ArticleInline.java +85 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ArticleInlineType.java +24 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/BadgeAwardRecipient.java +61 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/BufferFull.java +52 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/CacheInput.java +16 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/CacheInputMessage.java +57 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/CacheRequest.java +84 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/CacheResponse.java +67 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/CashuData.java +55 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ChatLimiterPipeConfig.java +74 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/CodeData.java +61 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ConnectionStatus.java +68 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Contact.java +70 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ContentBlock.java +70 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ContentData.java +23 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Coordinate.java +75 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/CountResponse.java +60 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/CounterPipeConfig.java +67 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/DLEQProof.java +69 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Emoji.java +62 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/EmojiData.java +68 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Eoce.java +55 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/EventPointer.java +74 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/GetPublicKey.java +43 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/HTLCWitness.java +64 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/HashtagData.java +55 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/HistoryTag.java +74 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ImageData.java +67 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ImetaTag.java +100 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind0Parsed.java +168 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind10002Parsed.java +59 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind10019Parsed.java +73 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind1018Parsed.java +79 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind1068Parsed.java +107 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind1111Parsed.java +159 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind1311Parsed.java +91 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind17375Parsed.java +74 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind17Parsed.java +81 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind1Parsed.java +109 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind20Parsed.java +107 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind22Parsed.java +111 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind30023Parsed.java +113 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind3Parsed.java +59 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind4Parsed.java +78 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind6Parsed.java +53 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind7374Parsed.java +66 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind7375Parsed.java +79 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind7376Parsed.java +100 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind7Parsed.java +81 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind8Parsed.java +78 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind9321Parsed.java +117 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Kind9735Parsed.java +119 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/KindFilterPipeConfig.java +60 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/LinkPreviewData.java +73 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ListParsed.java +123 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/LiveActivityRef.java +72 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/LiveChatParticipant.java +61 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/LiveChatThreadRef.java +61 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/MainContent.java +20 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/MainMessage.java +57 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/MediaGroupData.java +58 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/MediaItem.java +58 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Message.java +24 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/MessageType.java +19 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/MintInfo.java +65 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/MintProofs.java +66 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/MuteFilterPipeConfig.java +84 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Nip07.java +43 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Nip46Bunker.java +61 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Nip46QR.java +61 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/NostrData.java +81 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/NostrEvent.java +95 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/NpubLimiterKey.java +15 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/NpubLimiterPipeConfig.java +64 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/P2PKWitness.java +57 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ParsePipeConfig.java +43 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ParsedData.java +39 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ParsedDataUnion.java +35 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ParsedEvent.java +108 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Pipe.java +57 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/PipeConfig.java +23 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/PipelineConfig.java +59 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/PollOption.java +62 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/PollType.java +15 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/PreGenericParsed.java +213 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/PreParticipant.java +73 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/PreRefEvent.java +67 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/PrivateKey.java +55 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ProfilePointer.java +64 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Proof.java +90 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ProofVerificationPipeConfig.java +52 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Pubkey.java +55 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Publish.java +80 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Raw.java +55 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ReactionType.java +17 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/RelayInfo.java +63 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Request.java +134 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/SaveToDbPipeConfig.java +43 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/SerializeEventsPipeConfig.java +55 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/SetSigner.java +57 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/SignEvent.java +54 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/SignedEvent.java +54 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/SignerOp.java +19 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/SignerRequest.java +80 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/SignerResponse.java +64 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/SignerType.java +18 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/StringVec.java +57 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Subscribe.java +72 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/SubscribeKind.java +19 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/SubscriptionConfig.java +95 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Tag.java +64 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Template.java +74 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Unsubscribe.java +55 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ValidProofs.java +59 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/VideoData.java +67 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/VideoVariant.java +102 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/Witness.java +17 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/WitnessString.java +54 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/WorkerMessage.java +74 -0
- package/crates/native-ffi/react-native/android/src/main/java/nostr/fb/ZapRequest.java +83 -0
- package/crates/native-ffi/react-native/ios/NipworkerReactNativeModule.h +18 -0
- package/crates/native-ffi/react-native/ios/NipworkerReactNativeModule.mm +263 -8
- package/dist/EngineManager.d.ts +1 -0
- package/dist/EngineManager.d.ts.map +1 -1
- package/dist/EngineManager.js +143 -137
- package/dist/NostrManager.d.ts +1 -0
- package/dist/NostrManager.d.ts.map +1 -1
- package/dist/NostrManager.js +49 -44
- package/dist/connections/index.js +87 -87
- package/dist/engine/index.js +119 -119
- package/dist/engine.d.ts.map +1 -1
- package/dist/hooks.d.ts +1 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +27 -26
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/legacy.d.ts.map +1 -1
- package/dist/lib/ArrayBufferReader.d.ts +2 -1
- package/dist/lib/ArrayBufferReader.d.ts.map +1 -1
- package/dist/lib/BaseBackend.d.ts +5 -3
- package/dist/lib/BaseBackend.d.ts.map +1 -1
- package/dist/manager.d.ts +2 -6
- package/dist/manager.d.ts.map +1 -1
- package/dist/manager.js +10 -28
- package/dist/react-native.d.ts +33 -4
- package/dist/react-native.d.ts.map +1 -1
- package/dist/react-native.js +400 -122
- package/dist/scheduleMicrotask.js +58 -50
- package/package.json +13 -11
- package/swift/Package.swift +36 -0
- package/swift/README.md +438 -0
- package/swift/Sources/NipworkerSwift/ArrayBufferReader.swift +136 -0
- package/swift/Sources/NipworkerSwift/AuthSession.swift +24 -0
- package/swift/Sources/NipworkerSwift/FFI.swift +94 -0
- package/swift/Sources/NipworkerSwift/FlatBufferHelpers.swift +273 -0
- package/swift/Sources/NipworkerSwift/Generated/message_generated.swift +6530 -0
- package/swift/Sources/NipworkerSwift/Hooks.swift +300 -0
- package/swift/Sources/NipworkerSwift/Models.swift +156 -0
- package/swift/Sources/NipworkerSwift/NostrManager.swift +594 -0
- package/swift/Sources/NipworkerSwift/PublishTracker.swift +40 -0
- package/swift/Sources/NipworkerSwift/Subscription.swift +44 -0
- package/swift/Sources/NipworkerSwift/WorkerMessageView.swift +145 -0
- package/dist/NativeBackend.d.ts +0 -53
- package/dist/NativeBackend.d.ts.map +0 -1
- package/dist/NativeBackend.js +0 -464
- package/dist/native.d.ts +0 -29
- package/dist/native.d.ts.map +0 -1
- package/dist/native.js +0 -273
package/dist/react-native.js
CHANGED
|
@@ -1,204 +1,482 @@
|
|
|
1
|
-
import { TurboModuleRegistry as
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { TurboModuleRegistry as F, AppState as _, NativeEventEmitter as A, NativeModules as V } from "react-native";
|
|
2
|
+
import * as p from "flatbuffers";
|
|
3
|
+
import { _ as j, w as C, t as w, u as S, i as G, r as Q, E as J, H as q, V as H, T as X, g, M as y, X as L, D as Y, J as x, Q as I, l as Z, n as ee, O as te, d as ne } from "./BaseBackend.js";
|
|
4
|
+
import { s as ie } from "./manager.js";
|
|
5
|
+
import { g as ke, a as Me } from "./manager.js";
|
|
6
|
+
import { aT as M, p as se, bm as re, bo as N } from "./message-type.js";
|
|
7
|
+
import { W as B, P as ae, R as oe } from "./worker-message.js";
|
|
8
|
+
const ue = F.get("NipworkerReactNativeModule"), R = "NipworkerEvent", E = /* @__PURE__ */ new Map();
|
|
9
|
+
let v;
|
|
10
|
+
function T(n) {
|
|
11
|
+
return n instanceof Uint8Array ? n.slice() : new Uint8Array(n).slice();
|
|
8
12
|
}
|
|
9
|
-
function
|
|
10
|
-
const
|
|
11
|
-
return new Uint8Array(
|
|
13
|
+
function P(n) {
|
|
14
|
+
const e = new ArrayBuffer(n.byteLength);
|
|
15
|
+
return new Uint8Array(e).set(n), e;
|
|
12
16
|
}
|
|
13
|
-
function
|
|
17
|
+
function l() {
|
|
14
18
|
return globalThis.__nipworkerReactNativeByteRuntime;
|
|
15
19
|
}
|
|
16
|
-
function
|
|
17
|
-
return
|
|
20
|
+
function k() {
|
|
21
|
+
return ue;
|
|
18
22
|
}
|
|
19
|
-
function
|
|
20
|
-
return
|
|
23
|
+
function m() {
|
|
24
|
+
return k() ?? V.NipworkerReactNativeModule;
|
|
21
25
|
}
|
|
22
|
-
const
|
|
23
|
-
getItem(
|
|
24
|
-
const
|
|
25
|
-
if (typeof (
|
|
26
|
-
const
|
|
27
|
-
return typeof
|
|
26
|
+
const K = {
|
|
27
|
+
getItem(n) {
|
|
28
|
+
const e = m();
|
|
29
|
+
if (typeof (e == null ? void 0 : e.getStorageItem) == "function") {
|
|
30
|
+
const t = e.getStorageItem(n);
|
|
31
|
+
return typeof t == "string" ? t : null;
|
|
28
32
|
}
|
|
29
|
-
return
|
|
33
|
+
return E.get(n) ?? null;
|
|
30
34
|
},
|
|
31
|
-
setItem(
|
|
32
|
-
const
|
|
33
|
-
if (typeof (
|
|
34
|
-
|
|
35
|
+
setItem(n, e) {
|
|
36
|
+
const t = m();
|
|
37
|
+
if (typeof (t == null ? void 0 : t.setStorageItem) == "function") {
|
|
38
|
+
t.setStorageItem(n, e);
|
|
35
39
|
return;
|
|
36
40
|
}
|
|
37
|
-
|
|
41
|
+
E.set(n, e);
|
|
38
42
|
},
|
|
39
|
-
removeItem(
|
|
40
|
-
const
|
|
41
|
-
if (typeof (
|
|
42
|
-
|
|
43
|
+
removeItem(n) {
|
|
44
|
+
const e = m();
|
|
45
|
+
if (typeof (e == null ? void 0 : e.removeStorageItem) == "function") {
|
|
46
|
+
e.removeStorageItem(n);
|
|
43
47
|
return;
|
|
44
48
|
}
|
|
45
|
-
|
|
49
|
+
E.delete(n);
|
|
46
50
|
}
|
|
47
51
|
};
|
|
48
|
-
function
|
|
49
|
-
const
|
|
50
|
-
if (!
|
|
52
|
+
function U() {
|
|
53
|
+
const n = m();
|
|
54
|
+
if (!n)
|
|
51
55
|
throw new Error(
|
|
52
56
|
"[ReactNativeBackend] NipworkerReactNative native module not found. Ensure the native module is linked."
|
|
53
57
|
);
|
|
54
|
-
return
|
|
58
|
+
return n;
|
|
55
59
|
}
|
|
56
|
-
const
|
|
60
|
+
const D = {
|
|
57
61
|
name: "react-native",
|
|
58
|
-
eventName:
|
|
59
|
-
storage:
|
|
62
|
+
eventName: R,
|
|
63
|
+
storage: K,
|
|
60
64
|
getModule() {
|
|
61
|
-
const
|
|
65
|
+
const n = U();
|
|
62
66
|
return {
|
|
63
|
-
init(
|
|
64
|
-
const
|
|
65
|
-
defaultRelays: (
|
|
66
|
-
indexerRelays: (
|
|
67
|
+
init(e) {
|
|
68
|
+
const t = {
|
|
69
|
+
defaultRelays: (e == null ? void 0 : e.defaultRelays) ?? [],
|
|
70
|
+
indexerRelays: (e == null ? void 0 : e.indexerRelays) ?? []
|
|
67
71
|
};
|
|
68
|
-
(
|
|
69
|
-
const s =
|
|
72
|
+
(t.defaultRelays.length > 0 || t.indexerRelays.length > 0) && typeof n.initEngine == "function" && n.initEngine(t.defaultRelays, t.indexerRelays), typeof n.installByteRuntime == "function" && n.installByteRuntime();
|
|
73
|
+
const s = l();
|
|
70
74
|
if (s) {
|
|
71
|
-
s.init(
|
|
75
|
+
s.init(t);
|
|
72
76
|
return;
|
|
73
77
|
}
|
|
74
|
-
typeof
|
|
78
|
+
typeof n.initEngine == "function" ? n.initEngine(t.defaultRelays, t.indexerRelays) : n.init();
|
|
75
79
|
},
|
|
76
|
-
handleMessage(
|
|
77
|
-
const
|
|
78
|
-
if (
|
|
79
|
-
|
|
80
|
+
handleMessage(e) {
|
|
81
|
+
const t = T(e), i = l();
|
|
82
|
+
if (i) {
|
|
83
|
+
i.handleMessage(P(t));
|
|
80
84
|
return;
|
|
81
85
|
}
|
|
82
|
-
|
|
86
|
+
n.handleMessage(Array.from(t));
|
|
87
|
+
},
|
|
88
|
+
subscribe(e, t) {
|
|
89
|
+
var _a, _b;
|
|
90
|
+
const i = T(e);
|
|
91
|
+
return (_b = (_a = l()) == null ? void 0 : _a.subscribe) == null ? void 0 : _b.call(_a, P(i), t);
|
|
92
|
+
},
|
|
93
|
+
publish(e, t) {
|
|
94
|
+
var _a, _b;
|
|
95
|
+
const i = T(e);
|
|
96
|
+
return (_b = (_a = l()) == null ? void 0 : _a.publish) == null ? void 0 : _b.call(_a, P(i), t);
|
|
83
97
|
},
|
|
84
98
|
wake() {
|
|
85
|
-
const
|
|
86
|
-
if (
|
|
87
|
-
|
|
99
|
+
const e = l();
|
|
100
|
+
if (e && typeof e.wake == "function") {
|
|
101
|
+
e.wake();
|
|
88
102
|
return;
|
|
89
103
|
}
|
|
90
|
-
typeof
|
|
104
|
+
typeof n.wake == "function" && n.wake();
|
|
91
105
|
},
|
|
92
|
-
setPrivateKey(
|
|
93
|
-
const
|
|
94
|
-
if (
|
|
95
|
-
|
|
106
|
+
setPrivateKey(e) {
|
|
107
|
+
const t = l();
|
|
108
|
+
if (t) {
|
|
109
|
+
t.setPrivateKey(e);
|
|
96
110
|
return;
|
|
97
111
|
}
|
|
98
|
-
|
|
112
|
+
n.setPrivateKey(e);
|
|
99
113
|
},
|
|
100
114
|
deinit() {
|
|
101
|
-
const
|
|
102
|
-
if (
|
|
103
|
-
|
|
115
|
+
const e = l();
|
|
116
|
+
if (e) {
|
|
117
|
+
e.deinit();
|
|
104
118
|
return;
|
|
105
119
|
}
|
|
106
|
-
typeof
|
|
120
|
+
typeof n.deinitEngine == "function" ? n.deinitEngine() : n.deinit();
|
|
121
|
+
},
|
|
122
|
+
registerSubscription(e, t) {
|
|
123
|
+
var _a, _b;
|
|
124
|
+
return ((_b = (_a = l()) == null ? void 0 : _a.registerSubscription) == null ? void 0 : _b.call(_a, e, t)) === true;
|
|
125
|
+
},
|
|
126
|
+
registerPublishBuffer(e, t) {
|
|
127
|
+
var _a, _b;
|
|
128
|
+
return ((_b = (_a = l()) == null ? void 0 : _a.registerPublishBuffer) == null ? void 0 : _b.call(_a, e, t)) === true;
|
|
129
|
+
},
|
|
130
|
+
retainSubscriptionBuffer(e) {
|
|
131
|
+
var _a, _b;
|
|
132
|
+
return (_b = (_a = l()) == null ? void 0 : _a.retainSubscriptionBuffer) == null ? void 0 : _b.call(_a, e);
|
|
133
|
+
},
|
|
134
|
+
retainSubscription(e) {
|
|
135
|
+
var _a, _b;
|
|
136
|
+
return ((_b = (_a = l()) == null ? void 0 : _a.retainSubscription) == null ? void 0 : _b.call(_a, e)) === true;
|
|
137
|
+
},
|
|
138
|
+
releaseSubscription(e) {
|
|
139
|
+
var _a, _b;
|
|
140
|
+
(_b = (_a = l()) == null ? void 0 : _a.releaseSubscription) == null ? void 0 : _b.call(_a, e);
|
|
141
|
+
},
|
|
142
|
+
getSubscriptionBuffer(e) {
|
|
143
|
+
var _a, _b;
|
|
144
|
+
return (_b = (_a = l()) == null ? void 0 : _a.getSubscriptionBuffer) == null ? void 0 : _b.call(_a, e);
|
|
145
|
+
},
|
|
146
|
+
cleanupSubscriptions() {
|
|
147
|
+
var _a, _b;
|
|
148
|
+
(_b = (_a = l()) == null ? void 0 : _a.cleanupSubscriptions) == null ? void 0 : _b.call(_a);
|
|
107
149
|
}
|
|
108
150
|
};
|
|
109
151
|
},
|
|
110
152
|
getEventEmitter() {
|
|
111
|
-
const
|
|
112
|
-
typeof
|
|
113
|
-
const
|
|
114
|
-
if (
|
|
115
|
-
const
|
|
116
|
-
for (const
|
|
117
|
-
|
|
118
|
-
},
|
|
119
|
-
(
|
|
153
|
+
const n = U();
|
|
154
|
+
typeof n.installByteRuntime == "function" && n.installByteRuntime();
|
|
155
|
+
const e = l();
|
|
156
|
+
if (e) {
|
|
157
|
+
const a = k(), r = (a == null ? void 0 : a.onData) ? void 0 : new A(n), o = /* @__PURE__ */ new Map(), u = (h, f) => {
|
|
158
|
+
for (const c of f)
|
|
159
|
+
h(c);
|
|
160
|
+
}, d = (h, f) => {
|
|
161
|
+
(f == null ? void 0 : f.v) !== 1 || (f == null ? void 0 : f.encoding) !== "queued" || u(h, e.drain());
|
|
120
162
|
};
|
|
121
163
|
return {
|
|
122
|
-
addListener(
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
(
|
|
164
|
+
addListener(h, f) {
|
|
165
|
+
const c = (a == null ? void 0 : a.onData) ? a.onData((b) => d(f, b)) : r.addListener(
|
|
166
|
+
R,
|
|
167
|
+
(b) => d(f, b)
|
|
126
168
|
);
|
|
127
|
-
o.set(
|
|
169
|
+
o.set(f, c);
|
|
128
170
|
},
|
|
129
|
-
removeListener(
|
|
171
|
+
removeListener(h, f) {
|
|
130
172
|
var _a;
|
|
131
|
-
(_a = o.get(
|
|
173
|
+
(_a = o.get(f)) == null ? void 0 : _a.remove(), o.delete(f);
|
|
132
174
|
}
|
|
133
175
|
};
|
|
134
176
|
}
|
|
135
|
-
const
|
|
136
|
-
if (
|
|
137
|
-
const
|
|
177
|
+
const t = k();
|
|
178
|
+
if (t == null ? void 0 : t.onData) {
|
|
179
|
+
const a = /* @__PURE__ */ new Map();
|
|
138
180
|
return {
|
|
139
181
|
addListener(r, o) {
|
|
140
|
-
|
|
182
|
+
a.set(
|
|
141
183
|
o,
|
|
142
|
-
|
|
184
|
+
t.onData((u) => o(u.data))
|
|
143
185
|
);
|
|
144
186
|
},
|
|
145
187
|
removeListener(r, o) {
|
|
146
188
|
var _a;
|
|
147
|
-
(_a =
|
|
189
|
+
(_a = a.get(o)) == null ? void 0 : _a.remove(), a.delete(o);
|
|
148
190
|
}
|
|
149
191
|
};
|
|
150
192
|
}
|
|
151
|
-
const
|
|
193
|
+
const i = new A(n), s = /* @__PURE__ */ new Map();
|
|
152
194
|
return {
|
|
153
|
-
addListener(
|
|
154
|
-
s.set(r,
|
|
195
|
+
addListener(a, r) {
|
|
196
|
+
s.set(r, i.addListener(a, r));
|
|
155
197
|
},
|
|
156
|
-
removeListener(
|
|
198
|
+
removeListener(a, r) {
|
|
157
199
|
var _a;
|
|
158
200
|
(_a = s.get(r)) == null ? void 0 : _a.remove(), s.delete(r);
|
|
159
201
|
}
|
|
160
202
|
};
|
|
161
203
|
}
|
|
162
204
|
};
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
205
|
+
function z(n) {
|
|
206
|
+
return n instanceof Uint8Array ? n : n instanceof ArrayBuffer ? new Uint8Array(n) : ArrayBuffer.isView(n) ? new Uint8Array(n.buffer, n.byteOffset, n.byteLength) : Array.isArray(n) ? new Uint8Array(n) : !n || typeof n != "object" ? null : n.v === 1 && n.encoding === "bytes" ? z(n.data) : null;
|
|
207
|
+
}
|
|
208
|
+
const O = [78, 87, 82, 49];
|
|
209
|
+
function W(n) {
|
|
210
|
+
if (n.byteLength < 8) return null;
|
|
211
|
+
for (let i = 0; i < O.length; i++)
|
|
212
|
+
if (n[i] !== O[i]) return null;
|
|
213
|
+
const t = new DataView(n.buffer, n.byteOffset, n.byteLength).getUint32(4, true);
|
|
214
|
+
if (t === 0 || t !== n.byteLength - 8) return null;
|
|
215
|
+
try {
|
|
216
|
+
return new TextDecoder().decode(n.subarray(8));
|
|
217
|
+
} catch {
|
|
218
|
+
return null;
|
|
169
219
|
}
|
|
170
|
-
|
|
220
|
+
}
|
|
221
|
+
class ce extends j {
|
|
222
|
+
constructor(e = {}) {
|
|
223
|
+
super(K), this.appState = _.currentState, this.deinitialized = false, this._signCB = (t) => {
|
|
224
|
+
}, this.nativeModule = D.getModule(), this.nativeModule.init(e), this.useByteRuntime = !!l(), this.eventEmitter = D.getEventEmitter(), this.eventListener = (t) => {
|
|
225
|
+
if (this.deinitialized) return;
|
|
226
|
+
const i = Array.isArray(t) ? t[0] : t, s = z(i);
|
|
227
|
+
if (s) {
|
|
228
|
+
if (this.useByteRuntime) {
|
|
229
|
+
this.handleNativeWake(s);
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
this.handleNativeMessage(s);
|
|
233
|
+
}
|
|
234
|
+
}, this.eventEmitter.addListener(R, this.eventListener), this.appStateSubscription = _.addEventListener("change", (t) => {
|
|
235
|
+
const i = this.appState === "active", s = this.appState === "background" || this.appState === "inactive", a = t === "background" || t === "inactive";
|
|
236
|
+
this.appState = t, i && a && this.cleanup(), s && t === "active" && this.nativeModule.wake();
|
|
237
|
+
}), ie(this), Promise.resolve().then(() => this.restoreSession());
|
|
238
|
+
}
|
|
239
|
+
isDeinitialized() {
|
|
240
|
+
return this.deinitialized;
|
|
241
|
+
}
|
|
242
|
+
postMessage(e) {
|
|
243
|
+
this.nativeModule.handleMessage(e.slice().buffer);
|
|
244
|
+
}
|
|
245
|
+
handleNativeWake(e) {
|
|
246
|
+
const t = W(e);
|
|
247
|
+
if (t) {
|
|
248
|
+
this.dispatch(`subscription:${t}`, t), this.dispatch(`publish:${t}`, t);
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
this.handleNativePayload(e);
|
|
252
|
+
}
|
|
253
|
+
handleNativeMessage(e) {
|
|
254
|
+
const t = W(e);
|
|
255
|
+
if (t) {
|
|
256
|
+
this.dispatch(`subscription:${t}`, t), this.dispatch(`publish:${t}`, t);
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
this.handleNativePayload(e);
|
|
260
|
+
}
|
|
261
|
+
handleNativePayload(e) {
|
|
262
|
+
let t = "", i;
|
|
263
|
+
try {
|
|
264
|
+
const s = new p.ByteBuffer(e);
|
|
265
|
+
i = B.getRootAsWorkerMessage(s), t = i.subId() ?? "";
|
|
266
|
+
} catch {
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
if (!this.handleRelayStatus(i, t)) {
|
|
270
|
+
if (t === "crypto") {
|
|
271
|
+
this.handleCryptoMessage(e);
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
if (t === "") {
|
|
275
|
+
this.handleDirectResponse(e);
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
this.dispatch(`subscription:${t}`, t), this.dispatch(`publish:${t}`, t);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
handleRelayStatus(e, t) {
|
|
282
|
+
if (e.type() !== M.ConnectionStatus)
|
|
283
|
+
return false;
|
|
284
|
+
const i = e.content(new se()), s = (i == null ? void 0 : i.relayUrl()) ?? "", a = (i == null ? void 0 : i.status()) ?? "";
|
|
285
|
+
return s && a && (this.relayStatuses.set(s, {
|
|
286
|
+
status: a,
|
|
287
|
+
timestamp: Date.now()
|
|
288
|
+
}), this.dispatch("relay:status", { status: a, url: s })), !t;
|
|
289
|
+
}
|
|
290
|
+
handleDirectResponse(e) {
|
|
171
291
|
var _a;
|
|
172
|
-
(
|
|
292
|
+
if (e.length < 4) return;
|
|
293
|
+
const i = new DataView(e.buffer, e.byteOffset, e.byteLength).getUint32(0, true), s = e.length >= 4 + i && i > 0, a = new p.ByteBuffer(
|
|
294
|
+
s ? e.subarray(4, 4 + i) : e
|
|
295
|
+
), r = B.getRootAsWorkerMessage(a);
|
|
296
|
+
if (r.type() !== M.Pubkey) return;
|
|
297
|
+
const o = r.content(new ae()), u = o ? o.pubkey() : null;
|
|
298
|
+
if (u) {
|
|
299
|
+
this.activePubkey = u;
|
|
300
|
+
const d = ((_a = this._pendingSession) == null ? void 0 : _a.type) === "privkey" ? this._pendingSession.payload : void 0;
|
|
301
|
+
this._pendingSession && (this.saveSession(u, this._pendingSession.type, this._pendingSession.payload), this._pendingSession = null), this.dispatch("auth", { pubkey: this.activePubkey, hasSigner: true, secretKey: d });
|
|
302
|
+
} else
|
|
303
|
+
this.dispatch("auth", { pubkey: null, hasSigner: false });
|
|
304
|
+
}
|
|
305
|
+
handleCryptoMessage(e) {
|
|
306
|
+
var _a;
|
|
307
|
+
const t = new p.ByteBuffer(e), i = B.getRootAsWorkerMessage(t);
|
|
308
|
+
if (i.type() !== M.Raw) return;
|
|
309
|
+
const s = i.content(new oe()), a = s ? s.raw() : null;
|
|
310
|
+
if (a)
|
|
311
|
+
try {
|
|
312
|
+
const r = JSON.parse(a);
|
|
313
|
+
if (r.op === "get_public_key" || r.op === "set_signer") {
|
|
314
|
+
const o = ((_a = this._pendingSession) == null ? void 0 : _a.type) === "privkey" ? this._pendingSession.payload : void 0;
|
|
315
|
+
if (r.result && (this.activePubkey = r.result, this._pendingSession)) {
|
|
316
|
+
const u = this._pendingSession.type === "nip46" && typeof r.bunker_url == "string" && r.bunker_url.startsWith("bunker://") && this._pendingSession.payload && typeof this._pendingSession.payload == "object" ? { ...this._pendingSession.payload, url: r.bunker_url } : this._pendingSession.payload;
|
|
317
|
+
this.saveSession(this.activePubkey, this._pendingSession.type, u), this._pendingSession = null;
|
|
318
|
+
}
|
|
319
|
+
this.dispatch("auth", { pubkey: this.activePubkey, hasSigner: !!r.result, secretKey: o });
|
|
320
|
+
} else r.op === "sign_event" && r.result ? this._signCB(JSON.parse(r.result)) : r.error && console.warn("[ReactNativeManager] Crypto error:", r.error);
|
|
321
|
+
} catch (r) {
|
|
322
|
+
console.warn("[ReactNativeManager] Failed to parse crypto raw message:", r);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
subscribe(e, t, i) {
|
|
326
|
+
const s = e, a = this.nativeModule.retainSubscriptionBuffer(s);
|
|
327
|
+
if (a instanceof ArrayBuffer)
|
|
328
|
+
return a;
|
|
329
|
+
const r = i.pipeline !== void 0 ? new C(i.pipeline) : new C([
|
|
330
|
+
new w(S.MuteFilterPipeConfig, new G()),
|
|
331
|
+
new w(S.ParsePipeConfig, new Q()),
|
|
332
|
+
new w(S.SaveToDbPipeConfig, new J()),
|
|
333
|
+
new w(S.SerializeEventsPipeConfig, new q(s))
|
|
334
|
+
]), o = new H(
|
|
335
|
+
r,
|
|
336
|
+
i.closeOnEose,
|
|
337
|
+
i.cacheFirst,
|
|
338
|
+
i.timeoutMs ? BigInt(i.timeoutMs) : void 0,
|
|
339
|
+
i.maxEvents,
|
|
340
|
+
i.skipCache,
|
|
341
|
+
i.force,
|
|
342
|
+
i.bytesPerEvent,
|
|
343
|
+
i.isSlow,
|
|
344
|
+
i.pagination ? this.textEncoder.encode(i.pagination) : null,
|
|
345
|
+
i.cacheOnly
|
|
346
|
+
), u = new X(
|
|
347
|
+
this.textEncoder.encode(s),
|
|
348
|
+
t.map(
|
|
349
|
+
(c) => new re(
|
|
350
|
+
c.ids,
|
|
351
|
+
c.authors,
|
|
352
|
+
c.kinds,
|
|
353
|
+
Object.entries(c.tags || {}).flatMap(
|
|
354
|
+
([b, $]) => new N([b, ...$])
|
|
355
|
+
),
|
|
356
|
+
c.limit,
|
|
357
|
+
c.since,
|
|
358
|
+
c.until,
|
|
359
|
+
c.search ? this.textEncoder.encode(c.search) : null,
|
|
360
|
+
c.relays,
|
|
361
|
+
c.closeOnEOSE,
|
|
362
|
+
c.cacheFirst,
|
|
363
|
+
c.noCache,
|
|
364
|
+
void 0,
|
|
365
|
+
i.cacheOnly
|
|
366
|
+
)
|
|
367
|
+
),
|
|
368
|
+
o
|
|
369
|
+
), d = new g(y.Subscribe, u), h = new p.Builder(2048);
|
|
370
|
+
h.finish(d.pack(h));
|
|
371
|
+
const f = this.nativeModule.subscribe(h.asUint8Array(), s);
|
|
372
|
+
if (!(f instanceof ArrayBuffer))
|
|
373
|
+
throw new Error("[ReactNativeManager] native subscription buffer unavailable");
|
|
374
|
+
return f;
|
|
375
|
+
}
|
|
376
|
+
getBuffer(e) {
|
|
377
|
+
console.warn(
|
|
378
|
+
`[ReactNativeManager] getBuffer(${e}) is deprecated. Use subscribe() through useSubscription so Rust can own subscription lifetime.`
|
|
379
|
+
);
|
|
380
|
+
}
|
|
381
|
+
unsubscribe(e) {
|
|
382
|
+
this.nativeModule.releaseSubscription(e);
|
|
383
|
+
}
|
|
384
|
+
publish(e, t, i = [], s) {
|
|
385
|
+
const a = new L(
|
|
386
|
+
t.kind,
|
|
387
|
+
t.created_at,
|
|
388
|
+
this.textEncoder.encode(t.content),
|
|
389
|
+
t.tags.map((h) => new N(h)) || []
|
|
390
|
+
), r = new Y(
|
|
391
|
+
this.textEncoder.encode(e),
|
|
392
|
+
a,
|
|
393
|
+
i,
|
|
394
|
+
s || []
|
|
395
|
+
), o = new g(y.Publish, r), u = new p.Builder(2048);
|
|
396
|
+
u.finish(o.pack(u));
|
|
397
|
+
const d = this.nativeModule.publish(u.asUint8Array(), e);
|
|
398
|
+
if (!(d instanceof ArrayBuffer))
|
|
399
|
+
throw new Error(`[ReactNativeManager] Failed to get native publish buffer '${e}'`);
|
|
400
|
+
return d;
|
|
401
|
+
}
|
|
402
|
+
releasePublish(e) {
|
|
403
|
+
this.nativeModule.releaseSubscription(e);
|
|
404
|
+
}
|
|
405
|
+
setSigner(e, t) {
|
|
406
|
+
switch (this._pendingSession = { type: e, payload: t }, e) {
|
|
407
|
+
case "pubkey":
|
|
408
|
+
this.activePubkey = t, this.saveSession(this.activePubkey, "pubkey", t), this._pendingSession = null, this.dispatch("auth", { pubkey: this.activePubkey, hasSigner: false });
|
|
409
|
+
break;
|
|
410
|
+
case "privkey":
|
|
411
|
+
this.nativeModule.setPrivateKey(t), this.getPublicKey();
|
|
412
|
+
break;
|
|
413
|
+
case "nip07":
|
|
414
|
+
console.warn("[ReactNativeManager] NIP-07 is not supported in React Native"), this.dispatch("auth", { pubkey: null, hasSigner: false });
|
|
415
|
+
break;
|
|
416
|
+
case "nip46": {
|
|
417
|
+
const i = t, s = (i == null ? void 0 : i.url) || "", a = i == null ? void 0 : i.clientSecret, r = s.startsWith("bunker://") ? new x(I.Nip46Bunker, new Z(s, a)) : s.startsWith("nostrconnect://") ? new x(I.Nip46QR, new ee(s, a)) : null;
|
|
418
|
+
if (!r) {
|
|
419
|
+
this._pendingSession = null, this.dispatch("auth", { pubkey: null, hasSigner: false });
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
422
|
+
const o = new g(y.SetSigner, r), u = new p.Builder(2048);
|
|
423
|
+
u.finish(o.pack(u)), this.postMessage(u.asUint8Array());
|
|
424
|
+
break;
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
signEvent(e, t) {
|
|
429
|
+
this._signCB = t;
|
|
430
|
+
const i = new L(
|
|
431
|
+
e.kind,
|
|
432
|
+
e.created_at,
|
|
433
|
+
this.textEncoder.encode(e.content),
|
|
434
|
+
e.tags.map((o) => new N(o)) || []
|
|
435
|
+
), s = new te(i), a = new g(y.SignEvent, s), r = new p.Builder(2048);
|
|
436
|
+
r.finish(a.pack(r)), this.postMessage(r.asUint8Array());
|
|
437
|
+
}
|
|
438
|
+
getPublicKey() {
|
|
439
|
+
const e = new g(y.GetPublicKey, new ne()), t = new p.Builder(2048);
|
|
440
|
+
t.finish(e.pack(t)), this.postMessage(t.asUint8Array());
|
|
441
|
+
}
|
|
442
|
+
onLogout() {
|
|
443
|
+
}
|
|
444
|
+
cleanup() {
|
|
445
|
+
this.nativeModule.cleanupSubscriptions();
|
|
446
|
+
}
|
|
447
|
+
deinit() {
|
|
448
|
+
var _a, _b;
|
|
449
|
+
this.deinitialized = true, (_a = this.appStateSubscription) == null ? void 0 : _a.remove(), this.appStateSubscription = void 0, this.eventListener && ((_b = this.eventEmitter) == null ? void 0 : _b.removeListener(R, this.eventListener), this.eventListener = void 0), this.nativeModule.deinit();
|
|
173
450
|
}
|
|
174
451
|
}
|
|
175
|
-
function
|
|
176
|
-
return
|
|
177
|
-
}
|
|
178
|
-
function U(e) {
|
|
179
|
-
return x(e);
|
|
452
|
+
function le(n = {}) {
|
|
453
|
+
return v && !v.isDeinitialized() || (v = new ce(n)), v;
|
|
180
454
|
}
|
|
181
|
-
function
|
|
182
|
-
return
|
|
455
|
+
function ye(n) {
|
|
456
|
+
return le(n);
|
|
183
457
|
}
|
|
184
|
-
function
|
|
458
|
+
function fe() {
|
|
185
459
|
return !!m();
|
|
186
460
|
}
|
|
187
|
-
function
|
|
188
|
-
return !!
|
|
461
|
+
function ve() {
|
|
462
|
+
return !!k();
|
|
463
|
+
}
|
|
464
|
+
function me() {
|
|
465
|
+
return !!l();
|
|
189
466
|
}
|
|
190
|
-
function
|
|
191
|
-
return
|
|
467
|
+
function we() {
|
|
468
|
+
return fe();
|
|
192
469
|
}
|
|
193
470
|
export {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
471
|
+
ce as ReactNativeBackend,
|
|
472
|
+
ce as ReactNativeManager,
|
|
473
|
+
ye as createNostrManager,
|
|
474
|
+
ke as getManager,
|
|
475
|
+
le as getOrCreateReactNativeBackend,
|
|
476
|
+
we as hasNativeModule,
|
|
477
|
+
me as hasReactNativeByteRuntime,
|
|
478
|
+
fe as hasReactNativeModule,
|
|
479
|
+
ve as hasReactNativeTurboModule,
|
|
480
|
+
Me as setGlobalManager,
|
|
481
|
+
ie as setManager
|
|
204
482
|
};
|