rx-nostr
Version:
A library based on RxJS, which allows Nostr applications to easily communicate with relays.
49 lines • 1.99 kB
TypeScript
import { Observable } from 'rxjs';
import { ConnectionStrategy, FilledRxNostrConfig } from '../config/index.js';
import { ConnectionState, ConnectionStatePacket, ErrorPacket, EventPacket, LazyREQ, MessagePacket, OkPacketAgainstEvent, OutgoingMessagePacket } from '../packet.js';
import { FinPacket } from './subscribe.js';
import * as Nostr from "nostr-typedef";
export interface SubscribeOptions {
overwrite: boolean;
autoclose: boolean;
mode: REQMode;
}
/**
* - `"default"`: Subscriptions are active only while the relay is marked as a default relay.
* - `"temporary"`: Subscriptions are always active.
*/
export type REQMode = "default" | "temporary";
export declare class NostrConnection {
private relay;
private pubProxy;
private subProxy;
private defaultSubscriptionIds;
private communicating;
private strategy;
private disconnectTimeout;
private disconnectTimer?;
private isDefaultRelay;
private disposed;
private _url;
get url(): string;
constructor(url: string, config: FilledRxNostrConfig);
setConnectionStrategy(strategy: ConnectionStrategy): void;
private resetConnection;
markAsDefault(flag: boolean): void;
publish(event: Nostr.Event<number>): Promise<void>;
confirmOK(eventId: string): void;
subscribe(req: LazyREQ, options?: Partial<SubscribeOptions>): void;
unsubscribe(subId: string): void;
getEventObservable(): Observable<EventPacket>;
getFinObservable(): Observable<FinPacket>;
getOkAgainstEventObservable(): Observable<OkPacketAgainstEvent>;
getAllMessageObservable(): Observable<MessagePacket>;
getOutgoingMessageObservable(): Observable<OutgoingMessagePacket>;
getConnectionStateObservable(): Observable<ConnectionStatePacket>;
get connectionState(): ConnectionState;
getErrorObservable(): Observable<ErrorPacket>;
connectManually(): void;
dispose(): void;
[Symbol.dispose](): void;
}
//# sourceMappingURL=connection.d.ts.map