@segment/analytics-next
Version:
Analytics Next (aka Analytics 2.0) is the latest version of Segment’s JavaScript SDK - enabling you to send your data to any tool without having to learn, test, or use a new API every time.
22 lines • 876 B
JavaScript
// @ts-ignore
import * as tsub from '../../vendor/tsub/tsub';
export var tsubMiddleware = function (rules) {
return function (_a) {
var payload = _a.payload, integration = _a.integration, next = _a.next;
var store = new tsub.Store(rules);
var rulesToApply = store.getRulesByDestinationName(integration);
rulesToApply.forEach(function (rule) {
var matchers = rule.matchers, transformers = rule.transformers;
for (var i = 0; i < matchers.length; i++) {
if (tsub.matches(payload.obj, matchers[i])) {
payload.obj = tsub.transform(payload.obj, transformers[i]);
if (payload.obj === null) {
return next(null);
}
}
}
});
next(payload);
};
};
//# sourceMappingURL=index.js.map