Compare commits
2 Commits
343fda1172
...
411582ef05
Author | SHA1 | Date |
---|---|---|
Derrick Hammer | 411582ef05 | |
Derrick Hammer | 439bd9f022 |
|
@ -3,18 +3,18 @@ import Hyperswarm from "hyperswarm";
|
|||
import EventEmitter from "eventemitter2";
|
||||
export default class HyperswarmWeb extends EventEmitter {
|
||||
private _options;
|
||||
private _relays;
|
||||
private _activeRelay;
|
||||
private _discovery;
|
||||
private _queuedEmActions;
|
||||
private _connectionMutex;
|
||||
constructor(opts?: any);
|
||||
get activeRelay(): Hyperswarm;
|
||||
init(): Promise<void>;
|
||||
private ensureConnection;
|
||||
private isServerAvailable;
|
||||
connect(pubkey: string, options?: {}): Promise<DhtNode>;
|
||||
private _relays;
|
||||
get relays(): string[];
|
||||
private _activeRelay;
|
||||
get activeRelay(): Hyperswarm;
|
||||
private _ready;
|
||||
get ready(): boolean;
|
||||
init(): Promise<void>;
|
||||
connect(pubkey: string, options?: {}): Promise<DhtNode>;
|
||||
addRelay(pubkey: string): Promise<void>;
|
||||
removeRelay(pubkey: string): boolean;
|
||||
clearRelays(): void;
|
||||
|
@ -24,8 +24,6 @@ export default class HyperswarmWeb extends EventEmitter {
|
|||
removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this;
|
||||
emit(eventName: string | symbol, ...args: any[]): boolean;
|
||||
once(eventName: string | symbol, listener: (...args: any[]) => void): this;
|
||||
private _processOrQueueAction;
|
||||
private _processQueuedActions;
|
||||
join(topic: Uint8Array, opts?: {}): void;
|
||||
joinPeer(publicKey: Uint8Array): void;
|
||||
leave(topic: Uint8Array): void;
|
||||
|
@ -34,5 +32,9 @@ export default class HyperswarmWeb extends EventEmitter {
|
|||
topics(): string[];
|
||||
flush(): Promise<any>;
|
||||
clear(): Promise<any>;
|
||||
private ensureConnection;
|
||||
private isServerAvailable;
|
||||
private _processOrQueueAction;
|
||||
private _processQueuedActions;
|
||||
}
|
||||
//# sourceMappingURL=index.d.ts.map
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAW5C,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,YAAY,MAAM,eAAe,CAAC;AAGzC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,YAAY;IACrD,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,gBAAgB,CAAuB;IAE/C,OAAO,CAAC,gBAAgB,CAAsB;gBAClC,IAAI,GAAE,GAAQ;IAO1B,IAAI,WAAW,IAAI,UAAU,CAE5B;IAED,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAIP,gBAAgB;YAmEhB,iBAAiB;IAYzB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ7D,IAAI,MAAM,IAAI,MAAM,EAAE,CAErB;IAEY,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAUpC,WAAW,IAAI,IAAI;IAI1B,EAAE,CACA,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACjC,UAAU;IAGb,WAAW,CACT,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACjC,IAAI;IAIP,GAAG,CACD,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACjC,UAAU;IAIb,cAAc,CACZ,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACjC,IAAI;IAGP,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO;IAIzD,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAI1E,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,qBAAqB;IAQtB,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,KAAK,GAAG,IAAI;IAGxC,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAGrC,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAG9B,SAAS,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAGtC,MAAM,CAAC,SAAS,EAAE,UAAU;IAG5B,MAAM,IAAI,MAAM,EAAE;IAGZ,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC;IAGrB,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC;CAGnC"}
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAW5C,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,YAAY,MAAM,eAAe,CAAC;AAGzC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,YAAY;IACrD,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,gBAAgB,CAAsB;gBAElC,IAAI,GAAE,GAAQ;IAO1B,OAAO,CAAC,OAAO,CAA0B;IAEzC,IAAI,MAAM,IAAI,MAAM,EAAE,CAErB;IAED,OAAO,CAAC,YAAY,CAAa;IAEjC,IAAI,WAAW,IAAI,UAAU,CAE5B;IAED,OAAO,CAAC,MAAM,CAAS;IAEvB,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIf,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAUpC,WAAW,IAAI,IAAI;IAI1B,EAAE,CACA,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACjC,UAAU;IAIb,WAAW,CACT,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACjC,IAAI;IAIP,GAAG,CACD,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACjC,UAAU;IAIb,cAAc,CACZ,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACjC,IAAI;IAIP,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO;IAIzD,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAInE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,KAAK,GAAG,IAAI;IAIxC,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAIrC,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAI9B,SAAS,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAItC,MAAM,CAAC,SAAS,EAAE,UAAU;IAI5B,MAAM,IAAI,MAAM,EAAE;IAIZ,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC;IAIrB,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC;YAIpB,gBAAgB;YAqEhB,iBAAiB;IAa/B,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,qBAAqB;CAO9B"}
|
|
@ -11,8 +11,6 @@ import EventEmitter from "eventemitter2";
|
|||
import { Mutex } from "async-mutex";
|
||||
export default class HyperswarmWeb extends EventEmitter {
|
||||
_options;
|
||||
_relays = new Set();
|
||||
_activeRelay;
|
||||
_discovery;
|
||||
_queuedEmActions = [];
|
||||
_connectionMutex = new Mutex();
|
||||
|
@ -22,12 +20,82 @@ export default class HyperswarmWeb extends EventEmitter {
|
|||
this._options = opts;
|
||||
this._discovery = createClient();
|
||||
}
|
||||
_relays = new Set();
|
||||
get relays() {
|
||||
return [...this._relays.values()];
|
||||
}
|
||||
_activeRelay;
|
||||
get activeRelay() {
|
||||
return this._activeRelay;
|
||||
}
|
||||
_ready = false;
|
||||
get ready() {
|
||||
return this._ready;
|
||||
}
|
||||
init() {
|
||||
return this.ensureConnection();
|
||||
}
|
||||
async connect(pubkey, options = {}) {
|
||||
if (!this._activeRelay) {
|
||||
await this.ensureConnection();
|
||||
}
|
||||
return this._activeRelay.connect(pubkey, options);
|
||||
}
|
||||
async addRelay(pubkey) {
|
||||
this._relays.add(pubkey);
|
||||
}
|
||||
removeRelay(pubkey) {
|
||||
if (!this._relays.has(pubkey)) {
|
||||
return false;
|
||||
}
|
||||
this._relays.delete(pubkey);
|
||||
return true;
|
||||
}
|
||||
clearRelays() {
|
||||
this._relays.clear();
|
||||
}
|
||||
on(eventName, listener) {
|
||||
return this._processOrQueueAction("on", ...arguments);
|
||||
}
|
||||
addListener(eventName, listener) {
|
||||
return this.on(eventName, listener);
|
||||
}
|
||||
off(eventName, listener) {
|
||||
return this._processOrQueueAction("off", ...arguments);
|
||||
}
|
||||
removeListener(eventName, listener) {
|
||||
return this.off(eventName, listener);
|
||||
}
|
||||
emit(eventName, ...args) {
|
||||
return this._processOrQueueAction("emit", ...arguments);
|
||||
}
|
||||
once(eventName, listener) {
|
||||
return this._processOrQueueAction("once", ...arguments);
|
||||
}
|
||||
join(topic, opts = {}) {
|
||||
return this._processOrQueueAction("join", ...arguments);
|
||||
}
|
||||
joinPeer(publicKey) {
|
||||
return this._processOrQueueAction("joinPeer", ...arguments);
|
||||
}
|
||||
leave(topic) {
|
||||
return this._processOrQueueAction("leave", ...arguments);
|
||||
}
|
||||
leavePeer(publicKey) {
|
||||
return this._processOrQueueAction("leavePeer", ...arguments);
|
||||
}
|
||||
status(publicKey) {
|
||||
return this._activeRelay?.status(publicKey);
|
||||
}
|
||||
topics() {
|
||||
return this._activeRelay?.topics();
|
||||
}
|
||||
async flush() {
|
||||
return this._activeRelay?.flush();
|
||||
}
|
||||
async clear() {
|
||||
return this._activeRelay?.clear();
|
||||
}
|
||||
async ensureConnection() {
|
||||
const logErr = (await load()).logErr;
|
||||
await this._connectionMutex.waitForUnlock();
|
||||
|
@ -65,6 +133,7 @@ export default class HyperswarmWeb extends EventEmitter {
|
|||
});
|
||||
this._activeRelay.on("close", () => {
|
||||
this._activeRelay = undefined;
|
||||
this._ready = false;
|
||||
});
|
||||
} while (relays.length > 0 && !this._activeRelay);
|
||||
}
|
||||
|
@ -75,6 +144,7 @@ export default class HyperswarmWeb extends EventEmitter {
|
|||
this._processQueuedActions();
|
||||
await this._activeRelay.dht.ready();
|
||||
this._connectionMutex.release();
|
||||
this._ready = true;
|
||||
this.emit("ready");
|
||||
}
|
||||
async isServerAvailable(connection) {
|
||||
|
@ -89,46 +159,6 @@ export default class HyperswarmWeb extends EventEmitter {
|
|||
});
|
||||
});
|
||||
}
|
||||
async connect(pubkey, options = {}) {
|
||||
if (!this._activeRelay) {
|
||||
await this.ensureConnection();
|
||||
}
|
||||
return this._activeRelay.connect(pubkey, options);
|
||||
}
|
||||
get relays() {
|
||||
return [...this._relays.values()];
|
||||
}
|
||||
async addRelay(pubkey) {
|
||||
this._relays.add(pubkey);
|
||||
}
|
||||
removeRelay(pubkey) {
|
||||
if (!this._relays.has(pubkey)) {
|
||||
return false;
|
||||
}
|
||||
this._relays.delete(pubkey);
|
||||
return true;
|
||||
}
|
||||
clearRelays() {
|
||||
this._relays.clear();
|
||||
}
|
||||
on(eventName, listener) {
|
||||
return this._processOrQueueAction("on", ...arguments);
|
||||
}
|
||||
addListener(eventName, listener) {
|
||||
return this.on(eventName, listener);
|
||||
}
|
||||
off(eventName, listener) {
|
||||
return this._processOrQueueAction("off", ...arguments);
|
||||
}
|
||||
removeListener(eventName, listener) {
|
||||
return this.off(eventName, listener);
|
||||
}
|
||||
emit(eventName, ...args) {
|
||||
return this._processOrQueueAction("emit", ...arguments);
|
||||
}
|
||||
once(eventName, listener) {
|
||||
return this._processOrQueueAction("once", ...arguments);
|
||||
}
|
||||
_processOrQueueAction(method, ...args) {
|
||||
if (this._activeRelay) {
|
||||
return this._activeRelay[method](...args);
|
||||
|
@ -142,28 +172,4 @@ export default class HyperswarmWeb extends EventEmitter {
|
|||
}
|
||||
this._queuedEmActions = [];
|
||||
}
|
||||
join(topic, opts = {}) {
|
||||
return this._processOrQueueAction("join", ...arguments);
|
||||
}
|
||||
joinPeer(publicKey) {
|
||||
return this._processOrQueueAction("joinPeer", ...arguments);
|
||||
}
|
||||
leave(topic) {
|
||||
return this._processOrQueueAction("leave", ...arguments);
|
||||
}
|
||||
leavePeer(publicKey) {
|
||||
return this._processOrQueueAction("leavePeer", ...arguments);
|
||||
}
|
||||
status(publicKey) {
|
||||
return this._activeRelay?.status(publicKey);
|
||||
}
|
||||
topics() {
|
||||
return this._activeRelay?.topics();
|
||||
}
|
||||
async flush() {
|
||||
return this._activeRelay?.flush();
|
||||
}
|
||||
async clear() {
|
||||
return this._activeRelay?.clear();
|
||||
}
|
||||
}
|
||||
|
|
202
src/index.ts
202
src/index.ts
|
@ -17,12 +17,10 @@ import { Mutex } from "async-mutex";
|
|||
|
||||
export default class HyperswarmWeb extends EventEmitter {
|
||||
private _options: any;
|
||||
private _relays: Set<string> = new Set();
|
||||
private _activeRelay: Hyperswarm;
|
||||
private _discovery: PeerDiscoveryClient;
|
||||
private _queuedEmActions: [string, any][] = [];
|
||||
|
||||
private _connectionMutex: Mutex = new Mutex();
|
||||
|
||||
constructor(opts: any = {}) {
|
||||
super();
|
||||
opts.custodial = false;
|
||||
|
@ -30,14 +28,122 @@ export default class HyperswarmWeb extends EventEmitter {
|
|||
this._discovery = createClient();
|
||||
}
|
||||
|
||||
private _relays: Set<string> = new Set();
|
||||
|
||||
get relays(): string[] {
|
||||
return [...this._relays.values()];
|
||||
}
|
||||
|
||||
private _activeRelay: Hyperswarm;
|
||||
|
||||
get activeRelay(): Hyperswarm {
|
||||
return this._activeRelay;
|
||||
}
|
||||
|
||||
private _ready = false;
|
||||
|
||||
get ready(): boolean {
|
||||
return this._ready;
|
||||
}
|
||||
|
||||
init(): Promise<void> {
|
||||
return this.ensureConnection();
|
||||
}
|
||||
|
||||
async connect(pubkey: string, options = {}): Promise<DhtNode> {
|
||||
if (!this._activeRelay) {
|
||||
await this.ensureConnection();
|
||||
}
|
||||
|
||||
return this._activeRelay.connect(pubkey, options);
|
||||
}
|
||||
|
||||
public async addRelay(pubkey: string): Promise<void> {
|
||||
this._relays.add(pubkey);
|
||||
}
|
||||
|
||||
public removeRelay(pubkey: string): boolean {
|
||||
if (!this._relays.has(pubkey)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
this._relays.delete(pubkey);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public clearRelays(): void {
|
||||
this._relays.clear();
|
||||
}
|
||||
|
||||
on(
|
||||
eventName: string | symbol,
|
||||
listener: (...args: any[]) => void
|
||||
): Hyperswarm {
|
||||
return this._processOrQueueAction("on", ...arguments);
|
||||
}
|
||||
|
||||
addListener(
|
||||
eventName: string | symbol,
|
||||
listener: (...args: any[]) => void
|
||||
): this {
|
||||
return this.on(eventName, listener);
|
||||
}
|
||||
|
||||
off(
|
||||
eventName: string | symbol,
|
||||
listener: (...args: any[]) => void
|
||||
): Hyperswarm {
|
||||
return this._processOrQueueAction("off", ...arguments);
|
||||
}
|
||||
|
||||
removeListener(
|
||||
eventName: string | symbol,
|
||||
listener: (...args: any[]) => void
|
||||
): this {
|
||||
return this.off(eventName, listener);
|
||||
}
|
||||
|
||||
emit(eventName: string | symbol, ...args: any[]): boolean {
|
||||
return this._processOrQueueAction("emit", ...arguments);
|
||||
}
|
||||
|
||||
once(eventName: string | symbol, listener: (...args: any[]) => void): this {
|
||||
return this._processOrQueueAction("once", ...arguments);
|
||||
}
|
||||
|
||||
public join(topic: Uint8Array, opts = {}): void {
|
||||
return this._processOrQueueAction("join", ...arguments);
|
||||
}
|
||||
|
||||
public joinPeer(publicKey: Uint8Array): void {
|
||||
return this._processOrQueueAction("joinPeer", ...arguments);
|
||||
}
|
||||
|
||||
public leave(topic: Uint8Array): void {
|
||||
return this._processOrQueueAction("leave", ...arguments);
|
||||
}
|
||||
|
||||
public leavePeer(publicKey: Uint8Array): void {
|
||||
return this._processOrQueueAction("leavePeer", ...arguments);
|
||||
}
|
||||
|
||||
public status(publicKey: Uint8Array) {
|
||||
return this._activeRelay?.status(publicKey);
|
||||
}
|
||||
|
||||
public topics(): string[] {
|
||||
return this._activeRelay?.topics();
|
||||
}
|
||||
|
||||
public async flush(): Promise<any> {
|
||||
return this._activeRelay?.flush();
|
||||
}
|
||||
|
||||
public async clear(): Promise<any> {
|
||||
return this._activeRelay?.clear();
|
||||
}
|
||||
|
||||
private async ensureConnection(): Promise<any> {
|
||||
const logErr = (await load()).logErr;
|
||||
|
||||
|
@ -89,6 +195,7 @@ export default class HyperswarmWeb extends EventEmitter {
|
|||
|
||||
this._activeRelay.on("close", () => {
|
||||
this._activeRelay = undefined;
|
||||
this._ready = false;
|
||||
});
|
||||
} while (relays.length > 0 && !this._activeRelay);
|
||||
}
|
||||
|
@ -102,6 +209,7 @@ export default class HyperswarmWeb extends EventEmitter {
|
|||
await this._activeRelay.dht.ready();
|
||||
this._connectionMutex.release();
|
||||
|
||||
this._ready = true;
|
||||
this.emit("ready");
|
||||
}
|
||||
|
||||
|
@ -117,69 +225,6 @@ export default class HyperswarmWeb extends EventEmitter {
|
|||
});
|
||||
});
|
||||
}
|
||||
async connect(pubkey: string, options = {}): Promise<DhtNode> {
|
||||
if (!this._activeRelay) {
|
||||
await this.ensureConnection();
|
||||
}
|
||||
|
||||
return this._activeRelay.connect(pubkey, options);
|
||||
}
|
||||
|
||||
get relays(): string[] {
|
||||
return [...this._relays.values()];
|
||||
}
|
||||
|
||||
public async addRelay(pubkey: string): Promise<void> {
|
||||
this._relays.add(pubkey);
|
||||
}
|
||||
|
||||
public removeRelay(pubkey: string): boolean {
|
||||
if (!this._relays.has(pubkey)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
this._relays.delete(pubkey);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public clearRelays(): void {
|
||||
this._relays.clear();
|
||||
}
|
||||
|
||||
on(
|
||||
eventName: string | symbol,
|
||||
listener: (...args: any[]) => void
|
||||
): Hyperswarm {
|
||||
return this._processOrQueueAction("on", ...arguments);
|
||||
}
|
||||
addListener(
|
||||
eventName: string | symbol,
|
||||
listener: (...args: any[]) => void
|
||||
): this {
|
||||
return this.on(eventName, listener);
|
||||
}
|
||||
|
||||
off(
|
||||
eventName: string | symbol,
|
||||
listener: (...args: any[]) => void
|
||||
): Hyperswarm {
|
||||
return this._processOrQueueAction("off", ...arguments);
|
||||
}
|
||||
|
||||
removeListener(
|
||||
eventName: string | symbol,
|
||||
listener: (...args: any[]) => void
|
||||
): this {
|
||||
return this.off(eventName, listener);
|
||||
}
|
||||
emit(eventName: string | symbol, ...args: any[]): boolean {
|
||||
return this._processOrQueueAction("emit", ...arguments);
|
||||
}
|
||||
|
||||
once(eventName: string | symbol, listener: (...args: any[]) => void): this {
|
||||
return this._processOrQueueAction("once", ...arguments);
|
||||
}
|
||||
|
||||
private _processOrQueueAction(method: string, ...args: any[]) {
|
||||
if (this._activeRelay) {
|
||||
|
@ -197,29 +242,4 @@ export default class HyperswarmWeb extends EventEmitter {
|
|||
|
||||
this._queuedEmActions = [];
|
||||
}
|
||||
|
||||
public join(topic: Uint8Array, opts = {}): void {
|
||||
return this._processOrQueueAction("join", ...arguments);
|
||||
}
|
||||
public joinPeer(publicKey: Uint8Array): void {
|
||||
return this._processOrQueueAction("joinPeer", ...arguments);
|
||||
}
|
||||
public leave(topic: Uint8Array): void {
|
||||
return this._processOrQueueAction("leave", ...arguments);
|
||||
}
|
||||
public leavePeer(publicKey: Uint8Array): void {
|
||||
return this._processOrQueueAction("leavePeer", ...arguments);
|
||||
}
|
||||
public status(publicKey: Uint8Array) {
|
||||
return this._activeRelay?.status(publicKey);
|
||||
}
|
||||
public topics(): string[] {
|
||||
return this._activeRelay?.topics();
|
||||
}
|
||||
public async flush(): Promise<any> {
|
||||
return this._activeRelay?.flush();
|
||||
}
|
||||
public async clear(): Promise<any> {
|
||||
return this._activeRelay?.clear();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue