/* eslint no-console: ["error", { allow: ["log"] }] */ /* eslint max-nested-callbacks: ["error", 5] */ 'use strict' const domReady = require('detect-dom-ready') const createNode = require('./create-node') domReady(() => { const myPeerDiv = document.getElementById('my-peer') const swarmDiv = document.getElementById('swarm') createNode((err, node) => { if (err) { return console.log('Could not create the Node, check if your browser has WebRTC Support', err) } node.on('peer:discovery', (peerInfo) => { console.log('Discovered a peer:', peerInfo.id.toB58String()) }) node.on('peer:connect', (peerInfo) => { const idStr = peerInfo.id.toB58String() console.log('Got connection to: ' + idStr) const connDiv = document.createElement('div') connDiv.innerHTML = 'Connected to: ' + idStr connDiv.id = idStr swarmDiv.append(connDiv) }) node.on('peer:disconnect', (peerInfo) => { const idStr = peerInfo.id.toB58String() const el = document.getElementById(idStr) el && el.remove() }) node.start((err) => { if (err) { return console.log(err) } const idStr = node.peerInfo.id.toB58String() const idDiv = document .createTextNode('Node is ready. ID: ' + idStr) myPeerDiv.append(idDiv) console.log('Node is listening o/') node.peerInfo.multiaddrs.toArray().forEach(ma => { console.log(ma.toString()) }) // NOTE: to stop the node // node.stop((err) => {}) }) }) })