27 lines
740 B
Markdown
27 lines
740 B
Markdown
# mem-db mixin
|
|
|
|
This mixin implements object store (normal and raw) and stores the data in memory.
|
|
|
|
```js
|
|
var memDb = require('js-git/mixins/mem-db');
|
|
var repo = {};
|
|
memDb(repo);
|
|
repo.saveAs("blob", "Hello World", function (err, hash) {
|
|
if (err) throw err;
|
|
console.log("Blob saved with hash " + hash);
|
|
});
|
|
```
|
|
|
|
This attaches the following interfaces onto the repo object passed in:
|
|
|
|
- `saveAs(type, body) => hash`
|
|
- `loadAs(type, hash) => body`
|
|
- `loadRaw(hash) => raw-binary`
|
|
- `saveRaw(hash, raw-binary) =>`
|
|
|
|
All these functions are async and accept either a callback last or return a continuable.
|
|
|
|
```js
|
|
// Example using continuable interface from gen-run generator body.
|
|
var commit = yield repo.loadAs("commit", commitHash);
|
|
``` |