cqrs-eventdenormalizer
Advanced tools
Comparing version 1.9.6 to 1.9.7
@@ -6,3 +6,2 @@ 'use strict'; | ||
_ = require('lodash'), | ||
trycatch = require('trycatch'), | ||
dotty = require('dotty'), | ||
@@ -114,10 +113,15 @@ debug = require('debug')('denormalizer:eventExtender'); | ||
trycatch(function () { | ||
if (self.payload && self.payload !== '') { | ||
payload = dotty.get(evt, self.payload); | ||
} | ||
if (self.payload && self.payload !== '') { | ||
payload = dotty.get(evt, self.payload); | ||
} | ||
if (self.evtExtFn.length === 3) { | ||
if (self.id) { | ||
self.extractId(evt, function (err, id) { | ||
if (self.evtExtFn.length === 3) { | ||
if (self.id) { | ||
self.extractId(evt, function (err, id) { | ||
if (err) { | ||
debug(err); | ||
return callback(err); | ||
} | ||
self.loadViewModel(id, function (err, vm) { | ||
if (err) { | ||
@@ -128,27 +132,77 @@ debug(err); | ||
self.loadViewModel(id, function (err, vm) { | ||
if (err) { | ||
debug(err); | ||
return callback(err); | ||
} | ||
self.evtExtFn(_.cloneDeep(payload), vm, callback); | ||
}); | ||
try { | ||
self.evtExtFn(_.cloneDeep(payload), vm, function () { | ||
try { | ||
callback.apply(this, _.toArray(arguments)); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
}); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
}); | ||
return; | ||
} | ||
}); | ||
return; | ||
} | ||
return self.evtExtFn(_.cloneDeep(payload), self.collection, callback); | ||
try { | ||
self.evtExtFn(_.cloneDeep(payload), self.collection, function () { | ||
try { | ||
callback.apply(this, _.toArray(arguments)); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
}); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
return; | ||
} | ||
if (self.evtExtFn.length === 1) { | ||
return callback(null, self.evtExtFn(evt)); | ||
if (self.evtExtFn.length === 1) { | ||
try { | ||
var res = self.evtExtFn(evt); | ||
try { | ||
callback(null, res); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
return; | ||
} | ||
if (self.evtExtFn.length === 2) { | ||
if (!self.collection || !self.id) { | ||
return self.evtExtFn(evt, callback); | ||
if (self.evtExtFn.length === 2) { | ||
if (!self.collection || !self.id) { | ||
try { | ||
self.evtExtFn(evt, function () { | ||
try { | ||
callback.apply(this, _.toArray(arguments)); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
}); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
return; | ||
} | ||
self.extractId(evt, function (err, id) { | ||
self.extractId(evt, function (err, id) { | ||
if (err) { | ||
debug(err); | ||
return callback(err); | ||
} | ||
self.loadViewModel(id, function (err, vm) { | ||
if (err) { | ||
@@ -159,16 +213,17 @@ debug(err); | ||
self.loadViewModel(id, function (err, vm) { | ||
if (err) { | ||
debug(err); | ||
return callback(err); | ||
try { | ||
var res = self.evtExtFn(_.cloneDeep(payload), vm); | ||
try { | ||
callback(null, res); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
callback(null, self.evtExtFn(_.cloneDeep(payload), vm)); | ||
}); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
}); | ||
} | ||
}, function (err) { | ||
debug(err); | ||
callback(err); | ||
}); | ||
}); | ||
} | ||
} | ||
@@ -175,0 +230,0 @@ |
@@ -8,3 +8,2 @@ 'use strict'; | ||
dotty = require('dotty'), | ||
trycatch = require('trycatch'), | ||
uuid = require('node-uuid').v4, | ||
@@ -74,2 +73,22 @@ ConcurrencyError = require('viewmodel').ConcurrencyError, | ||
var unwrappedDenormFn = this.denormFn; | ||
this.denormFn = function (evtData, vm, clb) { | ||
var wrappedCallback = function () { | ||
try { | ||
clb.apply(this, _.toArray(arguments)); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
}; | ||
try { | ||
unwrappedDenormFn.call(this, evtData, vm, wrappedCallback); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
}; | ||
this.idGenerator(function () { | ||
@@ -291,44 +310,52 @@ return uuid().toString(); | ||
trycatch(function () { | ||
self.shouldHandle(evt, vm, function (err, doHandle) { | ||
if (err) { | ||
return callback(err); | ||
} | ||
self.shouldHandle(evt, vm, function (err, doHandle) { | ||
if (err) { | ||
return callback(err); | ||
} | ||
if (!doHandle) { | ||
return callback(null, null); | ||
} | ||
if (!doHandle) { | ||
return callback(null, null); | ||
} | ||
var denormThis = { | ||
retryCalled: false, | ||
var denormThis = { | ||
retryCalled: false, | ||
retry: function () { | ||
denormThis.retryCalled = true; | ||
retry: function () { | ||
denormThis.retryCalled = true; | ||
if (arguments.length === 0) { | ||
return retry(callback); | ||
} | ||
if (arguments.length === 0) { | ||
return retry(callback); | ||
} | ||
if (arguments.length === 1) { | ||
if (!_.isFunction(arguments[0])) { | ||
return retry(arguments[0], callback); | ||
} | ||
return retry(arguments[0]); | ||
if (arguments.length === 1) { | ||
if (!_.isFunction(arguments[0])) { | ||
return retry(arguments[0], callback); | ||
} | ||
return retry(arguments[0]); | ||
} | ||
retry(arguments[0], arguments[1]); | ||
}, | ||
retry(arguments[0], arguments[1]); | ||
}, | ||
toRemember: null, | ||
toRemember: null, | ||
remindMe: function (memories) { | ||
denormThis.toRemember = memories; | ||
}, | ||
remindMe: function (memories) { | ||
denormThis.toRemember = memories; | ||
}, | ||
getReminder: function (memories) { | ||
return denormThis.toRemember; | ||
} | ||
}; | ||
getReminder: function (memories) { | ||
return denormThis.toRemember; | ||
} | ||
}; | ||
self.denormFn.call(denormThis, _.cloneDeep(payload), vm, function (err) { | ||
self.denormFn.call(denormThis, _.cloneDeep(payload), vm, function (err) { | ||
if (err) { | ||
debug(err); | ||
return callback(err); | ||
} | ||
var notification = self.generateNotification(evt, vm); | ||
debug('[' + self.name + ']' + debugOutPut + ' generate new id for notification'); | ||
self.getNewId(function (err, newId) { | ||
if (err) { | ||
@@ -339,40 +366,26 @@ debug(err); | ||
var notification = self.generateNotification(evt, vm); | ||
dotty.put(notification, self.definitions.notification.id, newId); | ||
debug('[' + self.name + ']' + debugOutPut + ' generate new id for notification'); | ||
self.getNewId(function (err, newId) { | ||
self.saveViewModel(vm, function (err) { | ||
if (err) { | ||
debug(err); | ||
if (err instanceof ConcurrencyError) { | ||
retry(callback); | ||
return; | ||
} | ||
return callback(err); | ||
} | ||
dotty.put(notification, self.definitions.notification.id, newId); | ||
self.saveViewModel(vm, function (err) { | ||
self.handleAfterCommit.call(denormThis, evt, vm, function (err) { | ||
if (err) { | ||
debug(err); | ||
if (err instanceof ConcurrencyError) { | ||
retry(callback); | ||
return; | ||
} | ||
return callback(err); | ||
} | ||
self.handleAfterCommit.call(denormThis, evt, vm, function (err) { | ||
if (err) { | ||
debug(err); | ||
return callback(err); | ||
} | ||
callback(null, notification); | ||
}); | ||
callback(null, notification); | ||
}); | ||
}); | ||
}) | ||
}); | ||
}); | ||
}, | ||
function (err) { | ||
debug(err); | ||
callback(err); | ||
}); | ||
@@ -487,23 +500,28 @@ }, | ||
trycatch(function () { | ||
if (self.executeDenormFnForEach) { | ||
return self.denormalizeForEach(evt, callback); | ||
} | ||
if (self.executeDenormFnForEach) { | ||
return self.denormalizeForEach(evt, callback); | ||
} | ||
if (self.query) { | ||
return self.handleQuery(evt, self.query, callback); | ||
} | ||
if (self.query) { | ||
return self.handleQuery(evt, self.query, callback); | ||
} | ||
if (!self.query && self.getQueryForThisViewBuilder) { | ||
self.getQueryForThisViewBuilder(evt, function (err, query) { | ||
if (err) { | ||
debug(err); | ||
return callback(err); | ||
} | ||
self.handleQuery(evt, query, callback); | ||
}); | ||
return; | ||
if (!self.query && self.getQueryForThisViewBuilder) { | ||
self.getQueryForThisViewBuilder(evt, function (err, query) { | ||
if (err) { | ||
debug(err); | ||
return callback(err); | ||
} | ||
self.handleQuery(evt, query, callback); | ||
}); | ||
return; | ||
} | ||
self.extractId(evt, function (err, id) { | ||
if (err) { | ||
debug(err); | ||
return callback(err); | ||
} | ||
self.extractId(evt, function (err, id) { | ||
self.loadViewModel(id, function (err, vm) { | ||
if (err) { | ||
@@ -514,3 +532,7 @@ debug(err); | ||
self.loadViewModel(id, function (err, vm) { | ||
if (vm.actionOnCommit === 'create' && !self.autoCreate) { | ||
return callback(null, []); | ||
} | ||
self.handleOne(vm, evt, function (err, notification) { | ||
if (err) { | ||
@@ -521,24 +543,10 @@ debug(err); | ||
if (vm.actionOnCommit === 'create' && !self.autoCreate) { | ||
return callback(null, []); | ||
var notis = []; | ||
if (notification) { | ||
notis.push(notification); | ||
} | ||
self.handleOne(vm, evt, function (err, notification) { | ||
if (err) { | ||
debug(err); | ||
return callback(err); | ||
} | ||
var notis = []; | ||
if (notification) { | ||
notis.push(notification); | ||
} | ||
callback(null, notis); | ||
}); | ||
callback(null, notis); | ||
}); | ||
}); | ||
}, function (err) { | ||
debug(err); | ||
callback(err); | ||
}); | ||
@@ -568,2 +576,22 @@ }, | ||
var unwrappedFn = this.getQueryForThisViewBuilder; | ||
this.getQueryForThisViewBuilder = function (evt, clb) { | ||
var wrappedCallback = function () { | ||
try { | ||
clb.apply(this, _.toArray(arguments)); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
}; | ||
try { | ||
unwrappedFn.call(this, evt, wrappedCallback); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
}; | ||
return this; | ||
@@ -593,2 +621,22 @@ }, | ||
var unwrappedFn = this.executeDenormFnForEach; | ||
this.executeDenormFnForEach = function (evt, clb) { | ||
var wrappedCallback = function () { | ||
try { | ||
clb.apply(this, _.toArray(arguments)); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
}; | ||
try { | ||
unwrappedFn.call(this, evt, wrappedCallback); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
}; | ||
return this; | ||
@@ -618,2 +666,22 @@ }, | ||
var unwrappedShouldHandle = this.shouldHandle; | ||
this.shouldHandle = function (evt, vm, clb) { | ||
var wrappedCallback = function () { | ||
try { | ||
clb.apply(this, _.toArray(arguments)); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
}; | ||
try { | ||
unwrappedShouldHandle.call(this, evt, vm, wrappedCallback); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
}; | ||
return this; | ||
@@ -643,2 +711,22 @@ }, | ||
var unwrappedHandleAfterCommit = this.handleAfterCommit; | ||
this.handleAfterCommit = function (evt, vm, clb) { | ||
var wrappedCallback = function () { | ||
try { | ||
clb.apply(this, _.toArray(arguments)); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
}; | ||
try { | ||
unwrappedHandleAfterCommit.call(this, evt, vm, wrappedCallback); | ||
} catch (e) { | ||
debug(e); | ||
process.emit('uncaughtException', e); | ||
} | ||
}; | ||
return this; | ||
@@ -645,0 +733,0 @@ } |
@@ -578,3 +578,2 @@ 'use strict'; | ||
debug(e); | ||
console.log(e.stack); | ||
process.emit('uncaughtException', e); | ||
@@ -594,3 +593,3 @@ } | ||
debug(e); | ||
console.log(e.stack); | ||
process.emit('uncaughtException', e); | ||
} | ||
@@ -616,3 +615,3 @@ } | ||
debug(e); | ||
console.log(e.stack); | ||
process.emit('uncaughtException', e); | ||
} | ||
@@ -619,0 +618,0 @@ } |
{ | ||
"author": "adrai", | ||
"name": "cqrs-eventdenormalizer", | ||
"version": "1.9.6", | ||
"version": "1.9.7", | ||
"private": false, | ||
@@ -23,3 +23,2 @@ "main": "index.js", | ||
"tolerance": "1.0.0", | ||
"trycatch": "1.5.19", | ||
"viewmodel": "1.5.5" | ||
@@ -26,0 +25,0 @@ }, |
@@ -0,1 +1,4 @@ | ||
## [v1.9.7](https://github.com/adrai/node-cqrs-eventdenormalizer/compare/v1.9.6...v1.9.7) | ||
- remove trycatch dependency due to memory leaks | ||
## [v1.9.6](https://github.com/adrai/node-cqrs-eventdenormalizer/compare/v1.9.5...v1.9.6) | ||
@@ -2,0 +5,0 @@ - optimize performance while replaying |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
162918
10
3823
- Removedtrycatch@1.5.19
- Removedansi-styles@1.1.0(transitive)
- Removedhookit@1.1.3(transitive)
- Removedtrycatch@1.5.19(transitive)