Rename Client to OrbitDB and set it as module's entry point. Move files to appropriate directories.

This commit is contained in:
haad
2016-04-27 08:48:12 +02:00
parent 81a54f762d
commit 3d12247bdb
18 changed files with 59 additions and 103 deletions

View File

@@ -3,9 +3,9 @@
const EventEmitter = require('events').EventEmitter;
const logger = require('logplease').create("orbit-db.Client");
const PubSub = require('./PubSub');
const CounterStore = require('./db/CounterStore');
const KeyValueStore = require('./db/KeyValueStore');
const EventStore = require('./db/EventStore');
const CounterStore = require('./stores/counters/CounterStore');
const KeyValueStore = require('./stores/kvstore/KeyValueStore');
const EventStore = require('./stores/eventlog/EventStore');
class Client {
constructor(ipfs, options) {

View File

@@ -1,22 +0,0 @@
'use strict';
const OpTypes = require('./OpTypes');
const OrbitDBItem = require('../post/OrbitDBItem');
const Post = require('../post/Post');
class Operation {
static create(ipfs, operation, key, value) {
const data = {
operation: operation,
key: key,
value: value
};
return Post.create(ipfs, Post.Types.OrbitDBItem, data);
}
static get Types() {
return OpTypes;
}
}
module.exports = Operation;

View File

@@ -1,8 +1,7 @@
'use strict';
const Log = require('ipfs-log');
const Cache = require('../Cache');
const DBOperation = require('./Operation');
const Log = require('ipfs-log');
const Cache = require('../Cache');
class OperationsLog {
constructor(ipfs, dbname, events, opts) {
@@ -17,7 +16,7 @@ class OperationsLog {
}
get ops() {
return this._log.items.map((f) => this._cached[f.payload]);
return this._log.items.map((f) => this._cached[f.hash]);
}
create(id) {
@@ -57,34 +56,35 @@ class OperationsLog {
}
addOperation(operation, key, value) {
let post;
return DBOperation.create(this._ipfs, operation, key, value)
.then((result) => {
return this._log.add(result.Hash).then((node) => {
return { node: node, op: result.Post };
});
})
.then((result) => {
this._cachePayload(result.node.payload, result.op);
return result;
})
const post = {
op: operation,
key: key,
value: value,
meta: {
size: Buffer.byteLength(value ? JSON.stringify(value) : '', 'utf8'),
ts: new Date().getTime()
}
};
return this._log.add(post)
.then((result) => this._cachePayload(result.hash, post))
.then((result) => {
return Log.getIpfsHash(this._ipfs, this._log).then((hash) => {
this.lastWrite = hash;
Cache.set(this.dbname, hash);
this.events.emit('data', this.dbname, hash);
return result.op.hash;
return result.hash;
});
})
});
}
_cacheInMemory(log) {
const promises = log.items
.map((f) => f.payload)
.map((f) => f.hash)
.filter((f) => !this._cached[f])
.map((f) => {
return this._ipfs.object.get(f)
.then((obj) => this._cachePayload(f, JSON.parse(obj.Data)))
.then((obj) => this._cachePayload(f, JSON.parse(obj.Data)["payload"]))
});
return Promise.all(promises);
@@ -96,6 +96,7 @@ class OperationsLog {
if(payload.key === null) Object.assign(payload, { key: hash });
this._cached[hash] = payload;
}
return this._cached[hash];
}
}

View File

@@ -1,7 +1,7 @@
'use strict';
const EventEmitter = require('events').EventEmitter;
const OperationsLog = require('./OperationsLog');
const OperationsLog = require('../oplog/OperationsLog');
const DefaultIndex = require('./DefaultIndex');
class Store {

View File

@@ -1,6 +1,6 @@
'use strict';
const Counter = require('./crdts/GCounter');
const Counter = require('../../crdts/GCounter');
class CounterIndex {
constructor() {

View File

@@ -1,8 +1,8 @@
'use strict';
const Store = require('./Store');
const Store = require('../Store');
const CounterIndex = require('./CounterIndex');
const OpTypes = require('./Operation').Types;
const OpTypes = require('../../oplog/OpTypes');
class CounterStore extends Store {
constructor(ipfs, options) {

View File

@@ -1,6 +1,6 @@
'use strict';
const OpTypes = require('./Operation').Types;
const OpTypes = require('../../oplog/OpTypes');
class EventLogIndex {
constructor() {

View File

@@ -1,9 +1,9 @@
'use strict';
const Lazy = require('lazy.js');
const Store = require('./Store');
const OpTypes = require('./Operation').Types;
const Store = require('../Store');
const EventLogIndex = require('./EventLogIndex');
const OpTypes = require('../../oplog/OpTypes');
class EventStore extends Store {
constructor(ipfs, options) {

View File

@@ -1,6 +1,6 @@
'use strict';
const OpTypes = require('./Operation').Types;
const OpTypes = require('../../oplog/OpTypes');
class KeyValueIndex {
constructor() {

View File

@@ -1,8 +1,8 @@
'use strict';
const Store = require('./Store');
const Store = require('../Store');
const KVIndex = require('./KeyValueIndex');
const OpTypes = require('./Operation').Types;
const OpTypes = require('../../oplog/OpTypes');
class KeyValueStore extends Store {
constructor(ipfs, options) {