{"_id":"peer-connection-shim","_rev":"27-0ef44ce5627617c7d65658469c04a972","name":"peer-connection-shim","description":"Emulating peer connection in node & browser","dist-tags":{"latest":"0.7.2"},"versions":{"0.1.0":{"name":"peer-connection-shim","version":"0.1.0","description":"Emulating peer connection in node & browser","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/peer-connection-shim.git"},"main":"index","homepage":"https://github.com/Raynos/peer-connection-shim","contributors":[{"name":"Jake Verbaten"}],"bugs":{"url":"https://github.com/Raynos/peer-connection-shim/issues","email":"raynos2@gmail.com"},"dependencies":{"node-uuid":"~1.4.0"},"devDependencies":{"tap":"~0.3.1"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/peer-connection-shim/raw/master/LICENSE"}],"scripts":{"test":"tap --stderr --tap ./test"},"readme":"# peer-connection-shim\n\nEmulating peer connection in node & browser\n\n## Example\n\n```js\nvar PeerConnection = require(\"peer-connection-shim\")\n    , signalingChannel = createSignalingChannel()\n    , pc\n    , channel\n\n// call start(true) to initiate\nfunction start(isInitiator) {\n    // uri is used to relay connections through\n    pc = PeerConnection({\n        uri: \"http://discoverynetwork.co/relay\"\n    })\n\n    if (isInitiator) {\n        pc.createOffer(localDescriptionCreated)\n    } else {\n        pc.createAnswer(localDescriptionCreated)\n    }\n\n    if (isInitiator) {\n        // create data channel and setup chat\n        channel = pc.createDataChannel(\"chat\")\n        setupChat()\n    } else {\n        // setup chat on incoming data channel\n        pc.ondatachannel = function (evt) {\n            channel = evt.channel\n            setupChat()\n        }\n    }\n}\n\nfunction localDescriptionCreated(desc) {\n    pc.setLocalDescription(desc, function () {\n        signalingChannel.emit(\"sdp\", pc.localDescription)\n    })\n}\n\nsignalingChannel.on(\"sdp\", function (sdp) {\n    if (!pc) {\n        start(false)\n    }\n\n    pc.setRemoteDescription(sdp)\n}\n\nfunction setupChat() {\n    channel.onopen = function () {\n        // e.g. enable send button\n        enableChat(channel)\n    }\n\n    channel.onmessage = function (evt) {\n        showChatMessage(evt.data)\n    }\n}\n\nfunction sendChatMessage(msg) {\n    channel.send(msg)\n}\n```\n\n## Installation\n\n`npm install peer-connection-shim`\n\n## Contributors\n\n - Raynos\n\n## MIT Licenced\n","_id":"peer-connection-shim@0.1.0","dist":{"shasum":"95c80cfc9e7a12e7dd91e3aaeec83d98b8d50c7d","tarball":"https://registry.npmjs.org/peer-connection-shim/-/peer-connection-shim-0.1.0.tgz","integrity":"sha512-H69FwGhwvhDBOKLnVVpgaRoR/B7VS8Ri9+DDXxMX9XqyEowyFbbf8Oc/uLG0kYhN4yWHrOuBjL80Q++y/R/1jg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDc1t1T+XpnTCIEfpSSgrl3jxccyWnYLP59T/Rilo/kEAiEA/wsPkzt7xcIg1s20+pVgG9UyM8i0DBS2WBXzhqSSukM="}]},"_npmVersion":"1.1.49","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}]},"0.1.1":{"name":"peer-connection-shim","version":"0.1.1","description":"Emulating peer connection in node & browser","keywords":["webrtc","p2p","peer","real-time","realtime","real","time","peer2peer"],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/peer-connection-shim.git"},"main":"index","homepage":"https://github.com/Raynos/peer-connection-shim","contributors":[{"name":"Jake Verbaten"}],"bugs":{"url":"https://github.com/Raynos/peer-connection-shim/issues","email":"raynos2@gmail.com"},"dependencies":{"node-uuid":"~1.4.0"},"devDependencies":{"tap":"~0.3.1"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/peer-connection-shim/raw/master/LICENSE"}],"scripts":{"test":"tap --stderr --tap ./test"},"readme":"# peer-connection-shim\n\nEmulating peer connection in node & browser\n\n## Example\n\n```js\nvar PeerConnection = require(\"peer-connection-shim\")\n    , signalingChannel = createSignalingChannel()\n    , pc\n    , channel\n\n// call start(true) to initiate\nfunction start(isInitiator) {\n    // uri is used to relay connections through\n    pc = PeerConnection({\n        uri: \"http://discoverynetwork.co/relay\"\n    })\n\n    if (isInitiator) {\n        pc.createOffer(localDescriptionCreated)\n    } else {\n        pc.createAnswer(localDescriptionCreated)\n    }\n\n    if (isInitiator) {\n        // create data channel and setup chat\n        channel = pc.createDataChannel(\"chat\")\n        setupChat()\n    } else {\n        // setup chat on incoming data channel\n        pc.ondatachannel = function (evt) {\n            channel = evt.channel\n            setupChat()\n        }\n    }\n}\n\nfunction localDescriptionCreated(desc) {\n    pc.setLocalDescription(desc, function () {\n        signalingChannel.emit(\"sdp\", pc.localDescription)\n    })\n}\n\nsignalingChannel.on(\"sdp\", function (sdp) {\n    if (!pc) {\n        start(false)\n    }\n\n    pc.setRemoteDescription(sdp)\n}\n\nfunction setupChat() {\n    channel.onopen = function () {\n        // e.g. enable send button\n        enableChat(channel)\n    }\n\n    channel.onmessage = function (evt) {\n        showChatMessage(evt.data)\n    }\n}\n\nfunction sendChatMessage(msg) {\n    channel.send(msg)\n}\n```\n\n## Installation\n\n`npm install peer-connection-shim`\n\n## Contributors\n\n - Raynos\n\n## MIT Licenced\n","_id":"peer-connection-shim@0.1.1","dist":{"shasum":"9698252f52ac510714dd5d0339bedfb6e690fb98","tarball":"https://registry.npmjs.org/peer-connection-shim/-/peer-connection-shim-0.1.1.tgz","integrity":"sha512-7ClF22wdftlURQdXw4cZk8TFbFQ7YS9vInH6LDpIElYQv6Rmi0pkNMIvBiyH8d/JDHKs+U3rzYBJjENc4K4tag==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFl6CdLnQf9tdjpDaZ6GDYQhODRONEg8ctTFANVpzCDBAiEAwC43fTz7zWPi+YIEgkPIpgv2oMiMzBnx10d3WtcEuuA="}]},"_npmVersion":"1.1.49","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}]},"0.2.0":{"name":"peer-connection-shim","version":"0.2.0","description":"Emulating peer connection in node & browser","keywords":["webrtc","p2p","peer","real-time","realtime","real","time","peer2peer"],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/peer-connection-shim.git"},"main":"index","homepage":"https://github.com/Raynos/peer-connection-shim","contributors":[{"name":"Jake Verbaten"}],"bugs":{"url":"https://github.com/Raynos/peer-connection-shim/issues","email":"raynos2@gmail.com"},"dependencies":{"node-uuid":"~1.4.0","read-write-stream":"~0.1.4","lru-cache":"~2.1.0","header-stream":"~0.1.4","shoe":"0.0.7","streams2":"~0.1.0","mux-demux":"~3.3.4","data-channel":"~0.1.1"},"devDependencies":{"tap":"~0.3.1","wr":"~1.2.1","live-reload":"~0.2.0","browserify-server":"~2.0.4","peer-connection":"~0.1.0","write-stream":"~0.4.3","local-store":"~0.2.0"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/peer-connection-shim/raw/master/LICENSE"}],"scripts":{"test":"tap --stderr --tap ./test","start":"node server.js"},"readme":"# peer-connection-shim\n\nEmulating peer connection in node & browser\n\n## Example\n\nLeft side:\n\n  - create offer\n  - store locally\n  - pool local store for answer\n  - wait for incoming data channel\n  - echo message back to remote\n\n```js\nvar PeerConnection = require(\"peer-connection\")\n    , WriteStream = require(\"write-stream\")\n    , store = require(\"local-store\")(\"peer-connection-demo\")\n\n    , RTCPeerConnection = require(\"../../index\")\n\nstore.set(\"left id\", null)\nstore.set(\"right id\", null)\n\nvar pc = PeerConnection(RTCPeerConnection, {\n    uri: \"http://localhost:8080\"\n})\n\npc.createOffer(function (err, offer) {\n    store.set(\"left id\", offer)\n    // console.log(\"left id\", offer)\n\n    var token = setInterval(function () {\n        var right = store.get(\"right id\")\n\n        if (right) {\n            // console.log(\"right id\", right)\n            pc.setRemote(right)\n\n            next()\n\n            clearInterval(token)\n        }\n    }, 1000)\n})\n\nfunction next() {\n    pc.on(\"connection\", function (stream) {\n        stream.pipe(WriteStream(function (chunk) {\n            console.log(\"chunk\", chunk)\n\n            stream.write(chunk)\n        }))\n    })\n}\n```\n\nRight side:\n\n - poll local storage for offer\n - create answer\n - store answer\n - open data channel\n - write message to it\n - wait for message to be echod back\n\n```js\nvar PeerConnection = require(\"peer-connection\")\n    , WriteStream = require(\"write-stream\")\n    , store = require(\"local-store\")(\"peer-connection-demo\")\n\n    , RTCPeerConnection = require(\"../../index\")\n\nvar pc = PeerConnection(RTCPeerConnection, {\n    uri: \"http://localhost:8080\"\n})\n\nvar token = setInterval(function () {\n    var left = store.get(\"left id\")\n\n    if (left) {\n        // console.log(\"left id\", left)\n        pc.createAnswer(left, function (err, answer) {\n            store.set(\"right id\", answer)\n            // console.log(\"right id\", answer)\n\n            next()\n        })\n\n        clearInterval(token)\n    }\n}, 1000)\n\nfunction next() {\n    // console.log(\"creating stream\")\n    var stream = pc.connect(\"name\")\n\n    stream.write(\"hello world!\")\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"chunk\", chunk)\n    }))\n}\n```\n\n## Installation\n\n`npm install peer-connection-shim`\n\n## Contributors\n\n - Raynos\n\n## MIT Licenced\n","_id":"peer-connection-shim@0.2.0","dist":{"shasum":"92669412bc366a4013c09dbb380e22f52b7605f7","tarball":"https://registry.npmjs.org/peer-connection-shim/-/peer-connection-shim-0.2.0.tgz","integrity":"sha512-jlvpXNti1Yi/eX8X6Y3iClk+6jSQZoHWy3IGH04vV8omvvG20T8FfbWa7UazpWZQiLQmiD+sDBzpHEbGvQWsHA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCw0bxZhoX1bY1BPVU5onLl1TNa+F0is/V/pvezILMpRwIgdJo7QDnNcvmu9+0aQq9sOe1SVLNmmXNBX8cWvL2kZwM="}]},"_npmVersion":"1.1.49","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}]},"0.3.0":{"name":"peer-connection-shim","version":"0.3.0","description":"Emulating peer connection in node & browser","keywords":["webrtc","p2p","peer","real-time","realtime","real","time","peer2peer"],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/peer-connection-shim.git"},"main":"index","homepage":"https://github.com/Raynos/peer-connection-shim","contributors":[{"name":"Jake Verbaten"}],"bugs":{"url":"https://github.com/Raynos/peer-connection-shim/issues","email":"raynos2@gmail.com"},"dependencies":{"node-uuid":"~1.4.0","read-write-stream":"~0.1.4","lru-cache":"~2.1.0","header-stream":"~0.1.4","shoe":"0.0.7","streams2":"~0.1.0","mux-demux":"~3.3.4","data-channel":"~0.1.1","signal-channel":"~0.1.0"},"devDependencies":{"tap":"~0.3.1","wr":"~1.2.1","live-reload":"~0.2.0","browserify-server":"~2.0.4","peer-connection":"~0.1.0","write-stream":"~0.4.3","local-store":"~0.2.0","stream-router":"~0.1.0"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/peer-connection-shim/raw/master/LICENSE"}],"scripts":{"test":"tap --stderr --tap ./test"},"readme":"# peer-connection-shim\n\nEmulating peer connection in node & browser\n\n## Example\n\n```\nvar PeerConnection = require(\"peer-connection\")\n    , WriteStream = require(\"write-stream\")\n\n    , RTCPeerConnection = require(\"../../index\")\n\nvar pc1 = PeerConnection(RTCPeerConnection, {\n    uri: \"http://raynos.signal-channel-server.jit.su\"\n})\n\nvar pc2 = PeerConnection(RTCPeerConnection, {\n    uri: \"http://raynos.signal-channel-server.jit.su\"\n})\n\npc1.createOffer(function (err, offer) {\n    pc2.createAnswer(offer, function (err, answer) {\n        pc1.setRemote(answer)\n\n        open()\n    })\n})\n\npc1.on(\"connection\", function (stream) {\n    console.log(\"open channel\", stream.meta)\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc1\", chunk)\n\n        stream.write(chunk)\n    }))\n})\n\nfunction open() {\n    var stream = pc2.connect(\"channel name\")\n\n    stream.write(\"hello world!\")\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc2\", chunk)\n    }))\n}\n```\n\n## Installation\n\n`npm install peer-connection-shim`\n\n## Contributors\n\n - Raynos\n\n## MIT Licenced\n","readmeFilename":"README.md","_id":"peer-connection-shim@0.3.0","dist":{"shasum":"98217d290649cd782443c27dd73849898539fe90","tarball":"https://registry.npmjs.org/peer-connection-shim/-/peer-connection-shim-0.3.0.tgz","integrity":"sha512-ySDjieUVR/DLm1qOj/GJ9t0tfh5tEIoafYFtw4NAgzW+38yR3MXmN1vZk3jiTnbTzxjp6TVSm0K5zOjeAkq29A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhnQib+Kv034NbDN5JKjub/9sqPCrelkyPX9M+5lbWhQIgHuI9FEb8Ecnr7/N3OuedzrmdZKNkF3yLopfGYNOsqTY="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}]},"0.3.1":{"name":"peer-connection-shim","version":"0.3.1","description":"Emulating peer connection in node & browser","keywords":["webrtc","p2p","peer","real-time","realtime","real","time","peer2peer"],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/peer-connection-shim.git"},"main":"index","homepage":"https://github.com/Raynos/peer-connection-shim","contributors":[{"name":"Jake Verbaten"}],"bugs":{"url":"https://github.com/Raynos/peer-connection-shim/issues","email":"raynos2@gmail.com"},"dependencies":{"node-uuid":"~1.4.0","header-stream":"~0.1.4","data-channel":"~0.1.1","signal-channel":"~0.1.2","mux-demux":"~3.3.5","peer-connection":"~0.1.3"},"devDependencies":{"tap":"~0.3.1","wr":"~1.2.1","live-reload":"~0.2.0","browserify-server":"~2.0.4","peer-connection":"~0.1.2","write-stream":"~0.4.3","local-store":"~0.2.0","stream-router":"~0.1.0"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/peer-connection-shim/raw/master/LICENSE"}],"scripts":{"test":"tap --stderr --tap ./test"},"readme":"# peer-connection-shim\n\nEmulating peer connection in node & browser\n\n## Example\n\n```\nvar PeerConnection = require(\"peer-connection\")\n    , WriteStream = require(\"write-stream\")\n\n    , RTCPeerConnection = require(\"../../index\")\n\nvar pc1 = PeerConnection(RTCPeerConnection, {\n    uri: \"http://raynos.signal-channel-server.jit.su\"\n})\n\nvar pc2 = PeerConnection(RTCPeerConnection, {\n    uri: \"http://raynos.signal-channel-server.jit.su\"\n})\n\npc1.createOffer(function (err, offer) {\n    pc2.createAnswer(offer, function (err, answer) {\n        pc1.setRemote(answer)\n\n        open()\n    })\n})\n\npc1.on(\"connection\", function (stream) {\n    console.log(\"open channel\", stream.meta)\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc1\", chunk)\n\n        stream.write(chunk)\n    }))\n})\n\nfunction open() {\n    var stream = pc2.connect(\"channel name\")\n\n    stream.write(\"hello world!\")\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc2\", chunk)\n    }))\n}\n```\n\n## Installation\n\n`npm install peer-connection-shim`\n\n## Contributors\n\n - Raynos\n\n## MIT Licenced\n","readmeFilename":"README.md","_id":"peer-connection-shim@0.3.1","dist":{"shasum":"713caca7d160e7d8e5ecce96eabe15a3855d33e1","tarball":"https://registry.npmjs.org/peer-connection-shim/-/peer-connection-shim-0.3.1.tgz","integrity":"sha512-H5w3LMDTb8ahaN3Q1Pb6tsC/Q8WIOUto8Jly/et5HwwQhJHhSnmzcMyt/u5TZnvJ78MFc8PJwGnqoA5wK+mB6w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJl/UzGN89TjHeOkreIv4Mezpg3L1fp+pGPn3zgId82AIhAJPe6A7DCEAMT01zQ0edKbj8R4Pi02OPesy67eQ97FH7"}]},"_npmVersion":"1.1.65","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}]},"0.4.0":{"name":"peer-connection-shim","version":"0.4.0","description":"Emulating peer connection in node & browser","keywords":["webrtc","p2p","peer","real-time","realtime","real","time","peer2peer"],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/peer-connection-shim.git"},"main":"index","homepage":"https://github.com/Raynos/peer-connection-shim","contributors":[{"name":"Jake Verbaten"}],"bugs":{"url":"https://github.com/Raynos/peer-connection-shim/issues","email":"raynos2@gmail.com"},"dependencies":{"node-uuid":"~1.4.0","header-stream":"~0.1.4","data-channel":"~0.1.1","signal-channel":"~0.1.2","mux-demux":"~3.3.5","peer-connection":"~0.1.3"},"devDependencies":{"tap":"~0.3.1","wr":"~1.2.1","live-reload":"~0.2.0","browserify-server":"~2.0.4","peer-connection":"~0.1.2","write-stream":"~0.4.3","local-store":"~0.2.0","stream-router":"~0.1.0"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/peer-connection-shim/raw/master/LICENSE"}],"scripts":{"test":"tap --stderr --tap ./test"},"readme":"# peer-connection-shim\n\nEmulating peer connection in node & browser\n\n## Example\n\nWorks on either server or client. You will need to use `ws://`\n    uri on the server though.\n\n```js\nvar PeerConnection = require(\"peer-connection\")\n    , WriteStream = require(\"write-stream\")\n\n    , RTCPeerConnection = require(\"../../index\")\n\nvar pc1 = PeerConnection(RTCPeerConnection, {\n    uri: \"http://raynos.signal-channel-server.jit.su\"\n})\n\nvar pc2 = PeerConnection(RTCPeerConnection, {\n    uri: \"http://raynos.signal-channel-server.jit.su\"\n})\n\npc1.createOffer(function (err, offer) {\n    pc2.createAnswer(offer, function (err, answer) {\n        pc1.setRemote(answer)\n\n        open()\n    })\n})\n\npc1.on(\"connection\", function (stream) {\n    console.log(\"open channel\", stream.meta)\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc1\", chunk)\n\n        stream.write(chunk)\n    }))\n})\n\nfunction open() {\n    var stream = pc2.connect(\"channel name\")\n\n    stream.write(\"hello world!\")\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc2\", chunk)\n    }))\n}\n```\n\n## Installation\n\n`npm install peer-connection-shim`\n\n## Contributors\n\n - Raynos\n\n## MIT Licenced\n","readmeFilename":"README.md","_id":"peer-connection-shim@0.4.0","dist":{"shasum":"7175255f4ee4565e131ec6ff93408b17f256a479","tarball":"https://registry.npmjs.org/peer-connection-shim/-/peer-connection-shim-0.4.0.tgz","integrity":"sha512-iMyK1gcckR6oYh7qHriAIv0UuXHdPYW93kgeAckmUQJFOeKUFEAEY22/7/l7lUUfTKGfi3peCyjZGjR0Go036Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICLDIFky+nyy6z13nheisng7M4WtsJH4TSEH+zEyNzQmAiEAltIdfr3Wu+g3XYRuLxHoClH2nsTK0xcIzKUq37cm1zE="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}]},"0.4.1":{"name":"peer-connection-shim","version":"0.4.1","description":"Emulating peer connection in node & browser","keywords":["webrtc","p2p","peer","real-time","realtime","real","time","peer2peer"],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/peer-connection-shim.git"},"main":"index","homepage":"https://github.com/Raynos/peer-connection-shim","contributors":[{"name":"Jake Verbaten"}],"bugs":{"url":"https://github.com/Raynos/peer-connection-shim/issues","email":"raynos2@gmail.com"},"dependencies":{"node-uuid":"~1.4.0","header-stream":"~0.1.4","data-channel":"~0.1.1","signal-channel":"~0.1.2","mux-demux":"~3.3.5","peer-connection":"~0.1.3"},"devDependencies":{"tap":"~0.3.1","wr":"~1.2.1","live-reload":"~0.2.0","browserify-server":"~2.0.4","peer-connection":"~0.1.2","write-stream":"~0.4.3","local-store":"~0.2.0","stream-router":"~0.1.0"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/peer-connection-shim/raw/master/LICENSE"}],"scripts":{"test":"tap --stderr --tap ./test"},"readme":"# peer-connection-shim\n\nEmulating peer connection in node & browser\n\n## Example\n\nWorks on either server or client. You will need to use `ws://`\n    uri on the server though.\n\n```js\nvar PeerConnection = require(\"peer-connection\")\n    , WriteStream = require(\"write-stream\")\n\n    , RTCPeerConnection = require(\"../../index\")\n\nvar pc1 = PeerConnection(RTCPeerConnection, {\n    uri: \"http://raynos.signal-channel-server.jit.su\"\n})\n\nvar pc2 = PeerConnection(RTCPeerConnection, {\n    uri: \"http://raynos.signal-channel-server.jit.su\"\n})\n\npc1.createOffer(function (err, offer) {\n    pc2.createAnswer(offer, function (err, answer) {\n        pc1.setRemote(answer)\n\n        open()\n    })\n})\n\npc1.on(\"connection\", function (stream) {\n    console.log(\"open channel\", stream.meta)\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc1\", chunk)\n\n        stream.write(chunk)\n    }))\n})\n\nfunction open() {\n    var stream = pc2.connect(\"channel name\")\n\n    stream.write(\"hello world!\")\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc2\", chunk)\n    }))\n}\n```\n\n## Installation\n\n`npm install peer-connection-shim`\n\n## Contributors\n\n - Raynos\n\n## MIT Licenced\n","readmeFilename":"README.md","_id":"peer-connection-shim@0.4.1","dist":{"shasum":"874be6faf7cbcebcc07b65d1cb44ffd640d34ab3","tarball":"https://registry.npmjs.org/peer-connection-shim/-/peer-connection-shim-0.4.1.tgz","integrity":"sha512-cFihsBzmugWEvxQal1Y9dMvik516u76wZzUQ6p3YLyWWRuXzQzT+ISPj4YSM4Y5mX2d2YzBNvXTQ9BHntXr6WA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzphCsz9Gr3MRH9XfmOk7hYhY4tH9r9OKsUioGS2KBMQIgEbJAhOKa+Wbo4+tFlh1EHAAdjnyQ54qFR74AyPwnx7I="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}]},"0.5.0":{"name":"peer-connection-shim","version":"0.5.0","description":"Emulating peer connection in node & browser","keywords":["webrtc","p2p","peer","real-time","realtime","real","time","peer2peer"],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/peer-connection-shim.git"},"main":"index","homepage":"https://github.com/Raynos/peer-connection-shim","contributors":[{"name":"Jake Verbaten"}],"bugs":{"url":"https://github.com/Raynos/peer-connection-shim/issues","email":"raynos2@gmail.com"},"dependencies":{"node-uuid":"~1.4.0","header-stream":"~0.1.4","mux-demux":"~3.3.5"},"devDependencies":{"tap":"~0.3.1","wr":"~1.2.1","live-reload":"~0.2.0","browserify-server":"~2.0.4","peer-connection":"~0.2.0","write-stream":"~0.4.3","signal-channel":"~0.2.3","local-store":"~0.2.0"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/peer-connection-shim/raw/master/LICENSE"}],"scripts":{"test":"tap --stderr --tap ./test"},"readme":"# peer-connection-shim\n\nEmulating peer connection in node & browser\n\n## Example\n\nWorks on either server or client. You will need to use `ws://`\n    uri on the server though.\n\n```js\nvar PeerConnection = require(\"peer-connection\")\n    , WriteStream = require(\"write-stream\")\n    , SignalChannel = require(\"signal-channel\")\n\n    , RTCPeerConnection = require(\"../../index\")\n\nvar pc1 = PeerConnection(RTCPeerConnection({\n    stream: SignalChannel(null, \"/v1/relay\")\n}))\n\nvar pc2 = PeerConnection(RTCPeerConnection({\n    stream: SignalChannel(null, \"/v1/relay\")\n}))\n\npc1.createOffer(function (err, offer) {\n    pc2.createAnswer(offer, function (err, answer) {\n        pc1.setRemote(answer)\n\n        open()\n    })\n})\n\npc1.on(\"connection\", function (stream) {\n    console.log(\"open channel\", stream.meta)\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc1\", chunk)\n\n        stream.write(chunk)\n    }))\n})\n\nfunction open() {\n    var stream = pc2.connect(\"channel name\")\n\n    stream.write(\"hello world!\")\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc2\", chunk)\n    }))\n}\n\n```\n\n## Installation\n\n`npm install peer-connection-shim`\n\n## Contributors\n\n - Raynos\n\n## MIT Licenced\n","readmeFilename":"README.md","_id":"peer-connection-shim@0.5.0","dist":{"shasum":"9b9439890072cfdcfcfeb2d108615d4b97c6074a","tarball":"https://registry.npmjs.org/peer-connection-shim/-/peer-connection-shim-0.5.0.tgz","integrity":"sha512-zsuwPx5XzNivY0p7Lgs6EGmSuyj1WUzdcdZEQJtydtysE9rQUy7IBB7IPtoUUqvpx6vG2oIQCi7rioq/onwxYQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD34X5CSyXVkU6zsm1fCslRLFyw//IvZpLRoFYKiTVUjAIgG36uNQq5lOIz0qQeYMxoRUY06MphSCPpTbEaxxROUa4="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}]},"0.6.0":{"name":"peer-connection-shim","version":"0.6.0","description":"Emulating peer connection in node & browser","keywords":["webrtc","p2p","peer","real-time","realtime","real","time","peer2peer"],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/peer-connection-shim.git"},"main":"index","homepage":"https://github.com/Raynos/peer-connection-shim","contributors":[{"name":"Jake Verbaten"}],"bugs":{"url":"https://github.com/Raynos/peer-connection-shim/issues","email":"raynos2@gmail.com"},"dependencies":{"node-uuid":"~1.4.0","header-stream":"~0.1.4","mux-demux":"~3.3.6","peer-connection":"~0.2.0","signal-channel":"~0.2.4"},"devDependencies":{"tap":"~0.3.1","wr":"~1.2.1","live-reload":"~0.2.0","browserify-server":"~2.0.4","peer-connection":"~0.2.0","write-stream":"~0.4.3","signal-channel":"~0.2.3","local-store":"~0.2.0"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/peer-connection-shim/raw/master/LICENSE"}],"scripts":{"test":"tap --stderr --tap ./test"},"readme":"# peer-connection-shim\n\nEmulating peer connection in node & browser\n\n## Example\n\nWorks on either server or client. You will need to use `ws://`\n    uri on the server though.\n\n```js\nvar PeerConnection = require(\"peer-connection\")\n    , WriteStream = require(\"write-stream\")\n    , SignalChannel = require(\"signal-channel\")\n\n    , RTCPeerConnection = require(\"../../index\")\n\nvar pc1 = PeerConnection(RTCPeerConnection({\n    stream: SignalChannel(null, \"/v1/relay\")\n}))\n\nvar pc2 = PeerConnection(RTCPeerConnection({\n    stream: SignalChannel(null, \"/v1/relay\")\n}))\n\npc1.createOffer(function (err, offer) {\n    pc2.createAnswer(offer, function (err, answer) {\n        pc1.setRemote(answer)\n\n        open()\n    })\n})\n\npc1.on(\"connection\", function (stream) {\n    console.log(\"open channel\", stream.meta)\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc1\", chunk)\n\n        stream.write(chunk)\n    }))\n})\n\nfunction open() {\n    var stream = pc2.connect(\"channel name\")\n\n    stream.write(\"hello world!\")\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc2\", chunk)\n    }))\n}\n\n```\n\n## Installation\n\n`npm install peer-connection-shim`\n\n## Contributors\n\n - Raynos\n\n## MIT Licenced\n","readmeFilename":"README.md","_id":"peer-connection-shim@0.6.0","dist":{"shasum":"72fef061e3c7c7af3b5ed99c7efeb7cde0067cd5","tarball":"https://registry.npmjs.org/peer-connection-shim/-/peer-connection-shim-0.6.0.tgz","integrity":"sha512-QLGNhAtO/Eabi5bD1W9j54vEX/E25ltOj9OtchxWqvmty4KEDhQpr4gidO9/fWYir7cvNku6JMaM6NKvUHtYCg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDy+o9ZWt5Mu+xhF8WkFrYbwqGCUxxQhdjDeChB3ZkRiAiEAoVTWnRrEC/1gkaEIQ0v0WXbewgq1LFcpGpkb6+P4v/4="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}]},"0.7.0":{"name":"peer-connection-shim","version":"0.7.0","description":"Emulating peer connection in node & browser","keywords":["webrtc","p2p","peer","real-time","realtime","real","time","peer2peer"],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/peer-connection-shim.git"},"main":"index","homepage":"https://github.com/Raynos/peer-connection-shim","contributors":[{"name":"Jake Verbaten"}],"bugs":{"url":"https://github.com/Raynos/peer-connection-shim/issues","email":"raynos2@gmail.com"},"dependencies":{"node-uuid":"~1.4.0","header-stream":"~0.1.4","mux-demux":"~3.3.6","pause-stream":"0.0.6","write-stream":"~0.4.3"},"devDependencies":{"tap":"~0.3.1","signal-channel":"~0.2.3","wr":"~1.2.1","live-reload":"~0.2.0","browserify-server":"~2.0.4","peer-connection":"~0.2.0","write-stream":"~0.4.3","local-store":"~0.2.0"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/peer-connection-shim/raw/master/LICENSE"}],"scripts":{"test":"tap --stderr --tap ./test"},"readme":"# peer-connection-shim\n\nEmulating peer connection in node & browser\n\n## Example\n\nWorks on either server or client. You will need to use `ws://`\n    uri on the server though.\n\n```js\nvar PeerConnection = require(\"peer-connection\")\n    , WriteStream = require(\"write-stream\")\n    , SignalChannel = require(\"signal-channel\")\n\n    , RTCPeerConnection = require(\"../../index\")\n\nvar pc1 = PeerConnection(RTCPeerConnection({\n    stream: SignalChannel(null, \"/v1/relay\")\n}))\n\nvar pc2 = PeerConnection(RTCPeerConnection({\n    stream: SignalChannel(null, \"/v1/relay\")\n}))\n\npc1.createOffer(function (err, offer) {\n    pc2.createAnswer(offer, function (err, answer) {\n        pc1.setRemote(answer)\n\n        open()\n    })\n})\n\npc1.on(\"connection\", function (stream) {\n    console.log(\"open channel\", stream.meta)\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc1\", chunk)\n\n        stream.write(chunk)\n    }))\n})\n\nfunction open() {\n    var stream = pc2.connect(\"channel name\")\n\n    stream.write(\"hello world!\")\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc2\", chunk)\n    }))\n}\n\n```\n\n## Installation\n\n`npm install peer-connection-shim`\n\n## Contributors\n\n - Raynos\n\n## MIT Licenced\n","readmeFilename":"README.md","_id":"peer-connection-shim@0.7.0","dist":{"shasum":"75e9ce6fa03aa4abffc7d9a3b22de3d12e43c15f","tarball":"https://registry.npmjs.org/peer-connection-shim/-/peer-connection-shim-0.7.0.tgz","integrity":"sha512-UjCT2wbueXBBQaS89ly2MH+TSDgqQas/RA5m2lU7Vf5CfDZf25WzmomFN55sKT/2nW8qthWLZy9Nkv5NB8S7tQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHbhqneskKJzm39Xjnc7tStzwKwYMD01c5fxyMTFDdqPAiEAl0+AlP0Gx+jb7BiJ4jLHBftOck8hjrt21wh9hrzOBr0="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}]},"0.7.1":{"name":"peer-connection-shim","version":"0.7.1","description":"Emulating peer connection in node & browser","keywords":["webrtc","p2p","peer","real-time","realtime","real","time","peer2peer"],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/peer-connection-shim.git"},"main":"index","homepage":"https://github.com/Raynos/peer-connection-shim","contributors":[{"name":"Jake Verbaten"}],"bugs":{"url":"https://github.com/Raynos/peer-connection-shim/issues","email":"raynos2@gmail.com"},"dependencies":{"node-uuid":"~1.4.0","header-stream":"~0.1.4","mux-demux":"~3.3.6","pause-stream":"0.0.6","write-stream":"~0.4.3"},"devDependencies":{"tap":"~0.3.1","signal-channel":"~0.5.1","wr":"~1.2.1","live-reload":"~0.2.0","browserify-server":"~2.0.4","peer-connection":"~0.3.0","write-stream":"~0.4.3","local-store":"~0.2.0"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/peer-connection-shim/raw/master/LICENSE"}],"scripts":{"test":"tap --stderr --tap ./test"},"readme":"# peer-connection-shim\n\nEmulating peer connection in node & browser\n\n## Example\n\nWorks on either server or client.\n\n```js\nvar PeerConnection = require(\"peer-connection\")\n    , WriteStream = require(\"write-stream\")\n    , SignalChannel = require(\"signal-channel\")\n\n    , RTCPeerConnection = require(\"peer-connection-shim\")\n\nvar pc1 = PeerConnection(RTCPeerConnection({\n    stream: SignalChannel(null, \"/v1/relay\")\n}))\n\nvar pc2 = PeerConnection(RTCPeerConnection({\n    stream: SignalChannel(null, \"/v1/relay\")\n}))\n\npc1.createOffer(function (err, offer) {\n    pc2.createAnswer(offer, function (err, answer) {\n        pc1.setRemote(answer)\n\n        open()\n    })\n})\n\npc1.on(\"connection\", function (stream) {\n    console.log(\"open channel\", stream.meta)\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc1\", chunk)\n\n        stream.write(chunk)\n    }))\n})\n\nfunction open() {\n    var stream = pc2.createStream(\"channel name\")\n\n    stream.write(\"hello world!\")\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc2\", chunk)\n    }))\n}\n\n```\n\n## Installation\n\n`npm install peer-connection-shim`\n\n## Contributors\n\n - Raynos\n\n## MIT Licenced\n","readmeFilename":"README.md","_id":"peer-connection-shim@0.7.1","dist":{"shasum":"8b2789ae37aebd6f7958181355b022ccb61dda2b","tarball":"https://registry.npmjs.org/peer-connection-shim/-/peer-connection-shim-0.7.1.tgz","integrity":"sha512-UQz0uQKgsUEI2q0S4w4shO+5M9yBvVEyNTYzH3m3Iz/8vDG58um3M+krdJFD5oaEDGrLBMfrVJE/IzSWhFeI3A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICDNW3a/6f+4/Uq3o9k4cwPcK0XjJxrZ5sGZ4AhMqnrkAiATwxxtSCYqpaa+BdNo+8lFCNS1A9JA3HXNq2A/uXyHHg=="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}]},"0.7.2":{"name":"peer-connection-shim","version":"0.7.2","description":"Emulating peer connection in node & browser","keywords":["webrtc","p2p","peer","real-time","realtime","real","time","peer2peer"],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/peer-connection-shim.git"},"main":"index","homepage":"https://github.com/Raynos/peer-connection-shim","contributors":[{"name":"Jake Verbaten"}],"bugs":{"url":"https://github.com/Raynos/peer-connection-shim/issues","email":"raynos2@gmail.com"},"dependencies":{"node-uuid":"~1.4.0","header-stream":"~0.1.4","mux-demux":"~3.3.6","pause-stream":"0.0.6","write-stream":"~0.4.3"},"devDependencies":{"tap":"~0.3.1","signal-channel":"~0.5.1","wr":"~1.2.1","live-reload":"~0.2.0","browserify-server":"~2.0.4","peer-connection":"~0.3.0","write-stream":"~0.4.3","local-store":"~0.2.0","mux-memo":"~0.1.2"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/peer-connection-shim/raw/master/LICENSE"}],"scripts":{"test":"tap --stderr --tap ./test"},"readme":"# peer-connection-shim\n\nEmulating peer connection in node & browser\n\n## Example\n\nWorks on either server or client.\n\n```js\nvar PeerConnection = require(\"peer-connection\")\n    , WriteStream = require(\"write-stream\")\n    , SignalChannel = require(\"signal-channel\")\n\n    , RTCPeerConnection = require(\"peer-connection-shim\")\n\nvar pc1 = PeerConnection(RTCPeerConnection({\n    stream: SignalChannel(null, \"/v1/relay\")\n}))\n\nvar pc2 = PeerConnection(RTCPeerConnection({\n    stream: SignalChannel(null, \"/v1/relay\")\n}))\n\npc1.createOffer(function (err, offer) {\n    pc2.createAnswer(offer, function (err, answer) {\n        pc1.setRemote(answer)\n\n        open()\n    })\n})\n\npc1.on(\"connection\", function (stream) {\n    console.log(\"open channel\", stream.meta)\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc1\", chunk)\n\n        stream.write(chunk)\n    }))\n})\n\nfunction open() {\n    var stream = pc2.createStream(\"channel name\")\n\n    stream.write(\"hello world!\")\n\n    stream.pipe(WriteStream(function (chunk) {\n        console.log(\"pc2\", chunk)\n    }))\n}\n\n```\n\n## Installation\n\n`npm install peer-connection-shim`\n\n## Contributors\n\n - Raynos\n\n## MIT Licenced\n","readmeFilename":"README.md","_id":"peer-connection-shim@0.7.2","dist":{"shasum":"400eae3f8c723d8a9949c9d8b786510bd3dc0d61","tarball":"https://registry.npmjs.org/peer-connection-shim/-/peer-connection-shim-0.7.2.tgz","integrity":"sha512-Yhxib1/GzGB1msjDmAMcJyLe3MMjRoH/l8S6pliKdGNK9T0AC60h00to62UKwX1RorrhpeQnJj44TI95+bpPTA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVlrnVdcTVj6poQfoIRzlfdX5QUMmGchjI5VJBlMZezgIhAKvV7VKWLyB/8YDBuSped1wyDUdjXH6G66zJKlvEW4Hn"}]},"_npmVersion":"1.1.65","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}]}},"readme":"# peer-connection-shim\n\nEmulating peer connection in node & browser\n\n## Example\n\n```js\nvar PeerConnection = require(\"peer-connection-shim\")\n    , signalingChannel = createSignalingChannel()\n    , pc\n    , channel\n\n// call start(true) to initiate\nfunction start(isInitiator) {\n    // uri is used to relay connections through\n    pc = PeerConnection({\n        uri: \"http://discoverynetwork.co/relay\"\n    })\n\n    if (isInitiator) {\n        pc.createOffer(localDescriptionCreated)\n    } else {\n        pc.createAnswer(localDescriptionCreated)\n    }\n\n    if (isInitiator) {\n        // create data channel and setup chat\n        channel = pc.createDataChannel(\"chat\")\n        setupChat()\n    } else {\n        // setup chat on incoming data channel\n        pc.ondatachannel = function (evt) {\n            channel = evt.channel\n            setupChat()\n        }\n    }\n}\n\nfunction localDescriptionCreated(desc) {\n    pc.setLocalDescription(desc, function () {\n        signalingChannel.emit(\"sdp\", pc.localDescription)\n    })\n}\n\nsignalingChannel.on(\"sdp\", function (sdp) {\n    if (!pc) {\n        start(false)\n    }\n\n    pc.setRemoteDescription(sdp)\n}\n\nfunction setupChat() {\n    channel.onopen = function () {\n        // e.g. enable send button\n        enableChat(channel)\n    }\n\n    channel.onmessage = function (evt) {\n        showChatMessage(evt.data)\n    }\n}\n\nfunction sendChatMessage(msg) {\n    channel.send(msg)\n}\n```\n\n## Installation\n\n`npm install peer-connection-shim`\n\n## Contributors\n\n - Raynos\n\n## MIT Licenced\n","maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}],"time":{"modified":"2022-06-23T17:20:55.480Z","created":"2012-11-15T08:28:29.239Z","0.1.0":"2012-11-15T08:28:30.075Z","0.1.1":"2012-11-15T08:46:46.553Z","0.2.0":"2012-11-16T08:39:41.717Z","0.3.0":"2012-11-18T10:04:11.927Z","0.3.1":"2012-11-18T11:03:44.583Z","0.4.0":"2012-11-20T06:39:30.911Z","0.4.1":"2012-11-20T07:02:32.535Z","0.5.0":"2012-11-20T10:33:43.819Z","0.6.0":"2012-11-21T08:30:46.986Z","0.7.0":"2012-11-21T10:15:59.200Z","0.7.1":"2012-12-12T04:50:36.828Z","0.7.2":"2012-12-12T05:57:04.123Z"},"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/peer-connection-shim.git"}}