{"version":3,"sources":["webpack://TypeScriptModule/webpack/bootstrap","webpack://TypeScriptModule/./src/index.ts","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/DataFieldType.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/DataClassification.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/DataFieldHelper.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/EventFlagsProperties.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/Event.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/OTelNotifications.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/TenantTokenManager.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/TelemetryEventValidator.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/CorrelationVector.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/SimpleTelemetryLogger.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/Version.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/TelemetryEvent.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/Activity.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/contracts/officeeventschema.tml.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/contracts/Office.System.Error.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/Contract.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/contracts/Contracts.js","webpack://TypeScriptModule/D:/dbs/el/omr/Build/npm/.store/sdx_programmablesurfaces/@ms-oteljs@3.1.74-734b6cd65376b9a91f53/node_modules/@ms/oteljs/dist/TelemetryLogger.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","telemetryLogger","dLE","sWE","sendTelemetryEvent","event","Office","window","officeOnReadyCallback","delay","onReadyTimeStampDate","Date","now","onReadyTimeStamp","performanceTimingData","undefined","performance","getEntries","navigation","getEntriesByType","resource","paint","frame","addSink","OfficeJsSink","setTenantTokens","Extensibility","ariaTenantToken","nexusTenantToken","serviceWorkerExperiment","isServiceWorkerUsed","e","setTimeout","registered","registerTS","supported","registerScope","resourcesFromCache","resourcesFromNetwork","eventName","eventFlags","samplingPolicy","Diagnostics","dataCategories","ProductServiceUsage","ProductServicePerformance","dataFields","location","href","contentLoadedTS","scriptFetchedTS","scriptAddedTS","scriptLoadedTS","JSON","stringify","dynamicLoadExperiment","dynamic","scriptLoaded","addEventListener","onReady","then","DataFieldType","DataClassification","makeBooleanDataField","dataType","Boolean","classification","SystemMetadata","makeInt64DataField","Int64","makeDoubleDataField","Double","makeStringDataField","String","SamplingPolicy","PersistencePriority","CostPriority","DataCategories","DiagnosticLevel","LogLevel","Category","TokenType","Event","this","_listeners","fireEvent","args","forEach","listener","addListener","push","removeListener","filter","h","getListenerCount","length","onNotificationEvent","logNotification","level","category","message","TenantTokenManager","ariaTokenMap","nexusTokenMap","tenantTokens","tokenTree","Error","mergeTenantTokens","existingTokenTree","newTokenTree","_i","_a","keys","getAriaTenantToken","ariaToken","getTenantToken","Aria","getNexusTenantToken","nexusToken","Nexus","tokenType","pieces","split","node","token","setTenantToken","namespace","parts","Core","leaf","index","parentNode","getTenantTokens","clear","TelemetryEventValidator","StartsWithCapitalRegex","AlphanumericRegex","isNameValid","test","validateDataField","dataField","dataFieldName","validateInt","isFinite","Math","floor","validateTelemetryEvent","eventNamePieces","eventNodeName","isNamespaceValid","eventNode","isEventNameValid","eventContract","CorrelationVector","__assign","assign","arguments","apply","SimpleTelemetryLogger","parent","persistentDataFields","config","_b","onSendEvent","getConfig","localEvent","Warning","cloneEvent","processTelemetryEvent","error","errorMessage","logError","_e","telemetryProperties","unshift","disableValidation","sink","slice","baseHash","baseId","getNext","characters","result","charAt","random","join","generatePseudoHash","CV","getNextChild","getString","nextChild","base","id","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","done","__generator","body","f","y","g","_","label","sent","trys","ops","verb","iterator","v","op","TypeError","pop","getCurrentMicroseconds","Activity","ActivityScope","activityName","_optionalEventFlags","_ended","_telemetryLogger","_activityName","_cv","_dataFields","_success","_startTime","createNew","createChildActivity","setEventFlags","addDataField","addDataFields","setSuccess","success","setResult","code","type","tag","_result","endNow","duration","activity","count","aggMode","cV","sendActivity","executeAsync","activityBody","_this","catch","executeSync","ret","executeChildActivityAsync","executeChildActivitySync","addContractField","instanceName","contractName","getFields","contract","isExpected","version","sessionId","alias","primaryIdentityHash","primaryIdentitySpace","tenantId","tenantGroup","isAnonymous","instanceId","marketplaceType","browserToken","osfRuntimeVersion","officeJsVersion","hostJsVersion","assetId","providerName","state","commandSurface","parentName","triggerMethod","timeOffsetMs","errorGroup","Contracts","_Activity","_Result","_Error","_Funnel","_Host","_SDX","_UserAction","_User","System","Result","Funnel","Host","SDX","User","UserAction","extendStatics","__extends","b","setPrototypeOf","__proto__","Array","__","constructor","_super","TelemetryLogger","executeActivityAsync","createNewActivity","executeActivitySync","optionalEventFlags","sendError"],"mappings":"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","file":"main.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 105);\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\r\n * See LICENSE in the project root for license information.\r\n */\r\n\r\ndeclare var Office: any;\r\ndeclare var dynamicLoadExperiment: any;\r\ndeclare var serviceWorkerExperiment: any;\r\n\r\nimport * as OTel from '@ms/oteljs';\r\n\r\nclass OfficeJsSink implements OTel.TelemetrySink {\r\n public sendTelemetryEvent(event: OTel.TelemetryEvent) {\r\n Office.sendTelemetryEvent(event);\r\n }\r\n}\r\n\r\nexport let telemetryLogger: OTel.TelemetryLogger;\r\n\r\n// Expose global variables\r\n(window as any).telemetryLogger = {};\r\n\r\nlet dLE;\r\nlet sWE;\r\n\r\nconst officeOnReadyCallback = () => {\r\n const onReadyTimeStampDate: number = Date.now();\r\n let onReadyTimeStamp: number = -1;\r\n const performanceTimingData: any = {};\r\n\r\n if (window.performance !== undefined)\r\n {\r\n if (window.performance.now !== undefined)\r\n {\r\n onReadyTimeStamp = performance.now();\r\n }\r\n\r\n if (window.performance.getEntries !== undefined)\r\n {\r\n // PerformanceObserver is not supported by IE11 and for TestSDX we don't lose any buffered data without it.\r\n performanceTimingData.navigation = performance.getEntriesByType('navigation');\r\n performanceTimingData.resource = performance.getEntriesByType('resource');\r\n performanceTimingData.paint = performance.getEntriesByType('paint');\r\n performanceTimingData.frame = performance.getEntriesByType('frame');\r\n }\r\n }\r\n\r\n telemetryLogger = new OTel.TelemetryLogger();\r\n telemetryLogger.addSink(new OfficeJsSink());\r\n\r\n telemetryLogger.setTenantTokens({\r\n Office: {\r\n Extensibility: {\r\n ariaTenantToken: 'db334b301e7b474db5e0f02f07c51a47-a1b5bc36-1bbe-482f-a64a-c2d9cb606706-7439',\r\n nexusTenantToken: 1755\r\n }\r\n }\r\n });\r\n\r\n (window as any).telemetryLogger = telemetryLogger;\r\n\r\n // SeviceWorker related telemetry is available in window.OnLoad().\r\n // To avoid race between window.load and office.onReady, we add 10s delay for service worker case.\r\n let delay;\r\n try {\r\n if (serviceWorkerExperiment.isServiceWorkerUsed) {\r\n delay = 10000;\r\n }\r\n }\r\n catch (e) {\r\n delay = 0;\r\n }\r\n\r\n setTimeout(\r\n () => {\r\n try {\r\n sWE = serviceWorkerExperiment;\r\n }\r\n catch (e) {\r\n sWE = {\r\n registered: false,\r\n registerTS: -1,\r\n supported: false,\r\n registerScope: '',\r\n isServiceWorkerUsed: false,\r\n resourcesFromCache: '',\r\n resourcesFromNetwork: ''\r\n };\r\n }\r\n\r\n telemetryLogger.sendTelemetryEvent({\r\n eventName: 'Office.Extensibility.SDX.Experimentation',\r\n eventFlags: {\r\n samplingPolicy: OTel.SamplingPolicy.Diagnostics,\r\n // tslint:disable-next-line:no-bitwise\r\n dataCategories: OTel.DataCategories.ProductServiceUsage | OTel.DataCategories.ProductServicePerformance\r\n },\r\n dataFields: [\r\n OTel.makeBooleanDataField('Loaded', true),\r\n OTel.makeDoubleDataField('onReadyTimeStamp', onReadyTimeStamp),\r\n OTel.makeStringDataField('URL', window.location.href), // IE doesn't provide URL in perfromance.navigation\r\n OTel.makeDoubleDataField('onReadyTimeStamp_Date', onReadyTimeStampDate),\r\n OTel.makeDoubleDataField('contentLoadedTimeStamp', dLE.contentLoadedTS),\r\n OTel.makeDoubleDataField('scriptFetchedTimeStamp', dLE.scriptFetchedTS),\r\n OTel.makeDoubleDataField('scriptAddedTimeStamp', dLE.scriptAddedTS),\r\n OTel.makeDoubleDataField('scriptLoadedTimeStamp', dLE.scriptLoadedTS),\r\n OTel.makeStringDataField('performanceTimingData', JSON.stringify(performanceTimingData)),\r\n OTel.makeBooleanDataField('swRegistered', sWE.registered),\r\n OTel.makeDoubleDataField('swRegisteredTS', sWE.registerTS),\r\n OTel.makeBooleanDataField('swSupported', sWE.supported),\r\n OTel.makeStringDataField('swRegisterScope', sWE.registerScope),\r\n OTel.makeStringDataField('swResourcesFromCache', sWE.resourcesFromCache),\r\n OTel.makeStringDataField('swResourcesFromNetwork', sWE.resourcesFromNetwork)\r\n ]\r\n });\r\n },\r\n delay\r\n );\r\n};\r\n\r\ntry {\r\n dLE = dynamicLoadExperiment;\r\n}\r\ncatch (e) {\r\n dLE = {\r\n dynamic: false,\r\n scriptLoaded: false,\r\n contentLoadedTS: -1,\r\n scriptFetchedTS: -1,\r\n scriptAddedTS: -1,\r\n scriptLoadedTS: -1\r\n };\r\n}\r\n\r\nif (dLE.dynamic && !dLE.scriptLoaded) {\r\n window.addEventListener('WordJSLoaded', () => Office.onReady()\r\n .then(officeOnReadyCallback),\r\n false);\r\n} else {\r\n Office.onReady()\r\n .then(officeOnReadyCallback);\r\n}\r\n","export var DataFieldType;\r\n(function (DataFieldType) {\r\n DataFieldType[DataFieldType[\"String\"] = 0] = \"String\";\r\n DataFieldType[DataFieldType[\"Boolean\"] = 1] = \"Boolean\";\r\n DataFieldType[DataFieldType[\"Int64\"] = 2] = \"Int64\";\r\n DataFieldType[DataFieldType[\"Double\"] = 3] = \"Double\";\r\n DataFieldType[DataFieldType[\"Guid\"] = 4] = \"Guid\";\r\n})(DataFieldType || (DataFieldType = {}));\r\n//# sourceMappingURL=DataFieldType.js.map","export var DataClassification;\r\n(function (DataClassification) {\r\n // tslint:disable:no-bitwise\r\n DataClassification[DataClassification[\"EssentialServiceMetadata\"] = 1] = \"EssentialServiceMetadata\";\r\n DataClassification[DataClassification[\"AccountData\"] = 2] = \"AccountData\";\r\n DataClassification[DataClassification[\"SystemMetadata\"] = 4] = \"SystemMetadata\";\r\n DataClassification[DataClassification[\"OrganizationIdentifiableInformation\"] = 8] = \"OrganizationIdentifiableInformation\";\r\n DataClassification[DataClassification[\"EndUserIdentifiableInformation\"] = 16] = \"EndUserIdentifiableInformation\";\r\n DataClassification[DataClassification[\"CustomerContent\"] = 32] = \"CustomerContent\";\r\n DataClassification[DataClassification[\"AccessControl\"] = 64] = \"AccessControl\";\r\n})(DataClassification || (DataClassification = {}));\r\n//# sourceMappingURL=DataClassification.js.map","import { DataFieldType } from './DataFieldType';\r\nimport { DataClassification } from './DataClassification';\r\n/**\r\n * Make a boolean data field.\r\n * @param name - The name of the data field\r\n * @param value - The value of the data field\r\n */\r\nexport function makeBooleanDataField(name, value) {\r\n return {\r\n name: name,\r\n dataType: DataFieldType.Boolean,\r\n value: value,\r\n classification: DataClassification.SystemMetadata\r\n };\r\n}\r\n/**\r\n * Make a data field corresponding to the Aria Int64 data type. Note that\r\n * JavaScript doesn't actually support Int64 precision on large numbers.\r\n * @param name - The name of the data field\r\n * @param value - The value of the data field\r\n */\r\nexport function makeInt64DataField(name, value) {\r\n return {\r\n name: name,\r\n dataType: DataFieldType.Int64,\r\n value: value,\r\n classification: DataClassification.SystemMetadata\r\n };\r\n}\r\n/**\r\n * Make a double data field\r\n * @param name - The name of the data field\r\n * @param value - The value of the data field\r\n */\r\nexport function makeDoubleDataField(name, value) {\r\n return {\r\n name: name,\r\n dataType: DataFieldType.Double,\r\n value: value,\r\n classification: DataClassification.SystemMetadata\r\n };\r\n}\r\n/**\r\n * Make a string data field\r\n * @param name - The name of the data field\r\n * @param value - The value of the data field\r\n */\r\nexport function makeStringDataField(name, value) {\r\n return {\r\n name: name,\r\n dataType: DataFieldType.String,\r\n value: value,\r\n classification: DataClassification.SystemMetadata\r\n };\r\n}\r\n/**\r\n * Make a GUID data field\r\n * !!!WARNING: Only the 1DS Sink has support for Guid types.\r\n * @param name - The name of the data field\r\n * @param value - The value of the data field\r\n */\r\nexport function makeGuidDataField(name, value) {\r\n return {\r\n name: name,\r\n dataType: DataFieldType.Guid,\r\n value: value,\r\n classification: DataClassification.SystemMetadata\r\n };\r\n}\r\n//# sourceMappingURL=DataFieldHelper.js.map","export var SamplingPolicy;\r\n(function (SamplingPolicy) {\r\n SamplingPolicy[SamplingPolicy[\"NotSet\"] = 0] = \"NotSet\";\r\n SamplingPolicy[SamplingPolicy[\"Measure\"] = 1] = \"Measure\";\r\n SamplingPolicy[SamplingPolicy[\"Diagnostics\"] = 2] = \"Diagnostics\";\r\n SamplingPolicy[SamplingPolicy[\"CriticalBusinessImpact\"] = 191] = \"CriticalBusinessImpact\";\r\n SamplingPolicy[SamplingPolicy[\"CriticalCensus\"] = 192] = \"CriticalCensus\";\r\n SamplingPolicy[SamplingPolicy[\"CriticalExperimentation\"] = 193] = \"CriticalExperimentation\";\r\n SamplingPolicy[SamplingPolicy[\"CriticalUsage\"] = 194] = \"CriticalUsage\";\r\n})(SamplingPolicy || (SamplingPolicy = {}));\r\nexport var PersistencePriority;\r\n(function (PersistencePriority) {\r\n PersistencePriority[PersistencePriority[\"NotSet\"] = 0] = \"NotSet\";\r\n PersistencePriority[PersistencePriority[\"Normal\"] = 1] = \"Normal\";\r\n PersistencePriority[PersistencePriority[\"High\"] = 2] = \"High\";\r\n})(PersistencePriority || (PersistencePriority = {}));\r\nexport var CostPriority;\r\n(function (CostPriority) {\r\n CostPriority[CostPriority[\"NotSet\"] = 0] = \"NotSet\";\r\n CostPriority[CostPriority[\"Normal\"] = 1] = \"Normal\";\r\n CostPriority[CostPriority[\"High\"] = 2] = \"High\";\r\n})(CostPriority || (CostPriority = {}));\r\n/**\r\n * DataCategories\r\n * These can be combined with | as appropriate\r\n */\r\nexport var DataCategories;\r\n(function (DataCategories) {\r\n DataCategories[DataCategories[\"NotSet\"] = 0] = \"NotSet\";\r\n DataCategories[DataCategories[\"SoftwareSetup\"] = 1] = \"SoftwareSetup\";\r\n DataCategories[DataCategories[\"ProductServiceUsage\"] = 2] = \"ProductServiceUsage\";\r\n DataCategories[DataCategories[\"ProductServicePerformance\"] = 4] = \"ProductServicePerformance\";\r\n DataCategories[DataCategories[\"DeviceConfiguration\"] = 8] = \"DeviceConfiguration\";\r\n DataCategories[DataCategories[\"InkingTypingSpeech\"] = 16] = \"InkingTypingSpeech\";\r\n})(DataCategories || (DataCategories = {}));\r\n/**\r\n * The diagnostic level of the event\r\n * For generic events, a user can be set to send no events, only basic events, or all (full and basic) events.\r\n * Services can also send events that are necessary for them to function; these are not affected by the above setting.\r\n * Instead, if the service is turned off, then it will stop functioning and no NecessaryServiceDataEvents will be sent.\r\n * AlwaysOnNecessaryServiceDataEvents are always on.\r\n */\r\nexport var DiagnosticLevel;\r\n(function (DiagnosticLevel) {\r\n DiagnosticLevel[DiagnosticLevel[\"ReservedDoNotUse\"] = 0] = \"ReservedDoNotUse\";\r\n DiagnosticLevel[DiagnosticLevel[\"BasicEvent\"] = 10] = \"BasicEvent\";\r\n DiagnosticLevel[DiagnosticLevel[\"FullEvent\"] = 100] = \"FullEvent\";\r\n DiagnosticLevel[DiagnosticLevel[\"NecessaryServiceDataEvent\"] = 110] = \"NecessaryServiceDataEvent\";\r\n DiagnosticLevel[DiagnosticLevel[\"AlwaysOnNecessaryServiceDataEvent\"] = 120] = \"AlwaysOnNecessaryServiceDataEvent\";\r\n})(DiagnosticLevel || (DiagnosticLevel = {}));\r\n//# sourceMappingURL=EventFlagsProperties.js.map","/* tslint:disable */\r\n// Event implementation. Allows an object to notify subscribed listeners of an event, passing\r\n// a typed payload for event arguments. Users of this class should keep the Event private,\r\n// and instead expose the object to the outside via the IEventListeners interface to\r\n// prevent other classes from firing the event.\r\nvar Event = /** @class */ (function () {\r\n function Event() {\r\n this._listeners = [];\r\n }\r\n /**\r\n * Fires an event to its listeners\r\n * @param args - The parameters of the event\r\n */\r\n Event.prototype.fireEvent = function (args) {\r\n this._listeners.forEach(function (listener) { return listener(args); });\r\n };\r\n /**\r\n * Add an event listener\r\n * @param listener - The listener that can process events\r\n */\r\n Event.prototype.addListener = function (listener) {\r\n if (listener) {\r\n this._listeners.push(listener);\r\n }\r\n };\r\n /**\r\n * Remove an event listener\r\n * @param listener - The listener to remove\r\n */\r\n Event.prototype.removeListener = function (listener) {\r\n this._listeners = this._listeners.filter(function (h) { return h !== listener; });\r\n };\r\n /**\r\n * Get the count of event listeners\r\n */\r\n Event.prototype.getListenerCount = function () {\r\n return this._listeners.length;\r\n };\r\n return Event;\r\n}());\r\nexport { Event };\r\n//# sourceMappingURL=Event.js.map","import { Event } from './Event';\r\nvar onNotificationEvent = new Event();\r\nexport var LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"Error\"] = 0] = \"Error\";\r\n LogLevel[LogLevel[\"Warning\"] = 1] = \"Warning\";\r\n LogLevel[LogLevel[\"Info\"] = 2] = \"Info\";\r\n LogLevel[LogLevel[\"Verbose\"] = 3] = \"Verbose\";\r\n})(LogLevel || (LogLevel = {}));\r\nexport var Category;\r\n(function (Category) {\r\n Category[Category[\"Core\"] = 0] = \"Core\";\r\n Category[Category[\"Sink\"] = 1] = \"Sink\";\r\n Category[Category[\"Transport\"] = 2] = \"Transport\";\r\n})(Category || (Category = {}));\r\n/**\r\n * Returns a list of notification event listeners. You can add an event listener:\r\n * onNotification().addListener(event =\\> \\{\r\n * console.log(event!.message + ' ' + event!.level); \\});\r\n *\r\n * DO NOT trigger telemetry events on these notifications, as doing so may\r\n * create an infinite loop of telemetry events.\r\n */\r\nexport function onNotification() {\r\n return onNotificationEvent;\r\n}\r\n/**\r\n * Internal function: log a notification\r\n * @param level - The level of notification to log\r\n * @param category - The category of the notification\r\n * @param message - A function that returns a message to log\r\n */\r\nexport function logNotification(level, category, message) {\r\n onNotificationEvent.fireEvent({ level: level, category: category, message: message });\r\n}\r\n/**\r\n * Internal function: log an error\r\n * @param category - The category of the notification\r\n * @param message - A message that will preceed the message from error object\r\n * @param error - An error object, from which an error message might be obtained\r\n */\r\nexport function logError(category, message, error) {\r\n logNotification(LogLevel.Error, category, function () {\r\n var errorMessage = error instanceof Error ? error.message : '';\r\n return message + \": \" + errorMessage;\r\n });\r\n}\r\n//# sourceMappingURL=OTelNotifications.js.map","import { logNotification, LogLevel, Category } from './OTelNotifications';\r\nvar TokenType;\r\n(function (TokenType) {\r\n TokenType[TokenType[\"Aria\"] = 0] = \"Aria\";\r\n TokenType[TokenType[\"Nexus\"] = 1] = \"Nexus\";\r\n})(TokenType || (TokenType = {}));\r\nexport var TenantTokenManager;\r\n(function (TenantTokenManager) {\r\n var ariaTokenMap = {};\r\n var nexusTokenMap = {};\r\n // tslint:disable-next-line:no-any\r\n var tenantTokens = {};\r\n function setTenantToken(namespace, ariaTenantToken, nexusTenantToken) {\r\n var parts = namespace.split('.');\r\n // Ensure that the provided namespace is valid\r\n if (parts.length < 2 || parts[0] !== 'Office') {\r\n logNotification(LogLevel.Error, Category.Core, function () {\r\n return \"Invalid namespace: \" + namespace;\r\n });\r\n return;\r\n }\r\n // Create the leaf node first\r\n var leaf = Object.create(Object.prototype);\r\n if (ariaTenantToken) {\r\n leaf['ariaTenantToken'] = ariaTenantToken;\r\n }\r\n if (nexusTenantToken) {\r\n leaf['nexusTenantToken'] = nexusTenantToken;\r\n }\r\n // Then walk backwards adding the path to the root\r\n var node = leaf;\r\n var index;\r\n for (index = parts.length - 1; index >= 0; --index) {\r\n var parentNode = Object.create(Object.prototype);\r\n parentNode[parts[index]] = node;\r\n node = parentNode;\r\n }\r\n setTenantTokens(node);\r\n }\r\n TenantTokenManager.setTenantToken = setTenantToken;\r\n function setTenantTokens(tokenTree) {\r\n if (typeof tokenTree !== 'object') {\r\n throw new Error('tokenTree must be an object');\r\n }\r\n tenantTokens = mergeTenantTokens(tenantTokens, tokenTree);\r\n }\r\n TenantTokenManager.setTenantTokens = setTenantTokens;\r\n function getTenantTokens(eventName) {\r\n var ariaTenantToken = getAriaTenantToken(eventName);\r\n var nexusTenantToken = getNexusTenantToken(eventName);\r\n if (!nexusTenantToken || !ariaTenantToken) {\r\n throw new Error('Could not find tenant token for ' + eventName);\r\n }\r\n return {\r\n ariaTenantToken: ariaTenantToken,\r\n nexusTenantToken: nexusTenantToken\r\n };\r\n }\r\n TenantTokenManager.getTenantTokens = getTenantTokens;\r\n function getAriaTenantToken(eventName) {\r\n // Return cached token if it exists for eventName\r\n if (ariaTokenMap[eventName]) {\r\n return ariaTokenMap[eventName];\r\n }\r\n var ariaToken = getTenantToken(eventName, TokenType.Aria);\r\n if (typeof ariaToken === 'string') {\r\n ariaTokenMap[eventName] = ariaToken;\r\n return ariaToken;\r\n }\r\n return undefined;\r\n }\r\n TenantTokenManager.getAriaTenantToken = getAriaTenantToken;\r\n function getNexusTenantToken(eventName) {\r\n // Return cached token if it exists for eventName\r\n if (nexusTokenMap[eventName]) {\r\n return nexusTokenMap[eventName];\r\n }\r\n var nexusToken = getTenantToken(eventName, TokenType.Nexus);\r\n if (typeof nexusToken === 'number') {\r\n nexusTokenMap[eventName] = nexusToken;\r\n return nexusToken;\r\n }\r\n return undefined;\r\n }\r\n TenantTokenManager.getNexusTenantToken = getNexusTenantToken;\r\n function getTenantToken(eventName, tokenType) {\r\n // Find token\r\n var pieces = eventName.split('.');\r\n var node = tenantTokens;\r\n var token = undefined;\r\n if (!node) {\r\n return undefined;\r\n }\r\n for (var i = 0; i < pieces.length - 1; i++) {\r\n if (node[pieces[i]]) {\r\n node = node[pieces[i]];\r\n if (tokenType === TokenType.Aria && typeof node.ariaTenantToken === 'string') {\r\n // set token if one is available\r\n token = node.ariaTenantToken;\r\n }\r\n else if (tokenType === TokenType.Nexus && typeof node.nexusTenantToken === 'number') {\r\n token = node.nexusTenantToken;\r\n }\r\n }\r\n }\r\n return token;\r\n }\r\n // tslint:disable-next-line:no-any\r\n function mergeTenantTokens(existingTokenTree, newTokenTree) {\r\n if (typeof newTokenTree !== 'object') {\r\n return newTokenTree;\r\n }\r\n for (var _i = 0, _a = Object.keys(newTokenTree); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n if (key in existingTokenTree && typeof (existingTokenTree[key] === 'object')) {\r\n existingTokenTree[key] = mergeTenantTokens(existingTokenTree[key], newTokenTree[key]);\r\n }\r\n else {\r\n existingTokenTree[key] = newTokenTree[key];\r\n }\r\n }\r\n return existingTokenTree;\r\n }\r\n function clear() {\r\n ariaTokenMap = {};\r\n nexusTokenMap = {};\r\n tenantTokens = {};\r\n }\r\n TenantTokenManager.clear = clear;\r\n})(TenantTokenManager || (TenantTokenManager = {}));\r\n//# sourceMappingURL=TenantTokenManager.js.map","import { DataFieldType } from './DataFieldType';\r\nexport var TelemetryEventValidator;\r\n(function (TelemetryEventValidator) {\r\n var INT64_MIN = -9007199254740991;\r\n var INT64_MAX = 9007199254740991;\r\n // Starts with A-Z, and then contains only alphanumerics\r\n var StartsWithCapitalRegex = /^[A-Z][a-zA-Z0-9]*$/;\r\n // Contains alphanumeric or _ or .\r\n var AlphanumericRegex = /^[a-zA-Z0-9_\\.]*$/;\r\n function validateTelemetryEvent(event) {\r\n if (!isEventNameValid(event.eventName)) {\r\n throw new Error('Invalid eventName');\r\n }\r\n if (event.eventContract && !isEventContractValid(event.eventContract)) {\r\n throw new Error('Invalid eventContract');\r\n }\r\n if (event.dataFields != null) {\r\n for (var i = 0; i < event.dataFields.length; i++) {\r\n validateDataField(event.dataFields[i]);\r\n }\r\n }\r\n }\r\n TelemetryEventValidator.validateTelemetryEvent = validateTelemetryEvent;\r\n function isNamespaceValid(eventNamePieces) {\r\n // Min 3 pieces: Office.(Namespace).EventName)\r\n return !!eventNamePieces && eventNamePieces.length >= 3 && eventNamePieces[0] === 'Office';\r\n }\r\n function isEventNodeValid(eventNode) {\r\n return eventNode !== undefined && StartsWithCapitalRegex.test(eventNode);\r\n }\r\n function isEventNameValid(eventName) {\r\n var maxEventNameLength = 98; // Client Code = 100 limit; Aria Compact SDK = 98 limit.\r\n if (!eventName || eventName.length > maxEventNameLength) {\r\n return false;\r\n }\r\n var eventNamePieces = eventName.split('.');\r\n var eventNodeName = eventNamePieces[eventNamePieces.length - 1];\r\n return isNamespaceValid(eventNamePieces) && isEventNodeValid(eventNodeName);\r\n }\r\n function isEventContractValid(eventContract) {\r\n return isNameValid(eventContract.name);\r\n }\r\n function isDataFieldNameValid(dataFieldName) {\r\n var maxDataFieldNameLength = 100;\r\n var dataFieldPrefixLength = 5;\r\n return !!dataFieldName && isNameValid(dataFieldName) && dataFieldName.length + dataFieldPrefixLength < maxDataFieldNameLength;\r\n }\r\n function isNameValid(name) {\r\n return name !== undefined && AlphanumericRegex.test(name);\r\n }\r\n function validateDataField(dataField) {\r\n if (!isDataFieldNameValid(dataField.name)) {\r\n throw new Error('Invalid dataField name');\r\n }\r\n if (dataField.dataType === DataFieldType.Int64) {\r\n validateInt(dataField.value);\r\n }\r\n }\r\n function validateInt(value) {\r\n if (typeof value !== 'number' || !isFinite(value) || Math.floor(value) !== value || value < INT64_MIN || value > INT64_MAX) {\r\n throw new Error(\"Invalid integer \" + JSON.stringify(value));\r\n }\r\n }\r\n TelemetryEventValidator.validateInt = validateInt;\r\n})(TelemetryEventValidator || (TelemetryEventValidator = {}));\r\n//# sourceMappingURL=TelemetryEventValidator.js.map","export var CorrelationVector;\r\n(function (CorrelationVector) {\r\n var baseHash;\r\n var baseId = 0;\r\n /**\r\n * Get a new correlation vector representing the next event in sequence\r\n */\r\n function getNext() {\r\n if (baseHash === undefined) {\r\n baseHash = generatePseudoHash();\r\n }\r\n return new CV(baseHash, ++baseId);\r\n }\r\n CorrelationVector.getNext = getNext;\r\n /**\r\n * Get a new correlation vector parented to this one\r\n * @param parent\r\n */\r\n function getNextChild(parent) {\r\n return new CV(parent.getString(), ++parent.nextChild);\r\n }\r\n CorrelationVector.getNextChild = getNextChild;\r\n var CV = /** @class */ (function () {\r\n function CV(base, id) {\r\n this.base = base;\r\n this.id = id;\r\n this.nextChild = 0;\r\n }\r\n CV.prototype.getString = function () {\r\n return this.base + \".\" + this.id;\r\n };\r\n return CV;\r\n }());\r\n CorrelationVector.CV = CV;\r\n function generatePseudoHash() {\r\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\r\n var hashLength = 22;\r\n var result = [];\r\n for (var i = 0; i < hashLength; i++) {\r\n // tslint:disable: insecure-random (security is not a concern here and secure crypto function is not available on all platform)\r\n result.push(characters.charAt(Math.floor(Math.random() * characters.length)));\r\n }\r\n return result.join('');\r\n }\r\n})(CorrelationVector || (CorrelationVector = {}));\r\n//# sourceMappingURL=CorrelationVector.js.map","var __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nimport { cloneEvent } from './TelemetryEvent';\r\nimport { TenantTokenManager } from './TenantTokenManager';\r\nimport { TelemetryEventValidator } from './TelemetryEventValidator';\r\nimport { Event } from './Event';\r\nimport { logNotification, LogLevel, Category, logError } from './OTelNotifications';\r\nimport { makeStringDataField } from '.';\r\nimport { oteljsVersion } from './Version';\r\n/**\r\n * Use this as the Nexus tenant token when Nexus logging is not needed or relevant\r\n */\r\nexport var SuppressNexus = -1;\r\n/**\r\n * SimpleTelemetryLogger is the base implementation of a telemetry logger.\r\n * It exposes sendTelemetryEvent, which is used to log a telemetry event.\r\n */\r\nvar SimpleTelemetryLogger = /** @class */ (function () {\r\n /**\r\n * Creates a telemetry logger\r\n * @param parent - A parent telemetry logger that this telemetry logger should inherit from\r\n * This telemetry logger will send telemetry to the same sinks\r\n * and will send the same persistent data fields as the parent logger\r\n * @param persistentDataFields - Data fields to send with every event\r\n */\r\n function SimpleTelemetryLogger(parent, persistentDataFields, config) {\r\n var _a, _b;\r\n /**\r\n * A list of sinks that telemetry events will be forwarded to\r\n */\r\n this.onSendEvent = new Event();\r\n /**\r\n * @internal Internal variable; do not use publicly.\r\n */\r\n this.persistentDataFields = [];\r\n this.config = config || {};\r\n if (parent) {\r\n this.onSendEvent = parent.onSendEvent;\r\n (_a = this.persistentDataFields).push.apply(_a, parent.persistentDataFields);\r\n this.config = __assign(__assign({}, parent.getConfig()), this.config);\r\n }\r\n if (persistentDataFields) {\r\n (_b = this.persistentDataFields).push.apply(_b, persistentDataFields);\r\n }\r\n }\r\n /**\r\n * SendTelemetryEvent is the basic way to send a telemetry event.\r\n * This should be used for sending telemetry about discrete events that happened\r\n * For telemetry that includes duration and/or success/failure, the Activity API may be more appropriate.\r\n * @param event - The telemetry event to send\r\n */\r\n SimpleTelemetryLogger.prototype.sendTelemetryEvent = function (event) {\r\n var localEvent;\r\n try {\r\n if (this.onSendEvent.getListenerCount() === 0) {\r\n logNotification(LogLevel.Warning, Category.Core, function () { return 'No telemetry sinks are attached.'; });\r\n return;\r\n }\r\n // Don't modify the event that got passed in; we create our own.\r\n localEvent = this.cloneEvent(event);\r\n this.processTelemetryEvent(localEvent);\r\n }\r\n catch (error) {\r\n logError(Category.Core, 'SendTelemetryEvent', error);\r\n return;\r\n }\r\n try {\r\n this.onSendEvent.fireEvent(localEvent);\r\n }\r\n catch (_e) {\r\n // Sinks should handle their own errors;\r\n }\r\n };\r\n /**\r\n * Processes a telemetry event, but does not send it\r\n * Determines the tenant tokens\r\n * Adds persistent data fields\r\n * Validates the event\r\n * Throws if the event is invalid\r\n * @param event - The telemetry event to process\r\n */\r\n SimpleTelemetryLogger.prototype.processTelemetryEvent = function (event) {\r\n var _a;\r\n if (!event.telemetryProperties) {\r\n event.telemetryProperties = TenantTokenManager.getTenantTokens(event.eventName);\r\n }\r\n if (event.dataFields) {\r\n event.dataFields.unshift(makeStringDataField('OTelJS.Version', oteljsVersion));\r\n if (this.persistentDataFields) {\r\n // The last-added data field wins, if the same-named data field is added more than once.\r\n // Persistent data fields should have lower priority than per-event data fields\r\n (_a = event.dataFields).unshift.apply(_a, this.persistentDataFields);\r\n }\r\n }\r\n if (!this.config.disableValidation) {\r\n TelemetryEventValidator.validateTelemetryEvent(event);\r\n }\r\n };\r\n /**\r\n * Adds a telemetry sink, to which events will be sent\r\n * @param sink - The telemetry sink to add\r\n */\r\n SimpleTelemetryLogger.prototype.addSink = function (sink) {\r\n this.onSendEvent.addListener(function (event) { return sink.sendTelemetryEvent(event); });\r\n };\r\n /**\r\n * Sets a tenant token for a single namespace. Events within the namespace will be sent to the corresponding tenant.\r\n * @param namespace - The namespace to which the tokens apply, such as Office.System.\r\n * @param ariaTenantToken - The Aria tenant token\r\n * @param nexusTenantToken - The Nexus tenant token\r\n */\r\n SimpleTelemetryLogger.prototype.setTenantToken = function (namespace, ariaTenantToken, nexusTenantToken) {\r\n TenantTokenManager.setTenantToken(namespace, ariaTenantToken, nexusTenantToken);\r\n };\r\n /**\r\n * Sets tenant tokens for multiple namespaces.\r\n * @param tokenTree - An that represents namespaces and which tenants to send corresponding tokens to\r\n * For example, the following tree identifies where to send events under the Office.System and Office.Word namespaces.\r\n * \\{ Office: \\{\r\n * System: \\{\r\n * ariaTenantToken: 'foo',\r\n * nexusTenantToken: 100\r\n * \\},\r\n * Word: \\{\r\n * ariaTenantToken: 'bar',\r\n * nexusTenantToken: 200\r\n * \\}\r\n * \\}\\}\r\n */\r\n SimpleTelemetryLogger.prototype.setTenantTokens = function (tokenTree) {\r\n TenantTokenManager.setTenantTokens(tokenTree);\r\n };\r\n /**\r\n * Clone a telemetry event; generally so we don't modify the input telemetry event\r\n * Also sets dataFields to [] if it isn't already set\r\n * @param event - The event to clone\r\n */\r\n SimpleTelemetryLogger.prototype.cloneEvent = function (event) {\r\n return cloneEvent(event);\r\n };\r\n /**\r\n * Gets the currently applied configuration\r\n */\r\n SimpleTelemetryLogger.prototype.getConfig = function () {\r\n return this.config;\r\n };\r\n return SimpleTelemetryLogger;\r\n}());\r\nexport { SimpleTelemetryLogger };\r\n//# sourceMappingURL=SimpleTelemetryLogger.js.map","export var oteljsVersion = '3.1.74';\r\n//# sourceMappingURL=Version.js.map","/**\r\n * Clone a telemetry event; generally so we don't modify the input telemetry event\r\n * Also sets dataFields to [] if it isn't already set\r\n * @param event - The event to clone\r\n */\r\nexport function cloneEvent(event) {\r\n var localEvent = { eventName: event.eventName, eventFlags: event.eventFlags };\r\n if (!!event.telemetryProperties) {\r\n localEvent.telemetryProperties = {\r\n ariaTenantToken: event.telemetryProperties.ariaTenantToken,\r\n nexusTenantToken: event.telemetryProperties.nexusTenantToken\r\n };\r\n }\r\n if (!!event.eventContract) {\r\n localEvent.eventContract = { name: event.eventContract.name, dataFields: event.eventContract.dataFields.slice() };\r\n }\r\n localEvent.dataFields = !!event.dataFields ? event.dataFields.slice() : [];\r\n return localEvent;\r\n}\r\n//# sourceMappingURL=TelemetryEvent.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nimport { CorrelationVector } from './CorrelationVector';\r\nimport { logNotification, LogLevel, Category } from './OTelNotifications';\r\n// Currently we only send one activity at a time\r\nvar ACTIVITY_COUNT = 1;\r\n// Currently we do not aggregate activities in OTelJS\r\nvar ACTIVITY_AGGMODE = 0;\r\nvar getCurrentMicroseconds = function () {\r\n return Date.now() * 1000;\r\n};\r\nif (typeof window === 'object' && typeof window.performance === 'object' && 'now' in window.performance) {\r\n getCurrentMicroseconds = function () {\r\n return Math.floor(window.performance.now()) * 1000;\r\n };\r\n}\r\n/**\r\n * An activity scope, which automatically records duration and correlation vectors.\r\n * Activity scopes must have their result set with setResult or setSuccess.\r\n * The can be auto-ending when created with executeSync/executeAsync,\r\n * or their scope can be manually managed with createNew and endNow.\r\n * Child activities can be created with corresponding functions.\r\n */\r\nvar ActivityScope = /** @class */ (function () {\r\n function ActivityScope(telemetryLogger, activityName, parent) {\r\n this._optionalEventFlags = {};\r\n this._ended = false;\r\n this._telemetryLogger = telemetryLogger;\r\n this._activityName = activityName;\r\n if (parent) {\r\n this._cv = CorrelationVector.getNextChild(parent._cv);\r\n }\r\n else {\r\n this._cv = CorrelationVector.getNext();\r\n }\r\n this._dataFields = [];\r\n this._success = undefined;\r\n this._startTime = getCurrentMicroseconds();\r\n }\r\n /**\r\n * Creates a new Activity Scope that will be managed by the caller\r\n * One of setSuccess or setResult must be called on the scope, followed by endNow.\r\n * @param telemetryLogger - The telemetry logger that the activity belongs to\r\n * @param activityName - The name of the activity\r\n */\r\n ActivityScope.createNew = function (telemetryLogger, activityName) {\r\n return new ActivityScope(telemetryLogger, activityName);\r\n };\r\n /**\r\n * Creates an activity parented to the current activity. Does not start the activity.\r\n * @param activityName - The name of the activity\r\n */\r\n ActivityScope.prototype.createChildActivity = function (activityName) {\r\n var childActivity = new ActivityScope(this._telemetryLogger, activityName, this);\r\n return childActivity;\r\n };\r\n /**\r\n * Sets optional event flags.\r\n * @param eventFlags - Event flags to set\r\n */\r\n ActivityScope.prototype.setEventFlags = function (eventFlags) {\r\n this._optionalEventFlags = eventFlags;\r\n };\r\n /**\r\n * Adds a data field to the activity\r\n * @param dataField - A data field to add\r\n */\r\n ActivityScope.prototype.addDataField = function (dataField) {\r\n this._dataFields.push(dataField);\r\n };\r\n /**\r\n * Adds data fields to the activity\r\n * @param dataFields - Data fields to add\r\n */\r\n ActivityScope.prototype.addDataFields = function (dataFields) {\r\n var _a;\r\n (_a = this._dataFields).push.apply(_a, dataFields);\r\n };\r\n /**\r\n * Sets whether the activity succeeded\r\n * @param success - Whether the activity succeeded\r\n */\r\n ActivityScope.prototype.setSuccess = function (success) {\r\n this._success = success;\r\n };\r\n /**\r\n * Sets the result of the activity\r\n * @param resultCode - The result code, e.g. 0 for success\r\n * @param resultType - Optional: The result type, e.g. \"HRESULT\"\r\n * @param resultTag - Optional: The result tag\r\n */\r\n // tslint:disable-next-line no-reserved-keywords\r\n ActivityScope.prototype.setResult = function (code, type, tag) {\r\n this._result = { code: code, type: type, tag: tag };\r\n };\r\n /**\r\n * Ends the activity; records the duration and sends a telemetry event.\r\n */\r\n ActivityScope.prototype.endNow = function () {\r\n if (this._ended) {\r\n logNotification(LogLevel.Error, Category.Core, function () { return 'Activity has already ended'; });\r\n return;\r\n }\r\n if (this._success === undefined && this._result === undefined) {\r\n // The Activity dashboard shows these activities as 'unresolved'\r\n // but developers generally should avoid leaving activities in this state.\r\n logNotification(LogLevel.Warning, Category.Core, function () { return 'Activity does not have success or result set'; });\r\n }\r\n var endTime = getCurrentMicroseconds();\r\n var duration = endTime - this._startTime;\r\n this._ended = true;\r\n var activity = {\r\n duration: duration,\r\n count: ACTIVITY_COUNT,\r\n aggMode: ACTIVITY_AGGMODE,\r\n cV: this._cv.getString(),\r\n success: this._success,\r\n result: this._result\r\n };\r\n return this._telemetryLogger.sendActivity(this._activityName, activity, this._dataFields, this._optionalEventFlags);\r\n };\r\n /**\r\n * Starts an activity to execute asynchronously\r\n * You must call setSuccess or setResult on the activity inside the activity body.\r\n * When the activity body resolves or rejects, the duration is recorded and the activity is sent.\r\n * The promise resolution is passed through to the caller.\r\n * @param activityBody - The body of the activity, which should return a promise.\r\n */\r\n ActivityScope.prototype.executeAsync = function (activityBody) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, activityBody(this)\r\n .then(function (result) {\r\n _this.endNow();\r\n return result;\r\n })\r\n .catch(function (e) {\r\n _this.endNow();\r\n throw e;\r\n })];\r\n });\r\n });\r\n };\r\n /**\r\n * Starts an activity to execute synchronously\r\n * You must call setSuccess or setResult on the activity inside the activity body.\r\n * When the function returns, the duration is recorded and the activity is sent. The return value is passed through to the caller.\r\n * @param activityBody - The body of the activity, which should return a promise.\r\n */\r\n ActivityScope.prototype.executeSync = function (activityBody) {\r\n try {\r\n var ret = activityBody(this);\r\n this.endNow();\r\n return ret;\r\n }\r\n catch (e) {\r\n this.endNow();\r\n throw e;\r\n }\r\n };\r\n /**\r\n * Starts an activity to execute asynchronously, parented to the current activity.\r\n * @param activityName - The name of the activity\r\n * @param activityBody - The body of the activity\r\n */\r\n ActivityScope.prototype.executeChildActivityAsync = function (activityName, activityBody) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, this.createChildActivity(activityName).executeAsync(activityBody)];\r\n });\r\n });\r\n };\r\n /**\r\n * Starts an activity to execute synchronously, parented to the current activity.\r\n * @param activityName - The name of the activity\r\n * @param activityBody - The body of the activity\r\n */\r\n ActivityScope.prototype.executeChildActivitySync = function (activityName, activityBody) {\r\n return this.createChildActivity(activityName).executeSync(activityBody);\r\n };\r\n return ActivityScope;\r\n}());\r\nexport { ActivityScope };\r\n//# sourceMappingURL=Activity.js.map","/*\r\n This code was automatically generated.\r\n Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\r\n*/\r\nimport { makeBooleanDataField, makeInt64DataField, makeStringDataField } from '../DataFieldHelper';\r\nimport { addContractField } from '../Contract';\r\nexport var Result;\r\n(function (Result) {\r\n var contractName = 'Office.System.Result';\r\n /* Gets data fields for the Office.System.Result contract */\r\n function getFields(instanceName, contract) {\r\n var dataFields = [];\r\n dataFields.push(makeInt64DataField(instanceName + \".Code\", contract.code));\r\n if (contract.type !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Type\", contract.type));\r\n }\r\n if (contract.tag !== undefined) {\r\n dataFields.push(makeInt64DataField(instanceName + \".Tag\", contract.tag));\r\n }\r\n if (contract.isExpected !== undefined) {\r\n dataFields.push(makeBooleanDataField(instanceName + \".IsExpected\", contract.isExpected));\r\n }\r\n addContractField(dataFields, instanceName, contractName);\r\n return dataFields;\r\n }\r\n Result.getFields = getFields;\r\n})(Result || (Result = {})); // Result\r\nexport var Activity;\r\n(function (Activity) {\r\n Activity.contractName = 'Office.System.Activity';\r\n /* Gets data fields for the Office.System.Activity contract */\r\n function getFields(contract) {\r\n var instanceName = 'Activity';\r\n var dataFields = [];\r\n if (contract.cV !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".CV\", contract.cV));\r\n }\r\n dataFields.push(makeInt64DataField(instanceName + \".Duration\", contract.duration));\r\n dataFields.push(makeInt64DataField(instanceName + \".Count\", contract.count));\r\n dataFields.push(makeInt64DataField(instanceName + \".AggMode\", contract.aggMode));\r\n if (contract.success !== undefined) {\r\n dataFields.push(makeBooleanDataField(instanceName + \".Success\", contract.success));\r\n }\r\n if (contract.result !== undefined) {\r\n dataFields.push.apply(dataFields, Result.getFields(instanceName + \".Result\", contract.result));\r\n }\r\n addContractField(dataFields, instanceName, Activity.contractName);\r\n return dataFields;\r\n }\r\n Activity.getFields = getFields;\r\n})(Activity || (Activity = {})); // Activity\r\nexport var Host;\r\n(function (Host) {\r\n var contractName = 'Office.System.Host';\r\n /* Gets data fields for the Office.System.Host contract */\r\n function getFields(instanceName, contract) {\r\n var dataFields = [];\r\n if (contract.id !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Id\", contract.id));\r\n }\r\n if (contract.version !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Version\", contract.version));\r\n }\r\n if (contract.sessionId !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".SessionId\", contract.sessionId));\r\n }\r\n addContractField(dataFields, instanceName, contractName);\r\n return dataFields;\r\n }\r\n Host.getFields = getFields;\r\n})(Host || (Host = {})); // Host\r\nexport var User;\r\n(function (User) {\r\n var contractName = 'Office.System.User';\r\n /* Gets data fields for the Office.System.User contract */\r\n function getFields(instanceName, contract) {\r\n var dataFields = [];\r\n if (contract.alias !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Alias\", contract.alias));\r\n }\r\n if (contract.primaryIdentityHash !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".PrimaryIdentityHash\", contract.primaryIdentityHash));\r\n }\r\n if (contract.primaryIdentitySpace !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".PrimaryIdentitySpace\", contract.primaryIdentitySpace));\r\n }\r\n if (contract.tenantId !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".TenantId\", contract.tenantId));\r\n }\r\n if (contract.tenantGroup !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".TenantGroup\", contract.tenantGroup));\r\n }\r\n if (contract.isAnonymous !== undefined) {\r\n dataFields.push(makeBooleanDataField(instanceName + \".IsAnonymous\", contract.isAnonymous));\r\n }\r\n addContractField(dataFields, instanceName, contractName);\r\n return dataFields;\r\n }\r\n User.getFields = getFields;\r\n})(User || (User = {})); // User\r\nexport var SDX;\r\n(function (SDX) {\r\n var contractName = 'Office.System.SDX';\r\n /* Gets data fields for the Office.System.SDX contract */\r\n function getFields(instanceName, contract) {\r\n var dataFields = [];\r\n if (contract.id !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Id\", contract.id));\r\n }\r\n if (contract.version !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Version\", contract.version));\r\n }\r\n if (contract.instanceId !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".InstanceId\", contract.instanceId));\r\n }\r\n if (contract.name !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Name\", contract.name));\r\n }\r\n if (contract.marketplaceType !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".MarketplaceType\", contract.marketplaceType));\r\n }\r\n if (contract.sessionId !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".SessionId\", contract.sessionId));\r\n }\r\n if (contract.browserToken !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".BrowserToken\", contract.browserToken));\r\n }\r\n if (contract.osfRuntimeVersion !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".OsfRuntimeVersion\", contract.osfRuntimeVersion));\r\n }\r\n if (contract.officeJsVersion !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".OfficeJsVersion\", contract.officeJsVersion));\r\n }\r\n if (contract.hostJsVersion !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".HostJsVersion\", contract.hostJsVersion));\r\n }\r\n if (contract.assetId !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".AssetId\", contract.assetId));\r\n }\r\n if (contract.providerName !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".ProviderName\", contract.providerName));\r\n }\r\n if (contract.type !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Type\", contract.type));\r\n }\r\n addContractField(dataFields, instanceName, contractName);\r\n return dataFields;\r\n }\r\n SDX.getFields = getFields;\r\n})(SDX || (SDX = {})); // SDX\r\nexport var Funnel;\r\n(function (Funnel) {\r\n var contractName = 'Office.System.Funnel';\r\n /* Gets data fields for the Office.System.Funnel contract */\r\n function getFields(instanceName, contract) {\r\n var dataFields = [];\r\n if (contract.name !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Name\", contract.name));\r\n }\r\n if (contract.state !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".State\", contract.state));\r\n }\r\n addContractField(dataFields, instanceName, contractName);\r\n return dataFields;\r\n }\r\n Funnel.getFields = getFields;\r\n})(Funnel || (Funnel = {})); // Funnel\r\nexport var UserAction;\r\n(function (UserAction) {\r\n var contractName = 'Office.System.UserAction';\r\n /* Gets data fields for the Office.System.UserAction contract */\r\n function getFields(instanceName, contract) {\r\n var dataFields = [];\r\n if (contract.id !== undefined) {\r\n dataFields.push(makeInt64DataField(instanceName + \".Id\", contract.id));\r\n }\r\n if (contract.name !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".Name\", contract.name));\r\n }\r\n if (contract.commandSurface !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".CommandSurface\", contract.commandSurface));\r\n }\r\n if (contract.parentName !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".ParentName\", contract.parentName));\r\n }\r\n if (contract.triggerMethod !== undefined) {\r\n dataFields.push(makeStringDataField(instanceName + \".TriggerMethod\", contract.triggerMethod));\r\n }\r\n if (contract.timeOffsetMs !== undefined) {\r\n dataFields.push(makeInt64DataField(instanceName + \".TimeOffsetMs\", contract.timeOffsetMs));\r\n }\r\n addContractField(dataFields, instanceName, contractName);\r\n return dataFields;\r\n }\r\n UserAction.getFields = getFields;\r\n})(UserAction || (UserAction = {})); // UserAction\r\n//# sourceMappingURL=officeeventschema.tml.js.map","import { makeInt64DataField, makeStringDataField } from '../DataFieldHelper';\r\nimport { addContractField } from '../Contract';\r\nexport var Error;\r\n(function (Error) {\r\n var contractName = 'Office.System.Error';\r\n /**\r\n * Gets data fields for the Error Contract\r\n * @param instanceName - The instance name of this Error Contract\r\n * @param contract - The object containing data fields pertaining to the Error Contract\r\n */\r\n function getFields(instanceName, contract) {\r\n var dataFields = [];\r\n dataFields.push(makeStringDataField(instanceName + \".ErrorGroup\", contract.errorGroup));\r\n dataFields.push(makeInt64DataField(instanceName + \".Tag\", contract.tag));\r\n if (contract.code !== undefined) {\r\n dataFields.push(makeInt64DataField(instanceName + \".Code\", contract.code));\r\n }\r\n if (contract.id !== undefined) {\r\n dataFields.push(makeInt64DataField(instanceName + \".Id\", contract.id));\r\n }\r\n if (contract.count !== undefined) {\r\n dataFields.push(makeInt64DataField(instanceName + \".Count\", contract.count));\r\n }\r\n addContractField(dataFields, instanceName, contractName);\r\n return dataFields;\r\n }\r\n Error.getFields = getFields;\r\n})(Error || (Error = {})); // Error\r\n//# sourceMappingURL=Office.System.Error.js.map","import { makeStringDataField } from './DataFieldHelper';\r\n/**\r\n * Add a metadata field to the list of data fields indicating that a specific contract has been used.\r\n * For example, we might add the data field zC.MySdx: Office.System.SDX, which indicates that\r\n * the fields under MySdx conform to the Office.System.SDX contract.\r\n * @param dataFields - The list of data fields, to which a contract field will be added\r\n * @param instanceName - The instance of the contract. Usually the same as the contract name without its namespace,\r\n * but can be different, especially if you have more than one of the same contract type in a single event.\r\n * @param contractName - The name of the contract, for example Office.System.SDX\r\n */\r\nexport function addContractField(dataFields, instanceName, contractName) {\r\n dataFields.push(makeStringDataField(\"zC.\" + instanceName, contractName));\r\n}\r\n//# sourceMappingURL=Contract.js.map","import { Activity, Result, Funnel, Host, SDX, UserAction, User } from './officeeventschema.tml';\r\nimport { Error } from './Office.System.Error';\r\nvar _Activity = Activity;\r\nvar _Result = Result;\r\nvar _Error = Error;\r\nvar _Funnel = Funnel;\r\nvar _Host = Host;\r\nvar _SDX = SDX;\r\nvar _UserAction = UserAction;\r\nvar _User = User;\r\nexport var Contracts;\r\n(function (Contracts) {\r\n var Office;\r\n (function (Office) {\r\n var System;\r\n (function (System) {\r\n System.Activity = _Activity;\r\n System.Result = _Result;\r\n System.Error = _Error;\r\n System.Funnel = _Funnel;\r\n System.Host = _Host;\r\n System.SDX = _SDX;\r\n System.User = _User;\r\n System.UserAction = _UserAction;\r\n })(System = Office.System || (Office.System = {}));\r\n })(Office = Contracts.Office || (Contracts.Office = {}));\r\n})(Contracts || (Contracts = {}));\r\n//# sourceMappingURL=Contracts.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nimport { SimpleTelemetryLogger } from './SimpleTelemetryLogger';\r\nimport { ActivityScope } from './Activity';\r\nimport { Contracts } from './contracts/Contracts';\r\n/**\r\n * A TelemetryLogger that includes more advanced functions than the SimpleTelemetryLogger,\r\n * specifically activities and errors.\r\n */\r\nvar TelemetryLogger = /** @class */ (function (_super) {\r\n __extends(TelemetryLogger, _super);\r\n function TelemetryLogger() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Starts an unparented activity to execute asynchronously\r\n * The caller must call setResult or setSuccess\r\n * Returns the result of the activityBody\r\n * @param activityName - The name of the activity\r\n * @param activityBody - The body of the activity\r\n */\r\n TelemetryLogger.prototype.executeActivityAsync = function (activityName, activityBody) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, this.createNewActivity(activityName).executeAsync(activityBody)];\r\n });\r\n });\r\n };\r\n /**\r\n * Starts an unparented activity to execute synchronously\r\n * The caller must call setResult or setSuccess\r\n * Returns the result of the activityBody\r\n * @param activityName - The name of the activity\r\n * @param activityBody - The body of the activity\r\n */\r\n TelemetryLogger.prototype.executeActivitySync = function (activityName, activityBody) {\r\n return this.createNewActivity(activityName).executeSync(activityBody);\r\n };\r\n /**\r\n * Creates a new activity. The caller is responsible for setting the result and calling endNow.\r\n * @param activityName - The name of the activity\r\n */\r\n TelemetryLogger.prototype.createNewActivity = function (activityName) {\r\n return ActivityScope.createNew(this, activityName);\r\n };\r\n /**\r\n * Advanced usage: Sends an activity. The caller is responsible for setting all of the activity parameters.\r\n * @param activityName - The name of the activity\r\n * @param activity - The activity contract\r\n * @param dataFields - Optional additional data fields\r\n * @param optionalEventFlags - Optional event flags\r\n */\r\n TelemetryLogger.prototype.sendActivity = function (activityName, activity, dataFields, optionalEventFlags) {\r\n return this.sendTelemetryEvent({\r\n eventName: activityName,\r\n eventContract: {\r\n name: Contracts.Office.System.Activity.contractName,\r\n dataFields: Contracts.Office.System.Activity.getFields(activity)\r\n },\r\n dataFields: dataFields,\r\n eventFlags: optionalEventFlags\r\n });\r\n };\r\n /**\r\n * Sends an event with the Error data contract. A convenience wrapper around sendTelemetryEvent, with\r\n * an Error as a data field.\r\n * @param error - an ErrorEvent that represents the error\r\n */\r\n TelemetryLogger.prototype.sendError = function (error) {\r\n var dataFields = Contracts.Office.System.Error.getFields('Error', error.error);\r\n if (error.dataFields != null) {\r\n dataFields.push.apply(dataFields, error.dataFields);\r\n }\r\n return this.sendTelemetryEvent({\r\n eventName: error.eventName,\r\n dataFields: dataFields,\r\n eventFlags: error.eventFlags\r\n });\r\n };\r\n return TelemetryLogger;\r\n}(SimpleTelemetryLogger));\r\nexport { TelemetryLogger };\r\n//# sourceMappingURL=TelemetryLogger.js.map"],"sourceRoot":""}