kibana-riya
Version:
Kibana is an open source (Apache Licensed), browser based analytics and search dashboard for Elasticsearch. Kibana is a snap to setup and start using. Kibana strives to be easy to get started with, while also being flexible and powerful, just like Elastic
30 lines (24 loc) • 778 B
JavaScript
import IsRequestProvider from './is_request';
import ReqStatusProvider from './req_status';
export default function FetchMergeDuplicateRequests(Private) {
const isRequest = Private(IsRequestProvider);
const DUPLICATE = Private(ReqStatusProvider).DUPLICATE;
function mergeDuplicateRequests(requests) {
// dedupe requests
const index = {};
return requests.map(function (req) {
if (!isRequest(req)) return req;
const iid = req.source._instanceid;
if (!index[iid]) {
// this request is unique so far
index[iid] = req;
// keep the request
return req;
}
// the source was requested at least twice
req._uniq = index[iid];
return DUPLICATE;
});
}
return mergeDuplicateRequests;
};