applesauce-wallet-connect
Version:
NIP-47 Nostr Wallet Connect implementation for both clients and services.
20 lines (19 loc) • 869 B
JavaScript
/** Get the subscription and publish methods for a NostrConnect class */
export function getConnectionMethods(options, cls) {
const subscriptionMethod = options.subscriptionMethod ||
options.pool?.subscription.bind(options.pool) ||
cls?.subscriptionMethod ||
cls?.pool?.subscription.bind(cls.pool);
if (!subscriptionMethod)
throw new Error("Missing subscriptionMethod, either pass a method or set subscriptionMethod globally on the class");
const publishMethod = options.publishMethod ||
options.pool?.publish.bind(options.pool) ||
cls?.publishMethod ||
cls?.pool?.publish.bind(cls.pool);
if (!publishMethod)
throw new Error("Missing publishMethod, either pass a method or set publishMethod globally on the class");
return {
subscriptionMethod,
publishMethod,
};
}