{"bugs":{"url":"https://github.com/sanity-io/sanity/issues"},"dist":{"shasum":"2783ad6d4d34c2925ae3e8f54c6900eac9b62c4d","tarball":"https://registry.npmjs.org/@sanity/document-store/-/document-store-0.135.6-canary.217.tgz","fileCount":21,"integrity":"sha512-nfQFwYJs3hcJVQNnmF0ON2jpOIXJUxfGyPub33/QBqeTDys6MObCfo3Y/4bAXqn+/0J7FiAEkZKHHsTCKDbyqA==","signatures":[{"sig":"MEYCIQCQTSfXF1gWsEAG9Ej7XtqloWlT1te/P+zk1612O0nZqAIhAPpvFJ79wlcVdDZw4NMGYJuObZiz26s9bfjLIkzelQ4n","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb4wUoCRA9TVsSAnZWagAAQR4QAJnzSclvsFchwdYgeGCZ\n8ki1kJKKovXPqsOyBDx3WCGHznpETF28OJye9ij7g9S8FkwR05BtZG/lALJ5\nXssBsKQJA4wSHJAMxazsELa1t/ob+QA1NhEqU3hwvh0ZrU9aMVgrNnkpFJRI\nRWLXrrBsMT3CReL6T1aWjCnzhw0wbjs3SeRuu9TZv4X/b/sfFXrBXOBC5Pon\nykdTCvfBJpsEJNvn9+uJKVYTk7Zh/77j1RLnMC/xXHJNymQopjra11daOl2D\nomoMJE+af/JFBWlpdXNzFhZq3Z4v1vEantCIlN5O3/ll1e1QYi8Kmo1OXUyt\nBgJAoot0DC5Lf0lBtNkkI19e2hIl82kOGGgOkV3apD3iisNcJh6r/CxM4qHb\n1xwTjGa/xl4RucNDpQJRnZnJdDzU0XhZM9nBvw28h/PZi8b+ZPH+tHYIm6v7\n7Ujwnfqj08FFUdqnSFmYNPmmVVHQycX+TgmXoyHzuSHuaPqoslGngZ2QH7j4\nVhI9H5ZaHsNXRLbDUaP7D9BeJ6Z9/68uL47NVyetZELWJMRokzqPdDWhu8cN\nSzkRKD9kOwdEqrzvqZ58OExogwHd4C9xeRxzRU80iYUFU97WQFsAe+A9xjxB\nMaK9BQyZjGC1PWSd/zV1GtJGE2iGDVDe7w5L3cQfV3z1HTtbn5oOZYIwVQtM\nl0rS\r\n=Vtim\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/index.js","name":"@sanity/document-store","_from":"file:sanity-document-store-0.135.6-canary.217.tgz","author":{"name":"Sanity.io","email":"hello@sanity.io"},"readme":"# Document store\n\nSanity / gradient document store\n\n## Example\n```js\n// If you are interested in everything that happens with document `lol42`\nconst subscription = documents.byId(\"lol42\").subscribe(event => {\n  console.log('Something happened with document lol42!', event)\n})\n\n// After a while, when you are no longer interested in updates fom document `lol42`:\nsubscription.unsubscribe()\n```\n\n## How it works\nWhen you add a subscriber to a document the first thing that happens is that the subscriber function is called with a snapshot of the document's current state. This happens as soon as the snapshot is retrieved. If there is a cached version of it on the client, the snapshot is received immediately (synchronously).\n\nFrom that moment on, you will receive a new event every time something happens to the document, until you unsubscribe again.\n\n## API\n\n- `createDocumentStore({serverConnection: ServerConnection}) : DocumentStore`\n\nServerConnection must be an object with the following api:\n- `byId(id : string) : Observable<DocumentEvent>`\n- `query(query : string) : Observable<QueryResultEvent>`\n(todo, add more)\n\n### DocumentStore\n\n### Query methods\n- `byId(id : string) : Observable<DocumentEvent>`\n- `byIds(ids : Array<string>) : Observable<QueryResultEvent>`\n- `query(query : string) : Observable<QueryResultEvent>`\n\n### Mutation methods\n- `update(id : string, spec : UpdateSpec) : Observable<OperationEvent>`\n- `create(document : Document) : Observable<OperationEvent>`\n- `replace(documentId : string, document : Document) : Observable<OperationEvent>`\n- `createOrReplace(document : Document) : Observable<OperationEvent>`\n- `delete(documentId : string) :  : Observable<OperationEvent>`\n\n### Document\n- `_id : string`\n- `_type : string`\n\n### DocumentEventType\n\n### DocumentEvent\n- `type : string` either one of `snapshot`, `update`\n- `snapshot : Document`\n","gitHead":"89ef7ef9e4e4e12624250e5144fd294161eed044","license":"MIT","scripts":{"tap":"tap --node-arg=--require --node-arg=babel-register test/*.test.js","test":"npm run tap && npm run examples","clean":"rimraf lib","examples":"echo 'Running examples'; for i in examples/*.js; do echo '\n## '$i' ----\n' && node $i; done"},"_npmUser":{"name":"kristofferj","email":"kristoffer@sanity.io"},"homepage":"https://www.sanity.io/","keywords":["sanity","cms","headless","realtime","content","document-store"],"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/sanity-io/sanity.git","type":"git"},"_npmVersion":"6.4.1","description":"Sanity / gradient document store","directories":{},"maintainers":[{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"kristofferj","email":"kristoffer@bengler.no"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"simenss","email":"simen@bengler.no"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"thomax","email":"thomas@bengler.no"}],"_nodeVersion":"8.9.2","dependencies":{"rxjs":"^6.1.0","lodash":"^4.17.4","nano-pubsub":"^1.0.2","@sanity/mutator":"0.135.6-canary.217+89ef7ef9e"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tap":"^12.0.1","rimraf":"^2.6.2","in-publish":"^2.0.0","get-random-values":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/document-store_0.135.6-canary.217_1541604647670_0.7761759478555295","host":"s3://npm-registry-packages"},"_id":"@sanity/document-store@0.135.6-canary.217","version":"0.135.6-canary.217"}