# node-storage

> Simple key-value file based store for node.js

Latest version **0.0.9** (published 2019-09-17) · MIT license · 0 weekly downloads

## Install

```sh
npm install node-storage
pnpm add node-storage
yarn add node-storage
bun add node-storage
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.9 |
| Published | 2019-09-17 |
| First published | 2014-05-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 11.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 17 |
| Author | Antony Mativos |
| Maintainers | amativos |
| Keywords | key-value, store, storage, database, datastore, embedded |

## Links

- npm: https://www.npmjs.com/package/node-storage
- Repository: https://github.com/amativos/node-storage
- Issues: https://github.com/amativos/node-storage/issues
- npm.io page: https://npm.io/package/node-storage

## Dependencies (2)

- [async](https://npm.io/package/async.md) ^0.9.0
- [mkdirp](https://npm.io/package/mkdirp.md) ^0.5.0

## Alternatives

- [localforage](https://npm.io/package/localforage.md) — 6.2M weekly downloads
- [localforage-observable](https://npm.io/package/localforage-observable.md) — 30.8K weekly downloads
- [@y/y](https://npm.io/package/@y/y.md) — 30.1K weekly downloads
- [@metaobjectsdev/render](https://npm.io/package/@metaobjectsdev/render.md) — 3.5K weekly downloads
- [@ledgerhq/coin-algorand](https://npm.io/package/@ledgerhq/coin-algorand.md) — 1.1K weekly downloads

## Recent versions

- 0.0.9 (latest) — 2019-09-17
- 0.0.8 — 2019-06-16
- 0.0.7 — 2015-02-11
- 0.0.6 — 2014-06-05
- 0.0.5 — 2014-05-31
- 0.0.4 — 2014-05-28
- 0.0.3 — 2014-05-28
- 0.0.2 — 2014-05-28
- 0.0.1 — 2014-05-28

## README

node-storage
============

Simple file based store for node.js.
Useful for storing configs and such on something like an embedded system.

```
npm install node-storage
```

Examples:

```js
var Storage = require('node-storage');

// this will synchronously create storage file and any necessary directories
// or just load an existing file
var store = new Storage('path/to/file');

// persistence to disk is queued on every put()
store.put('hello', 'world');

// storage object is kept in memory for quick access
store.get('hello'); // 'world'

// for convenience, you can use dot notation for accessing objects when doing get/put
store.get('nested.value'); // undefined

// here, 'nested' object is created, but only if it didn't previously exist,
// in which case 'numbers' key is just added to the object
store.put('nested.numbers', [1, 2, 3]);
store.get('nested.numbers'); // [1, 2, 3]

// throws 'nested.numbers is not an object' error
store.put('nested.numbers.primes', [7, 11, 13]);

store.put('nested.primes', [7, 11, 13]);
store.get('nested'); // { numbers: [1, 2, 3], primes: [7, 11, 13] }

store.put('deeply.nested', {object: {hello: 'world'}});
store.get('deeply.nested.object.hello'); // 'world'
store.get('deeply.nested').object.hello; // 'world'

// remove also queues storage object to be persisted to disk
store.remove('deeply.nested.object');
store.get('deeply.nested.object.hello'); // undefined
store.get('deeply.nested.object'); // undefined
store.get('deeply.nested'); // {}
```

---
_Source: https://npm.io/package/node-storage · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
