{"dist":{"shasum":"962e1f0a38255326b01fbc8419688dbabd130953","tarball":"https://registry.npmjs.org/level-manifest/-/level-manifest-1.1.0.tgz","integrity":"sha512-3ll9iGXnzJAytMWjI7OqXMWqXK4qhbNqdP3iVVuD9AebT1sBgWkTvudnb3xw09UKwi1y7/izzyreCQ4aSLzqtg==","signatures":[{"sig":"MEQCIGj2UqqIbOraDKEWMbT894cNiXu485+h00QHrARNkJiFAiASww4r3KcQwFUR1UhqwMHkNXZzszIY02aANB4peKuvcA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"name":"level-manifest","_from":".","author":{"url":"http://dominictarr.com","name":"Dominic Tarr","email":"dominic.tarr@gmail.com"},"readme":"# level-manifest\n\nDescribe the functions that multilevel should provide access to on the client.\n\n## Example\n\nSuppose you implement a levelup plugin that adds some cool new features to a\n[sublevel](https://github.com/dominictarr/level-sublevel)\n\nretrive a js object describing what methods a client protocol should be able\nto access.\n``` js\nvar manifest = require('level-manifest')\n\nvar m = manifest(db)\n```\n\n`manifest` build a tree of sublevels.\n\n``` js\n{\n  methods:   {},\n  sublevels: {\n    foo: {\n      methods: {},\n      sublevels: {}\n    }\n  }\n}\n```\n\nPlugins extending a sublevel should add a `methods` property that describes\nany new methods that can be used by a remote client.\n\nfor example, the default methods are specified like this:\n\n``` js\nvar methods = {\n  createReadStream  : {type: 'readable'},\n  readStream        : {type: 'readable'},\n  createValueStream : {type: 'readable'},\n  valueStream       : {type: 'readable'},\n  createKeyStream   : {type: 'readable'},\n  keyStream         : {type: 'readable'},\n  createWriteStream : {type: 'writable'},\n  writeStream       : {type: 'writable'},\n  isOpen            : {type: 'sync'},\n  isClosed          : {type: 'sync'},\n  put               : {type: 'async'},\n  get               : {type: 'async'},\n  del               : {type: 'async'},\n  batch             : {type: 'async'},\n  approximateSize   : {type: 'async'}\n}\n```\n\n`readable`, and `writable` mean readable or writable streams,\n(use `duplex` for a stream that is both readable and writable.)\n\nA client should also provide support for these types:\n``` js\nvar other = {\n  error        : {type: 'error', message: 'not-supported'},\n  createStream : {type: 'duplex'}\n}\n```\n`error` is used when a method has been disabled.\n\n## License\n\nMIT\n","license":"MIT","scripts":{"test":"set -e; for t in test/*.js; do node $t; done"},"_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"homepage":"https://github.com/dominictarr/level-manifest","repository":{"url":"git://github.com/dominictarr/level-manifest.git","type":"git"},"_npmVersion":"1.2.3","description":"describe a levelup plugin for remote access","directories":{},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"dependencies":{"deep-extend":"~0.2.5"},"readmeFilename":"README.md","devDependencies":{"tape":"~0.3.3"},"_id":"level-manifest@1.1.0","version":"1.1.0"}