mirror of
https://github.com/orbitdb/orbitdb.git
synced 2025-10-07 22:57:07 +00:00
Rename Client to OrbitDB and set it as module's entry point. Move files to appropriate directories.
This commit is contained in:
@@ -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) {
|
||||
@@ -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;
|
||||
@@ -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];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
@@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const Counter = require('./crdts/GCounter');
|
||||
const Counter = require('../../crdts/GCounter');
|
||||
|
||||
class CounterIndex {
|
||||
constructor() {
|
||||
@@ -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) {
|
||||
@@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const OpTypes = require('./Operation').Types;
|
||||
const OpTypes = require('../../oplog/OpTypes');
|
||||
|
||||
class EventLogIndex {
|
||||
constructor() {
|
||||
@@ -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) {
|
||||
@@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const OpTypes = require('./Operation').Types;
|
||||
const OpTypes = require('../../oplog/OpTypes');
|
||||
|
||||
class KeyValueIndex {
|
||||
constructor() {
|
||||
@@ -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) {
|
||||
Reference in New Issue
Block a user