npm install chunk-store-tool
Recommended chunk stores:
Recommended chunk store utilities:
Other modules that follow the chunk store spec:
- chunk-store-multi-get
- abstract-chunk-transport
- fd-chunk-store
- sparse-chunk-store
- ls-chunk-store
- deferred-chunk-store
- indexeddb-chunk-store
- idbkv-chunk-store
- cache-storage-chunk-store
Send a PR adding yours if you write a new one.
Create a new chunk store. Chunks must have a length of chunkLength
.
Add a new chunk to the storage. Index should be an integer.
Retrieve a chunk stored. Index should be an integer. Options include:
{
offset: chunkByteOffset,
length: byteLength
}
If the index doesn't exist in the storage an error should be returned.
Close the underlying resource, e.g. if the store is backed by a file, this would close the file descriptor.
Destroy the file data, e.g. if the store is backed by a file, this would delete the file from the filesystem.
Expose the chunk length from the constructor so that code that receives a chunk store can know what size of chunks to write.
Publishing a test suite as a module lets multiple modules all ensure compatibility since they use the same test suite.
To use the test suite from this module you can require('abstract-chunk-store/tests')
.
An example of this can be found in the memory-chunk-store test suite.
To run the tests simply pass your test module (tap
or tape
or any other compatible
modules are supported) and your store's constructor (or a setup function) in:
var tests = require('abstract-chunk-store/tests')
tests(require('tape'), require('your-custom-chunk-store'))
An abstract chunk store is a binary data store that allows you to interact with individual chunks of a larger blob (a.k.a. binary file). A chunk can be thought of as a small partial blob that fits in memory.
Related:
MIT