Index: tracing/tracing/model/event_set.html |
diff --git a/tracing/tracing/model/event_set.html b/tracing/tracing/model/event_set.html |
index c79ddc85302d780c6a385d43ce176fa1da52027a..ad3b5f8520be7b94df31c1be49f433172e232dd1 100644 |
--- a/tracing/tracing/model/event_set.html |
+++ b/tracing/tracing/model/event_set.html |
@@ -190,21 +190,14 @@ tr.exportTo('tr.model', function() { |
}); |
}, |
- getEventsOrganizedByCallback: function(cb) { |
- var eventsByCallback = {}; |
- for (var i = 0; i < this.length; i++) { |
- var event = this[i]; |
- var key = cb(event); |
- |
- if (key === undefined) |
- throw new Error('An event could not be organized'); |
- |
- if (eventsByCallback[key] === undefined) |
- eventsByCallback[key] = new EventSet(); |
- |
- eventsByCallback[key].push(event); |
- } |
- return eventsByCallback; |
+ /** |
+ * @param {!function(!tr.model.Event):string} cb |
+ * @param {*=} opt_this |
+ * @return {!Object} |
+ */ |
+ getEventsOrganizedByCallback: function(cb, opt_this) { |
+ var groupedEvents = tr.b.group(this, cb, opt_this || this); |
+ return tr.b.mapItems(groupedEvents, (_, events) => new EventSet(events)); |
}, |
enumEventsOfType: function(type, func) { |