decentralized-internet
Version:
An NPM library of programs to create decentralized web and distributed computing projects
1 lines • 472 B
JavaScript
;const async=require("async"),cmp=require("comparejs"),flaschenpost=require("flaschenpost"),parse=require("parse-duration"),logger=flaschenpost.getLogger(),waitUntil=function(e,r){return{have:t=>({equalTo:(a,i)=>{logger.info("Waiting for peers to fulfill predicate...",{expected:a}),async.each(e,(e,i)=>{let n;async.until(()=>cmp.eq(n,a),a=>{e[t]((e,t)=>{if(e)return a(e);n=t,setTimeout(()=>{a(null)},parse(r.interval))})},i)},i)}})}};module.exports=waitUntil;