max-mapper / max-mapper/abstract-blob-store

Destroying blob stores

Open
#25 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
275
Forks
25
PR merge metrics
No merged PRs in 30d

Description

I really like abstract-blob-store and am using a few different blob stores currently (like fs- and idb-), but I'm a little stumped on the clean-up aspect. For example, fs-blob-store will happily mkdir when you init the module, but there's no general API for deleting the blob store -- just its keys. 😞

This means clean-up must be implementation-specific (since your code will need to know whether to rimraf or to delete the index-db store, etc.) to prevent lingering side-effects of the blob store, such as extra directories hanging around your FS or keys in your IndexedDB store.

This may be best served as a new API method on abstract-blob-store (maybe destroy?). Eager to get your thoughts on this @maxogden and @mafintosh (and anyone else excited about side effect free modules!).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the existing abstract-blob-store interface alongside the fs-blob-store and idb-blob-store implementations mentioned in the issue. Determine the expected destroy behavior for each backend and define how completion would verify that filesystem directories or IndexedDB stores no longer remain.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
backend, databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.