diffusion
Version:
Diffusion JavaScript client
30 lines (25 loc) • 1.01 kB
JavaScript
var Services = require('services/services');
var Emitter = require('events/emitter');
var Result = require('events/result');
var EntriesFetchRequest = require('services/log-retrieval/entries-fetch-request');
module.exports = function LogRetrieval(internal){
var FETCH_LOG_ENTRIES_SERVICE = internal.getServiceLocator().obtain(Services.FETCH_LOG_ENTRIES_SERVICE);
// Returns Result<EntryFetchResponse>
this.fetchEntries = function(firstEntry, entryCount) {
var emitter = new Emitter();
var result = new Result(emitter);
if (internal.checkConnected(emitter)) {
FETCH_LOG_ENTRIES_SERVICE.send(
new EntriesFetchRequest(firstEntry, entryCount),
function(err, response) {
if (err) {
emitter.error(err);
} else {
emitter.emit('complete', response);
}
}
);
}
return result;
};
};