{"_id":"interface-pull-blob-store","_rev":"4647085","name":"interface-pull-blob-store","description":"Test suite for pull-blob-stores","dist-tags":{"latest":"0.6.0"},"maintainers":[{"name":"dignifiedquire","email":"dignifiedquire@gmail.com"}],"time":{"modified":"2026-04-10T20:20:57.000Z","created":"2016-08-12T16:16:02.332Z","0.6.0":"2016-10-24T11:41:18.745Z","0.5.0":"2016-08-17T13:47:42.370Z","0.4.0":"2016-08-15T11:41:34.453Z","0.3.0":"2016-08-12T17:37:00.265Z","0.2.0":"2016-08-12T16:16:02.332Z"},"users":{},"author":{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/ipfs/interface-pull-blob-store.git"},"versions":{"0.6.0":{"name":"interface-pull-blob-store","version":"0.6.0","description":"Test suite for pull-blob-stores","main":"lib/index.js","jsnext:main":"src/index.js","scripts":{"lint":"aegir-lint","build":"aegir-build","test":"aegir-test","test:node":"aegir-test --env node","test:browser":"aegir-test --env browser","release":"aegir-release","release-minor":"aegir-release --type minor","release-major":"aegir-release --type major","coverage":"aegir-coverage","coverage-publish":"aegir-coverage publish"},"keywords":["pull-stream","blob store","streaming"],"author":{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},"license":"MIT","devDependencies":{"aegir":"^8.0.0"},"dependencies":{"chai":"^3.5.0","pull-stream":"^3.4.3","pull-write":"^1.0.2","run-series":"^1.1.4"},"bugs":{"url":"https://github.com/ipfs/interface-pull-blob-store/issues"},"homepage":"https://github.com/ipfs/interface-pull-blob-store","contributors":[{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"greenkeeperio-bot","email":"support@greenkeeper.io"}],"repository":{"type":"git","url":"git+https://github.com/ipfs/interface-pull-blob-store.git"},"gitHead":"dae8edd8c56b7617fa611ee3aa2604da16788e78","_id":"interface-pull-blob-store@0.6.0","_shasum":"d4ca38bfa634d22c00f631c900d8939f33c85eb3","_from":".","_npmVersion":"4.0.0","_nodeVersion":"6.6.0","_npmUser":{"name":"dignifiedquire","email":"dignifiedquire@gmail.com"},"dist":{"shasum":"d4ca38bfa634d22c00f631c900d8939f33c85eb3","size":219907,"noattachment":false,"key":"/interface-pull-blob-store/-/interface-pull-blob-store-0.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/interface-pull-blob-store/download/interface-pull-blob-store-0.6.0.tgz"},"maintainers":[{"name":"dignifiedquire","email":"dignifiedquire@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/interface-pull-blob-store-0.6.0.tgz_1477309276440_0.5634998397435993"},"directories":{},"publish_time":1477309278745,"_hasShrinkwrap":false,"_cnpm_publish_time":1477309278745,"_cnpmcore_publish_time":"2021-12-16T20:52:38.602Z"},"0.5.0":{"name":"interface-pull-blob-store","version":"0.5.0","description":"Test suite for pull-blob-stores","main":"lib/index.js","jsnext:main":"src/index.js","scripts":{"lint":"aegir-lint","build":"aegir-build","test":"aegir-test","test:node":"aegir-test --env node","test:browser":"aegir-test --env browser","release":"aegir-release","release-minor":"aegir-release --type minor","release-major":"aegir-release --type major","coverage":"aegir-coverage","coverage-publish":"aegir-coverage publish"},"keywords":["pull-stream","blob store","streaming"],"author":{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},"license":"MIT","devDependencies":{"aegir":"^6.0.1"},"dependencies":{"chai":"^3.5.0","pull-stream":"^3.4.3","pull-write":"^1.0.2","run-series":"^1.1.4"},"bugs":{"url":"https://github.com/ipfs/interface-pull-blob-store/issues"},"homepage":"https://github.com/ipfs/interface-pull-blob-store","contributors":[{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"}],"repository":{"type":"git","url":"git+https://github.com/ipfs/interface-pull-blob-store.git"},"gitHead":"e1ae292ce001addddc8cc3eab6a97c4b118a95e7","_id":"interface-pull-blob-store@0.5.0","_shasum":"3ef3496bf15605cafe6d3b9c5ea38c0d82801cff","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"dignifiedquire","email":"dignifiedquire@gmail.com"},"dist":{"shasum":"3ef3496bf15605cafe6d3b9c5ea38c0d82801cff","size":298717,"noattachment":false,"key":"/interface-pull-blob-store/-/interface-pull-blob-store-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/interface-pull-blob-store/download/interface-pull-blob-store-0.5.0.tgz"},"maintainers":[{"name":"dignifiedquire","email":"dignifiedquire@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/interface-pull-blob-store-0.5.0.tgz_1471441661624_0.6582013603765517"},"directories":{},"publish_time":1471441662370,"_hasShrinkwrap":false,"_cnpm_publish_time":1471441662370,"_cnpmcore_publish_time":"2021-12-16T20:52:39.465Z"},"0.4.0":{"name":"interface-pull-blob-store","version":"0.4.0","description":"Test suite for pull-blob-stores","main":"lib/index.js","jsnext:main":"src/index.js","scripts":{"lint":"aegir-lint","build":"aegir-build","test":"aegir-test","test:node":"aegir-test --env node","test:browser":"aegir-test --env browser","release":"aegir-release","release-minor":"aegir-release --type minor","release-major":"aegir-release --type major","coverage":"aegir-coverage","coverage-publish":"aegir-coverage publish"},"keywords":["pull-stream","blob store","streaming"],"author":{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},"license":"MIT","devDependencies":{"aegir":"^6.0.1"},"dependencies":{"chai":"^3.5.0","pull-stream":"^3.4.3","pull-write":"^1.0.2","run-series":"^1.1.4"},"bugs":{"url":"https://github.com/ipfs/interface-pull-blob-store/issues"},"homepage":"https://github.com/ipfs/interface-pull-blob-store","contributors":[{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"}],"repository":{"type":"git","url":"git+https://github.com/ipfs/interface-pull-blob-store.git"},"gitHead":"e731a9d6f288245cb7d3c00796a60c0c73086341","_id":"interface-pull-blob-store@0.4.0","_shasum":"5c721792a8ec8514013419d53460532c9b35b807","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"dignifiedquire","email":"dignifiedquire@gmail.com"},"dist":{"shasum":"5c721792a8ec8514013419d53460532c9b35b807","size":298605,"noattachment":false,"key":"/interface-pull-blob-store/-/interface-pull-blob-store-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/interface-pull-blob-store/download/interface-pull-blob-store-0.4.0.tgz"},"maintainers":[{"name":"dignifiedquire","email":"dignifiedquire@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/interface-pull-blob-store-0.4.0.tgz_1471261292412_0.31713249953463674"},"directories":{},"publish_time":1471261294453,"_hasShrinkwrap":false,"_cnpm_publish_time":1471261294453,"_cnpmcore_publish_time":"2021-12-16T20:52:40.399Z"},"0.3.0":{"name":"interface-pull-blob-store","version":"0.3.0","description":"Test suite for pull-blob-stores","main":"lib/index.js","jsnext:main":"src/index.js","scripts":{"lint":"aegir-lint","build":"aegir-build","test":"aegir-test","test:node":"aegir-test --env node","test:browser":"aegir-test --env browser","release":"aegir-release","release-minor":"aegir-release --type minor","release-major":"aegir-release --type major","coverage":"aegir-coverage","coverage-publish":"aegir-coverage publish"},"keywords":["pull-stream","blob store","streaming"],"author":{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},"license":"MIT","devDependencies":{"aegir":"^6.0.1"},"dependencies":{"chai":"^3.5.0","pull-stream":"^3.4.3","pull-write":"^1.0.2","run-series":"^1.1.4"},"bugs":{"url":"https://github.com/ipfs/interface-pull-blob-store/issues"},"homepage":"https://github.com/ipfs/interface-pull-blob-store","contributors":[{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"}],"gitHead":"e3ce7a8b2100a2c05b2888d377eff1976b848939","_id":"interface-pull-blob-store@0.3.0","_shasum":"ab7d817db9e7df858054a274e48bb19c3ff9f08b","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"dignifiedquire","email":"dignifiedquire@gmail.com"},"dist":{"shasum":"ab7d817db9e7df858054a274e48bb19c3ff9f08b","size":296718,"noattachment":false,"key":"/interface-pull-blob-store/-/interface-pull-blob-store-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/interface-pull-blob-store/download/interface-pull-blob-store-0.3.0.tgz"},"maintainers":[{"name":"dignifiedquire","email":"dignifiedquire@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/interface-pull-blob-store-0.3.0.tgz_1471023418231_0.2685059322975576"},"directories":{},"publish_time":1471023420265,"_hasShrinkwrap":false,"_cnpm_publish_time":1471023420265,"_cnpmcore_publish_time":"2021-12-16T20:52:41.731Z"},"0.2.0":{"name":"interface-pull-blob-store","version":"0.2.0","description":"Test suite for pull-blob-stores","main":"lib/index.js","jsnext:main":"src/index.js","scripts":{"lint":"aegir-lint","build":"aegir-build","test":"aegir-test","test:node":"aegir-test --env node","test:browser":"aegir-test --env browser","release":"aegir-release","release-minor":"aegir-release --type minor","release-major":"aegir-release --type major","coverage":"aegir-coverage","coverage-publish":"aegir-coverage publish"},"keywords":["pull-stream","blob store","streaming"],"author":{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},"license":"MIT","devDependencies":{"aegir":"^6.0.1"},"dependencies":{"chai":"^3.5.0","pull-stream":"^3.4.3","pull-write":"^1.0.2","run-series":"^1.1.4"},"bugs":{"url":"https://github.com/ipfs/interface-pull-blob-store/issues"},"homepage":"https://github.com/ipfs/interface-pull-blob-store","contributors":[{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"}],"gitHead":"293c80022739ba3a6cc6d199bda1c293f9ee2dc7","_id":"interface-pull-blob-store@0.2.0","_shasum":"c430069acf0fd967d6f83f69498973b7b70cdb0a","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"dignifiedquire","email":"dignifiedquire@gmail.com"},"dist":{"shasum":"c430069acf0fd967d6f83f69498973b7b70cdb0a","size":296419,"noattachment":false,"key":"/interface-pull-blob-store/-/interface-pull-blob-store-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/interface-pull-blob-store/download/interface-pull-blob-store-0.2.0.tgz"},"maintainers":[{"name":"dignifiedquire","email":"dignifiedquire@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/interface-pull-blob-store-0.2.0.tgz_1471018560180_0.8427492729388177"},"directories":{},"publish_time":1471018562332,"_hasShrinkwrap":false,"_cnpm_publish_time":1471018562332,"_cnpmcore_publish_time":"2021-12-16T20:52:42.868Z"}},"readme":"# interface-pull-blob-store\n\n[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io)\n[![](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io/)\n[![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Coverage Status](https://coveralls.io/repos/github/ipfs/interface-pull-blob-store/badge.svg?branch=master)](https://coveralls.io/github/ipfs/interface-pull-blob-store?branch=master)\n[![Travis CI](https://travis-ci.org/ipfs/interface-pull-blob-store.svg?branch=master)](https://travis-ci.org/ipfs/interface-pull-blob-store)\n[![Circle CI](https://circleci.com/gh/ipfs/interface-pull-blob-store.svg?style=svg)](https://circleci.com/gh/ipfs/interface-pull-blob-store)\n[![Dependency Status](https://david-dm.org/ipfs/interface-pull-blob-store.svg?style=flat-square)](https://david-dm.org/ipfs/interface-pull-blob-store) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/feross/standard)\n\n> Test suite for pull-blob-stores\n\nA test suite and interface that can be used to implement streaming file ([blob](https://en.wikipedia.org/wiki/Binary_large_object)) storage modules for various storage backends and platforms. All streaming happens through the use of  [pull-stream](https://pull-stream.github.io/)s.\n\n### Modules that use this\n\n- [fs-pull-blob-store](https://github.com/ipfs/js-fs-pull-blob-store)\n- [idb-pull-blob-store](https://github.com/ipfs/js-idb-pull-blob-store)\n\n## Table of Contents\n\n- [Install](#install)\n- [Usage](#usage)\n- [API](#api)\n  - [store.write(key, cb)](#storewritekey-cb)\n  - [store.read(key)](#storereadkey)\n  - [store.exists(key, cb)](#storeexistskey-cb)\n  - [store.remove(key, cb)](#storeremovekey-cb)\n- [Contribute](#contribute)\n- [License](#license)\n\n## Install\n\nTODO\n\n## Usage\n\nTODO\n\n## API\n\nA valid blob store should implement the following APIs. There is a reference in-memory implementation available at `src/index.js` in this repo.\n\n### store.write(key, cb)\n\nThis method should return a sink, which when written to writes the data to the blob store.\n\n### store.read(key)\n\nThis method should return a source that emits blob data from the underlying blob store or emits an error if the blob does not exist or if there was some other error during the read.\n\n### store.exists(key, cb)\n\nThis checks if a blob exists in the store.\n\n### store.remove(key, cb)\n\nThis method should remove a blob from the store.\n\n## Contribute\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/contributing.md)\n\nIf you would like to contribute code to this repository, please dive in! Check out [the issues](//github.com/ipfs/interface-pull-blob-store/issues). Clicking the banner above will lead you to the general [IPFS community contribute guidelines](https://github.com/ipfs/community/blob/master/contributing.md), if you would like to contribute in other ways.\n\nSmall note: If editing the Readme, please conform to the [standard-readme](https://github.com/RichardLitt/standard-readme) specification.\n\n## License\n\n[MIT](LICENSE)\n","_attachments":{},"homepage":"https://github.com/ipfs/interface-pull-blob-store","bugs":{"url":"https://github.com/ipfs/interface-pull-blob-store/issues"},"license":"MIT"}