@atlaskit/editor-core
Version:
A package contains Atlassian editor core functionality
29 lines • 891 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var service_1 = require("./service");
/**
* Returns a sequence of tracking analytics event and the provided function.
*
* Usage:
*
* let doSomething = function(a, b) { // ... }
* doSomething = trackAndInvoke('atlassian.editor.dosomething', doSomething);
*
* doSomething(); // this will send analytics event and call the original function
*
*/
function trackAndInvoke(analyticsEventName, fn) {
return function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var result = fn.apply(void 0, args);
if (result) {
service_1.default.trackEvent(analyticsEventName);
}
return result;
};
}
exports.default = trackAndInvoke;
//# sourceMappingURL=trackAndInvoke.js.map