@altostra/core
Version:
Core library for shared types and logic
1 lines • 3.46 kB
JavaScript
;var _AmplitudeReporter_amp,_AmplitudeReporter_eventData,__createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,a)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__awaiter=this&&this.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(a,o){function n(e){try{l(i.next(e))}catch(e){o(e)}}function s(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(n,s)}l((i=i.apply(e,t||[])).next())}))},__classPrivateFieldSet=this&&this.__classPrivateFieldSet||function(e,t,r,i,a){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!a)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?a.call(e,r):a?a.value=r:t.set(e,r),r},__classPrivateFieldGet=this&&this.__classPrivateFieldGet||function(e,t,r,i){if("a"===r&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?i:"a"===r?i.call(e):i?i.value:t.get(e)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AmplitudeReporter=void 0;const AltoError_1=require("../../common/Errors/AltoError"),Machine_1=require("../../common/Utils/Machine"),Object_1=require("../../common/Utils/Object"),Amplitude=__importStar(require("@amplitude/node")),iterable_1=require("@reactivex/ix-es2015-cjs/iterable"),map_1=require("@reactivex/ix-es2015-cjs/iterable/operators/map");class AmplitudeReporter{constructor(e,t){this.getUserData=t,_AmplitudeReporter_amp.set(this,void 0),_AmplitudeReporter_eventData.set(this,void 0),__classPrivateFieldSet(this,_AmplitudeReporter_amp,Amplitude.init(e),"f"),__classPrivateFieldSet(this,_AmplitudeReporter_eventData,{device_id:(0,Machine_1.getMachineId)()},"f")}reportTelemetry(e){return __awaiter(this,void 0,void 0,(function*(){const t=yield this.getUserData(),r=(0,iterable_1.from)(e).pipe((0,map_1.map)(({eventName:e,data:r})=>Object.assign(Object.assign(Object.assign(Object.assign({},__classPrivateFieldGet(this,_AmplitudeReporter_eventData,"f")),{event_type:e}),void 0!==r&&Object.assign({event_properties:eventData(r)},!!t&&t.organizationId&&{organization_id:t.organizationId})),!!t&&t.userId&&{user_id:t.userId})),(0,map_1.map)(e=>__classPrivateFieldGet(this,_AmplitudeReporter_amp,"f").logEvent(e)));try{yield Promise.all(r)}catch(e){throw new AltoError_1.AltoError("Failed to report events to Amplitude.",e)}}))}}function eventData(e){return(0,Object_1.isObject)(e)?e:{data:e}}exports.AmplitudeReporter=AmplitudeReporter,_AmplitudeReporter_amp=new WeakMap,_AmplitudeReporter_eventData=new WeakMap;