aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/lib/createDnodeRemoteGetter.js
blob: b70d218f32283b18742adde32035f0f09bfebcee (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
module.exports = createDnodeRemoteGetter

function createDnodeRemoteGetter (dnode) {
  let remote

  dnode.once('remote', (_remote) => {
    remote = _remote
  })

  async function getRemote () {
    if (remote) return remote
    return await new Promise(resolve => dnode.once('remote', resolve))
  }

  return getRemote
}