@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.
27 lines • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.tsubMiddleware = void 0;
var tslib_1 = require("tslib");
// @ts-ignore
var tsub = tslib_1.__importStar(require("../../vendor/tsub/tsub"));
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);
};
};
exports.tsubMiddleware = tsubMiddleware;
//# sourceMappingURL=index.js.map