{"_id":"y-connector-dat","_rev":"8-85c39b219cb2bf9b60fdbfb49822a024","name":"y-connector-dat","description":"A connector for Y.js to collaborate over dat","dist-tags":{"latest":"2.0.3"},"versions":{"1.0.0":{"name":"y-connector-dat","version":"1.0.0","description":"A connector for Y.js to collaborate over dat","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["dat","yjs"],"author":{"name":"Marcel Klehr","email":"mklehr@gmx.net"},"license":"MIT","gitHead":"2ff6e312151943f0b9ca8043eb7ce2b70258bfd6","_id":"y-connector-dat@1.0.0","_shasum":"75385ec3ae72ee89dbbbc2ec7d4d2c99919403f1","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"marcelklehr","email":"mklehr@gmx.net"},"dist":{"shasum":"75385ec3ae72ee89dbbbc2ec7d4d2c99919403f1","tarball":"https://registry.npmjs.org/y-connector-dat/-/y-connector-dat-1.0.0.tgz","integrity":"sha512-MbGMofHBjh5dpU+/cm1l5yoVf7iS1SeBclKIqPZywFYZtgJ1AKmPoSKmFXqAhmZXXEmSA0mF7bd34taNi7PGiw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE/hyGmCwybkoFTe2FmY/72AWZqBfrzGk7jun6lxExd5AiEA+Ub9UeoGmZtE7ovpaxyVfs6PT+iCdMoYkyP+anTb6uw="}]},"maintainers":[{"name":"marcelklehr","email":"mklehr@gmx.net"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/y-connector-dat-1.0.0.tgz_1483650642433_0.600313315866515"}},"1.0.1":{"name":"y-connector-dat","version":"1.0.1","description":"A connector for Y.js to collaborate over dat","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["dat","yjs"],"author":{"name":"Marcel Klehr","email":"mklehr@gmx.net"},"license":"MPL","gitHead":"993d93496c7afb50eb1168dcba40604b2e828d95","_id":"y-connector-dat@1.0.1","_shasum":"be5458bb5dda78680e268a5311e57251c82e9ce7","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"marcelklehr","email":"mklehr@gmx.net"},"dist":{"shasum":"be5458bb5dda78680e268a5311e57251c82e9ce7","tarball":"https://registry.npmjs.org/y-connector-dat/-/y-connector-dat-1.0.1.tgz","integrity":"sha512-XaPm4U7zCmGtyo6QEKHSPX0Dey79hVpCDsSUrpHGPIaiRRRvmblWnmdeDl5NBKZdGdJUsx1+cZ9H9frcOSKTgg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCp5ATQ21n3F0wby9aWOUVKLLkk4rOEC3bHRC29F8ioawIgR77As9PU4KTKN0cmrhPVQ8H8GcusfWX3HbUUaZHwZrc="}]},"maintainers":[{"name":"marcelklehr","email":"mklehr@gmx.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/y-connector-dat-1.0.1.tgz_1483651542979_0.7974290503188968"}},"2.0.0":{"name":"y-connector-dat","version":"2.0.0","description":"A connector for Y.js to collaborate over dat","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["dat","yjs"],"author":{"name":"Marcel Klehr","email":"mklehr@gmx.net"},"license":"MPL","gitHead":"fea1341386a92f74cbcc4f48a12303b392cbba7e","_id":"y-connector-dat@2.0.0","_shasum":"e232c7328ba4706ccf93167f8edc04ccbaac2e75","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"marcelklehr","email":"mklehr@gmx.net"},"dist":{"shasum":"e232c7328ba4706ccf93167f8edc04ccbaac2e75","tarball":"https://registry.npmjs.org/y-connector-dat/-/y-connector-dat-2.0.0.tgz","integrity":"sha512-tHqaGkNRL+8wcGdCQx0JXCVEMJZ6ltz8E6YcH3UglGt9YDkW5u+66wdeEo5rnkNsj0/vAi05tYwNtt7hLR4DwA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAx0XhQNE3X2l59thRzE4t19js7p9d+vUs729Scwkh7KAiEA6RAJt5dwOeMgLzU+5jXRP/kpN3coqa0cMhqbi7JvLJI="}]},"maintainers":[{"name":"marcelklehr","email":"mklehr@gmx.net"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/y-connector-dat-2.0.0.tgz_1484834709561_0.8632954002823681"}},"2.0.1":{"name":"y-connector-dat","version":"2.0.1","description":"A connector for Y.js to collaborate over dat","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["dat","yjs"],"author":{"name":"Marcel Klehr","email":"mklehr@gmx.net"},"license":"MPL","gitHead":"d9bacd7a31688abfb688f916a055828da1c75250","_id":"y-connector-dat@2.0.1","_shasum":"be72e498ee5d96e7c326b2799e66ba7f25ce18b0","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"marcelklehr","email":"mklehr@gmx.net"},"dist":{"shasum":"be72e498ee5d96e7c326b2799e66ba7f25ce18b0","tarball":"https://registry.npmjs.org/y-connector-dat/-/y-connector-dat-2.0.1.tgz","integrity":"sha512-xSI59D+0CgJh0bBShmrxQS2neo6oiRADQRvxfrbDmiwHbTI/A8pNuXianCuyXG+XWQGQK0yF4drsb0UjvIJmCw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuEllNK/GrC3zbPWOS2DhydG1A4RxsqjdnmIBaprdocgIgH2q2DDjr6SM2VgPnA6UY6Nb6joNisYvB3R8B6nHwv48="}]},"maintainers":[{"name":"marcelklehr","email":"mklehr@gmx.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/y-connector-dat-2.0.1.tgz_1484844662141_0.667899054242298"}},"2.0.2":{"name":"y-connector-dat","version":"2.0.2","description":"A connector for Y.js to collaborate over dat","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["dat","yjs"],"author":{"name":"Marcel Klehr","email":"mklehr@gmx.net"},"license":"MPL","gitHead":"91f9e25d98aaeb1b5bd46910c28c10c7ecb050b3","_id":"y-connector-dat@2.0.2","_shasum":"c464e86a3607cf76ba13fa2d7e62eb9bde2172e4","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"marcelklehr","email":"mklehr@gmx.net"},"dist":{"shasum":"c464e86a3607cf76ba13fa2d7e62eb9bde2172e4","tarball":"https://registry.npmjs.org/y-connector-dat/-/y-connector-dat-2.0.2.tgz","integrity":"sha512-lUwfUh7FiHuFa3rrjYNIHSr9LPcZ0jQI+PxmDQgTtw1eqnCZ61Lz+yRdNj0pbRWsSYI2E89R3CQ95V8sJjInSw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEhKUwPXWdgIm/+iTO/pm5/gegtfEuI+k2DHyBsx0mtYAiBN4MAFpdMUL0rgItqp1MOIKnrMEn+xjN62u5Y+2KEK7Q=="}]},"maintainers":[{"name":"marcelklehr","email":"mklehr@gmx.net"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/y-connector-dat-2.0.2.tgz_1484846287646_0.21384302992373705"}},"2.0.3":{"name":"y-connector-dat","version":"2.0.3","description":"A connector for Y.js to collaborate over dat","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["dat","yjs"],"author":{"name":"Marcel Klehr","email":"mklehr@gmx.net"},"license":"MPL","gitHead":"51c685141682a47244634ef4fb67fdca1b9783a5","_id":"y-connector-dat@2.0.3","_shasum":"2bfac675c288a4f5873d581099a350e82e1d1b06","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"marcelklehr","email":"mklehr@gmx.net"},"dist":{"shasum":"2bfac675c288a4f5873d581099a350e82e1d1b06","tarball":"https://registry.npmjs.org/y-connector-dat/-/y-connector-dat-2.0.3.tgz","integrity":"sha512-O931NgRXEM/2cdLlZj8jbH8x2hUSYH2pSmJQAIxgyMcyAMxC9GAYj4dyMKnPYIoZR3TmDruTGTmi/i64Hgpt+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA8orOymH2cHl5Ig6JP1EWnK9dREYA+mmoXXeAV9XdOYAiAy5T4zxMVcLyXaf+aLVRsn2xWYxNFSk8XwLLrlaYStyA=="}]},"maintainers":[{"name":"marcelklehr","email":"mklehr@gmx.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/y-connector-dat-2.0.3.tgz_1484846730383_0.7251792903989553"}}},"readme":"# y-connector-dat\nThis is the amazing marriage of [y.js](https://github.com/y-js/yjs) and [dat](https://datproject.org) (specifically the dat API provided by [the beaker browser](https://beakerbrowser.com)).\n\n## Details\n[dat](https://datproject.org) is a private peer-to-peer gossip protocol that deals with versioned archives of files and directories.\n\n[`y.js`](https://github.com/y-js/yjs) is a framework for building applications with CRDTs. Centralized services like Google Docs and Etherpad use OT, peer-to-peer applications use CRDT.\n\n`y-connector-dat` is a transport abstraction layer for y.js that speaks with beaker's dat API.\nSpecifically, it embraces dat's concept of personal versioned archives and forking: Collaborator B forks the original archive, after having been sent its id. Then they send the id of their fork to the original author A, and A can choose to add them to their archive using the collaborator's id. Now, the archives can communicate by watching each other and A and B can collaborate using y.js. They can even choose to go seperate ways and remove each other from their rosters to stop receiving changes from each other.\n\n## Install\n`npm install --save y-connector-dat`\n\n## Usage\n```js\n//...\nrequire('y-connector-dat')(Y)\n// ...\n\nY({\n  db: {\n    name: 'memory'\n  },\n  connector: {\n    name: 'connector-dat'\n  , dat: window.dat // the dat API to use (optional)\n  , room: siteURL // id of the dat you have write access to (the user's own fork; if it' someone else's the doc will be read-only)\n  },\n  share: {\n    textarea: 'Text' // or whatever you want\n  }\n}).then(function (y) {\n  y.share.textarea.bind(document.getElementById('textfield'))\n\n  // To add a collaborator\n  y.connector.addCollaborator('<dat archive id without slashes>')\n})\n\n// To create a new document / dat archive\nrequire('y-connector-dat')\n.create(dat, '<Your dat archive title here>')\n.then(/*...*/)\n```\n\n## Legal\n(c) 2017 Marcel Klehr\n\nMPL License\n","maintainers":[{"name":"marcelklehr","email":"mklehr@gmx.net"}],"time":{"modified":"2022-06-29T06:27:27.770Z","created":"2017-01-05T21:10:43.000Z","1.0.0":"2017-01-05T21:10:43.000Z","1.0.1":"2017-01-05T21:25:44.952Z","2.0.0":"2017-01-19T14:05:10.285Z","2.0.1":"2017-01-19T16:51:03.991Z","2.0.2":"2017-01-19T17:18:08.184Z","2.0.3":"2017-01-19T17:25:32.252Z"},"keywords":["dat","yjs"],"author":{"name":"Marcel Klehr","email":"mklehr@gmx.net"},"license":"MPL","readmeFilename":"README.md"}