Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
for (let i = 0; i < this.structure.length; i++) {
// get the properties of each object
const segment = this.structure[i];
const fallback = segment.default;
const required = segment.required;
let fragment = segment.fragment;
// search and replace with the data values
let matches;
while ((matches = regex.exec(fragment)) !== null) {
const matchStr = matches[0];
const match = matches[1];
if (dotty.exists(this, match)) {
fragment = fragment.replace(matchStr, dotty.get(this, match));
}
else if (fallback) {
fragment = fallback;
}
else if (!required) {
fragment = null;
}
// the data object passed in is missing critical data. Fail softly.
else {
this.$el.html('<span></span>');
return;
}
sagaModel.addCommandToSend = function (cmd) {
if (!dotty.exists(cmd, self.definitions.command.meta) && dotty.exists(evt, self.definitions.event.meta) &&
!!self.definitions.command.meta && !!self.definitions.event.meta) {
dotty.put(cmd, self.definitions.command.meta, dotty.get(evt, self.definitions.event.meta));
}
sagaModel.addUnsentCommand(cmd);
};
getTargetInformation: function (evt) {
if (!evt || !_.isObject(evt)) {
var err = new Error('Please pass a valid event!');
debug(err);
throw err;
}
var name = dotty.get(evt, this.definition.name) || '';
var version = 0;
if (dotty.exists(evt, this.definition.version)) {
version = dotty.get(evt, this.definition.version);
} else {
debug('no version found, handling as version: 0');
}
var aggregate = null;
if (dotty.exists(evt, this.definition.aggregate)) {
aggregate = dotty.get(evt, this.definition.aggregate);
} else {
debug('no aggregate found');
}
var context = null;
if (dotty.exists(evt, this.definition.context)) {
context = dotty.get(evt, this.definition.context);
} else {
getConcatenatedId: function (evt) {
var aggregateId = '';
if (dotty.exists(evt, this.definition.aggregateId)) {
aggregateId = dotty.get(evt, this.definition.aggregateId);
}
var aggregate = '';
if (dotty.exists(evt, this.definition.aggregate)) {
aggregate = dotty.get(evt, this.definition.aggregate);
}
var context = '';
if (dotty.exists(evt, this.definition.context)) {
context = dotty.get(evt, this.definition.context);
}
return context + aggregate + aggregateId;
},
getConcatenatedId: function (aggId, cmd) {
var aggregate = '';
if (dotty.exists(cmd, this.definitions.command.aggregate)) {
aggregate = dotty.get(cmd, this.definitions.command.aggregate);
}
var context = '';
if (dotty.exists(cmd, this.definitions.command.context)) {
context = dotty.get(cmd, this.definitions.command.context);
}
return context + aggregate + aggId;
},
getConcatenatedId: function (evt) {
var aggregateId = '';
if (dotty.exists(evt, this.definition.aggregateId)) {
aggregateId = dotty.get(evt, this.definition.aggregateId);
}
var aggregate = '';
if (dotty.exists(evt, this.definition.aggregate)) {
aggregate = dotty.get(evt, this.definition.aggregate);
}
var context = '';
if (dotty.exists(evt, this.definition.context)) {
context = dotty.get(evt, this.definition.context);
}
return context + aggregate + aggregateId;
},
var replay = function (evt) {
var evtId = dotty.get(evt, self.definition.id);
lastEvent = evt;
var concatenatedId;
if (!!self.definition.revision && dotty.exists(evt, self.definition.revision) &&
!!self.definition.aggregateId && dotty.exists(evt, self.definition.aggregateId)) {
concatenatedId = self.getConcatenatedId(evt);
revisionMap[concatenatedId] = dotty.get(evt, self.definition.revision);
}
var concatenatedWithEventId = evtId;
if (concatenatedId) concatenatedWithEventId = concatenatedId + ':' + evtId;
if (seenEvents[concatenatedWithEventId]) return;
seenEvents[concatenatedWithEventId] = true;
var target = self.dispatcher.getTargetInformation(evt);
var viewBuilders = [], foundPrioSet = false;
_.each(self.dispatcher.tree.getViewBuilders(target), function (vb) {
if (!vb.collection.noReplay) {
async.each(cmds, function (cmd, fn) {
if (dotty.exists(cmd, self.definitions.command.id)) {
return fn(null);
}
self.getNewId(function (err, id) {
if (err) {
debug(err);
return fn(err);
}
dotty.put(cmd, self.definitions.command.id, id);
fn(null);
});
}, function (err) {
if (err) {
guard: function (evt, callback) {
if (!this.definition.aggregateId || !dotty.exists(evt, this.definition.aggregateId) ||
!this.definition.revision || !dotty.exists(evt, this.definition.revision)) {
var err = new Error('Please define an aggregateId!');
debug(err);
return callback(err);
}
var self = this;
var revInEvt = dotty.get(evt, this.definition.revision);
var concatenatedId = this.getConcatenatedId(evt);
function proceed (revInStore) {
if (!revInStore && !self.currentHandlingRevisions[concatenatedId] && (self.options.startRevisionNumber === undefined || self.options.startRevisionNumber === null)) {
self.currentHandlingRevisions[concatenatedId] = revInEvt;
debug('first revision to store [concatenatedId]=' + concatenatedId + ', [revInStore]=' + (revInStore || 'null') + ', [revInEvt]=' + revInEvt);