Socket
Socket
Sign inDemoInstall

abstract-chunk-store

Package Overview
Dependencies
2
Maintainers
3
Versions
16
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

abstract-chunk-store

A test suite and interface you can use to implement a chunk based storage backend


Version published
Maintainers
3
Weekly downloads
17
increased by70%

Weekly downloads

Readme

Source

abstract-chunk-store npm downloads

A test suite and interface you can use to implement a chunk based storage backend

abstract chunk store

Install

npm install abstract-chunk-store

Some modules that use this

Send a PR adding yours if you write a new one.

API

chunkStore = new ChunkStore(chunkLength)

Create a new chunk store. Chunks must have a length of chunkLength.

chunkStore.put(index, chunkBuffer, [cb])

Add a new chunk to the storage. Index should be an integer.

chunkStore.get(index, [options], cb)

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.

chunkStore.close([cb])

Close the underlying resource, e.g. if the store is backed by a file, this would close the file descriptor.

chunkStore.destroy([cb])

Destroy the file data, e.g. if the store is backed by a file, this would delete the file from the filesystem.

chunkStore.chunkLength

Expose the chunk length from the constructor so that code that receives a chunk store can know what size of chunks to write.

Test Suite

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'))

Badge

If you make a new module that uses the abstract-chunk-store API, include this badge in your readme!

abstract chunk store

[![abstract chunk store](https://cdn.rawgit.com/mafintosh/abstract-chunk-store/master/badge.svg)](https://github.com/mafintosh/abstract-chunk-store)

Background

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:

License

MIT

FAQs

Last updated on 19 May 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc