UNPKG

fabric8-analytics-dependency-editor-jyas

Version:
37 lines 1.4 kB
import * as _ from 'lodash'; import { Broadcaster } from 'ngx-base'; import { PropertiesGetter } from './properties'; var StaticInjector = /** @class */ (function () { function StaticInjector() { } StaticInjector.setInjector = function (injector) { StaticInjector.injector = injector; }; StaticInjector.getInjector = function () { return StaticInjector.injector; }; StaticInjector.injector = null; return StaticInjector; }()); export { StaticInjector }; export function broadcast(event, properties) { return function (target, methodName, descriptor) { var originalMethod = descriptor.value; descriptor.value = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var injectorInstance = StaticInjector.getInjector(); if (!injectorInstance || !injectorInstance.get(Broadcaster)) { return originalMethod.apply(this, args); } var broadcaster = injectorInstance.get(Broadcaster); var values = new PropertiesGetter(this, args).mapKeys(_.cloneDeep(properties)); broadcaster.broadcast(event, values); return originalMethod.apply(this, args); }; return descriptor; }; } //# sourceMappingURL=telemetry.decorator.js.map