Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/maxogden/toiletdb

flushes an object to a JSON file. lets you do simple CRUD with async safely with the backend being a flat JSON file
https://github.com/maxogden/toiletdb

Last synced: 3 months ago
JSON representation

flushes an object to a JSON file. lets you do simple CRUD with async safely with the backend being a flat JSON file

Awesome Lists containing this project

README

        

# toiletdb :toilet:

flushes an object to a JSON file. lets you do simple CRUD with async safely with the backend being a flat JSON file

uses [`require('last-one-wins')`](//www.npmjs.com/package/last-one-wins) to ensure atomicity of CRUD actions

note: if you write Buffers they will be converted to hex strings

## API

```js
var toilet = require('toiletdb')
// or require the in-memory version if you want
var db = require('toiletdb/inmemory')

// pass the name of the json file to use
var db = toilet('./data.json')

// open the db
await db.open()

// read data from data.json
var data = await db.read()
// read `key` inside data.json
var value = await db.read(key)

// sets `key` to `val` inside data.json
await db.write(key, val)

// deletes `key` key from data.json
await db.delete(key)

// deletes everything from data.json
await db.flush()

// synchronous version
db.flushSync()
```

### Custom FS

```js

// pass the name and custom fs
var db = toilet({fs: customFs, name: './data.json'})

// write/read as normal
```