1 | var Custodian, Datastore, Documentstore, StorageEngines, exports;
|
2 |
|
3 | Datastore = require('./datastore');
|
4 |
|
5 | Documentstore = require('./documentstore');
|
6 |
|
7 | StorageEngines = {
|
8 | levelup: require('./storage-engine/levelup'),
|
9 | memory: require('./storage-engine/memory'),
|
10 | rest: require('./storage-engine/rest')
|
11 | };
|
12 |
|
13 | Custodian = (function() {
|
14 | function Custodian(config) {
|
15 | var storageEngine, _ref, _ref1;
|
16 | this.config = config != null ? config : {};
|
17 | if (!(this instanceof Custodian)) {
|
18 | return new Custodian(this.config);
|
19 | }
|
20 | storageEngine = (_ref = (_ref1 = this.config) != null ? _ref1.storage : void 0) != null ? _ref : 'memory';
|
21 | if (typeof storageEngine === 'string') {
|
22 | storageEngine = StorageEngines[storageEngine];
|
23 | }
|
24 | this.store = new storageEngine(this.config);
|
25 | this.data = Datastore(this.store.data);
|
26 | this.document = Documentstore(this.store.document);
|
27 | }
|
28 |
|
29 | return Custodian;
|
30 |
|
31 | })();
|
32 |
|
33 | exports = module.exports = Custodian;
|