diff --git a/src/network.ts b/src/network.ts index d03ff2c..dab9747 100644 --- a/src/network.ts +++ b/src/network.ts @@ -2,7 +2,7 @@ import Hyperswarm from "hyperswarm"; import RpcNetworkQueryFactory from "./query/index.js"; import b4a from "b4a"; -import { createHash, isPromise } from "./util.js"; +import { createHash, maybeGetAsyncProperty } from "./util.js"; export default class RpcNetwork { private _relaysAvailablePromise?: Promise; @@ -70,15 +70,9 @@ export default class RpcNetwork { get ready(): Promise { if (!this._ready) { - let dht = this._swarm.dht; - if (typeof dht === "function") { - dht = dht(); - } - if (isPromise(dht)) { - this._ready = dht.then((dht: any) => dht.ready()); - } else { - this._ready = this._swarm.dht.ready() as Promise; - } + this._ready = maybeGetAsyncProperty(this._swarm.dht).then((dht: any) => + dht.ready() + ) as Promise; } return this._ready as Promise;