@vc-shell/framework 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/ai-agent/index.js +2 -2
- package/dist/ai-agent/index.js.map +1 -0
- package/dist/chunks/ExtensionPoint.vue_vue_type_style_index_0_lang-B1R06zHa.js.map +1 -0
- package/dist/chunks/{VcAiAgentPanel.vue_vue_type_style_index_0_lang-D0kWIlz3.js → VcAiAgentPanel.vue_vue_type_style_index_0_lang-Bgkc3--0.js} +40 -40
- package/dist/chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-Bgkc3--0.js.map +1 -0
- package/dist/chunks/{VcTableAdapter.vue_vue_type_style_index_0_lang-D71wkuIU.js → VcTableAdapter.vue_vue_type_style_index_0_lang-CfAT0lEH.js} +6239 -6280
- package/dist/chunks/VcTableAdapter.vue_vue_type_style_index_0_lang-CfAT0lEH.js.map +1 -0
- package/dist/chunks/{index-CDUdOax4.js → index-BXwiMzC3.js} +1 -1
- package/dist/chunks/index-BXwiMzC3.js.map +1 -0
- package/dist/chunks/index-BuTo_Lx8.js.map +1 -0
- package/dist/chunks/vendor-boolbase-DYkUBG-P.js.map +1 -0
- package/dist/chunks/vendor-cheerio-DE71XQ9x.js.map +1 -0
- package/dist/chunks/vendor-cheerio-select-D-qK1Cpo.js.map +1 -0
- package/dist/chunks/vendor-css-select-DqoO1-RK.js.map +1 -0
- package/dist/chunks/vendor-css-what-CZZaquJM.js.map +1 -0
- package/dist/chunks/vendor-cypress-signalr-mock-itnm2wpA.js.map +1 -0
- package/dist/chunks/vendor-d3-array-9cpTrqlO.js.map +1 -0
- package/dist/chunks/vendor-d3-axis-D1_DbKLz.js.map +1 -0
- package/dist/chunks/vendor-d3-brush-CcKeJp9e.js.map +1 -0
- package/dist/chunks/vendor-d3-chord-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-d3-color-BOYE6h_9.js.map +1 -0
- package/dist/chunks/vendor-d3-dispatch-fx-WMg0D.js.map +1 -0
- package/dist/chunks/vendor-d3-drag-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-d3-ease-Cr34gv04.js.map +1 -0
- package/dist/chunks/vendor-d3-force-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-d3-format-DaIwZvFc.js.map +1 -0
- package/dist/chunks/vendor-d3-geo-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-d3-geo-projection-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-d3-hierarchy-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-d3-interpolate-BYG2gvO4.js.map +1 -0
- package/dist/chunks/vendor-d3-interpolate-path-CpGLvKgS.js.map +1 -0
- package/dist/chunks/vendor-d3-path-DJOTitNW.js.map +1 -0
- package/dist/chunks/vendor-d3-quadtree-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-d3-sankey-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-d3-scale-CC5rtdt5.js.map +1 -0
- package/dist/chunks/vendor-d3-selection-CNMxsYiL.js.map +1 -0
- package/dist/chunks/vendor-d3-shape-DBhCDMiV.js.map +1 -0
- package/dist/chunks/vendor-d3-time-DAPP210_.js.map +1 -0
- package/dist/chunks/vendor-d3-time-format-hD7iE2WG.js.map +1 -0
- package/dist/chunks/vendor-d3-timer-C1cUWKPz.js.map +1 -0
- package/dist/chunks/vendor-d3-transition-BbNQT7qF.js.map +1 -0
- package/dist/chunks/vendor-d3-zoom-CcKeJp9e.js.map +1 -0
- package/dist/chunks/vendor-date-fns-BKO3x1R1.js.map +1 -0
- package/dist/chunks/vendor-dom-serializer-BbVuF1MQ.js.map +1 -0
- package/dist/chunks/vendor-domelementtype-B3sFIGaC.js.map +1 -0
- package/dist/chunks/vendor-domhandler-Kufn9M_V.js.map +1 -0
- package/dist/chunks/vendor-dompurify-DpIUMBYC.js.map +1 -0
- package/dist/chunks/vendor-domutils-DDRq_ial.js.map +1 -0
- package/dist/chunks/vendor-elkjs-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-emotion-cache-eEZT5l-Q.js.map +1 -0
- package/dist/chunks/vendor-emotion-hash-DImMRhyK.js.map +1 -0
- package/dist/chunks/vendor-emotion-memoize-BcEUCz8q.js.map +1 -0
- package/dist/chunks/vendor-emotion-serialize-BSDW8NwU.js.map +1 -0
- package/dist/chunks/vendor-emotion-sheet-CS8ZBl9s.js.map +1 -0
- package/dist/chunks/vendor-emotion-unitless-B7u1PU6w.js.map +1 -0
- package/dist/chunks/vendor-emotion-utils-D7refZTM.js.map +1 -0
- package/dist/chunks/vendor-emotion-weak-memoize-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-entities-J86Og8IU.js.map +1 -0
- package/dist/chunks/vendor-floating-ui-core-BoHdh92a.js.map +1 -0
- package/dist/chunks/vendor-floating-ui-dom-BvVXFZ4B.js.map +1 -0
- package/dist/chunks/vendor-floating-ui-utils-CidJRIm2.js.map +1 -0
- package/dist/chunks/vendor-floating-ui-vue-sCrhit51.js.map +1 -0
- package/dist/chunks/vendor-gridstack-Beau2jQ7.js.map +1 -0
- package/dist/chunks/vendor-headlessui-vue-Cn-RMs4E.js.map +1 -0
- package/dist/chunks/vendor-htmlparser2-BxKKzWLL.js.map +1 -0
- package/dist/chunks/vendor-internmap-Q5729_cS.js.map +1 -0
- package/dist/chunks/vendor-intlify-core-base-Cf8V01l9.js.map +1 -0
- package/dist/chunks/vendor-intlify-message-compiler-h1txdYa8.js.map +1 -0
- package/dist/chunks/vendor-intlify-shared-D4BJYR57.js.map +1 -0
- package/dist/chunks/vendor-iso-639-1-BEjYyfKo.js.map +1 -0
- package/dist/chunks/vendor-juggle-resize-observer-DiSiNbbT.js.map +1 -0
- package/dist/chunks/vendor-kdbush-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-leaflet-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-linkify-it-LzoUhj6C.js.map +1 -0
- package/dist/chunks/vendor-linkifyjs-dCH9UYes.js.map +1 -0
- package/dist/chunks/vendor-lodash-es-CfnUOh0o.js.map +1 -0
- package/dist/chunks/vendor-lodash-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-lucide-vue-next-CwUrzD6N.js.map +1 -0
- package/dist/chunks/vendor-maplibre-gl-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-markdown-it-Bs9KEWkF.js.map +1 -0
- package/dist/chunks/vendor-markdown-it-task-lists-CHKeJZfk.js.map +1 -0
- package/dist/chunks/vendor-mdurl-DZFDNdqC.js.map +1 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-analytics-js-ufpnHxNR.js.map +1 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-cfgsync-js-BmGq5cEx.js.map +1 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-channel-js-BdtUi1l8.js.map +1 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-core-js-CR3vyuZc.js.map +1 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-dependencies-js-DXmYt4tG.js.map +1 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-properties-js-CLbNzgkN.js.map +1 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-shims-CGX8KXgN.js.map +1 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-web-DzgnK2Mn.js.map +1 -0
- package/dist/chunks/vendor-microsoft-dynamicproto-js-D7567TLZ.js.map +1 -0
- package/dist/chunks/vendor-microsoft-signalr-Bgpbb4fW.js.map +1 -0
- package/dist/chunks/vendor-nevware21-ts-async-BxN_lmkD.js.map +1 -0
- package/dist/chunks/vendor-nevware21-ts-utils-Dr-hD3q9.js.map +1 -0
- package/dist/chunks/vendor-nth-check-D0N1qpsw.js.map +1 -0
- package/dist/chunks/vendor-orderedmap-B3SOk52B.js.map +1 -0
- package/dist/chunks/vendor-parse5-htmlparser2-tree-adapter-BUDJ887-.js.map +1 -0
- package/dist/chunks/vendor-parse5-zq5Hn0y9.js.map +1 -0
- package/dist/chunks/vendor-prettier-2Sf6a5jB.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-commands-BaRVaTVO.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-dropcursor-PuLxL9JM.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-gapcursor-C7MEx13L.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-history-_AfZxoMt.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-keymap-tvZqK1zZ.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-markdown-rpUTSG_Q.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-model-DAA3avbR.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-schema-list-qDgvFydE.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-state-BvFA7AjG.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-tables-CbmHRq4G.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-transform-DVGD47fI.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-view-BW4UqvjQ.js.map +1 -0
- package/dist/chunks/vendor-punycode-js-CgGegfA_.js.map +1 -0
- package/dist/chunks/vendor-rope-sequence-BWC2FSrq.js.map +1 -0
- package/dist/chunks/vendor-sortablejs-Bsvu-FKn.js.map +1 -0
- package/dist/chunks/vendor-striptags-DtlgQudQ.js.map +1 -0
- package/dist/chunks/vendor-stylis-ClfDrgKE.js.map +1 -0
- package/dist/chunks/vendor-supercluster-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-swiper-BgqGfw3Y.js.map +1 -0
- package/dist/chunks/vendor-tanstack-virtual-core-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-tanstack-vue-virtual-CD9yLWd7.js.map +1 -0
- package/dist/chunks/vendor-three-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-throttle-debounce-CX0imT7m.js.map +1 -0
- package/dist/chunks/vendor-tiptap-core-CZbeo7XQ.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-blockquote-B8uwrgnZ.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-bold-Ch9pbrZY.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-code-CVh_mZgz.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-code-block-CfoUSR2N.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-document-C4tn-v0L.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-hard-break-CbK1eM89.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-heading-BlkYF-RD.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-horizontal-rule-DjMOsQCA.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-image-BpqLcXdw.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-italic-YDdh6jEW.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-link-CETrc0Mo.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-list-DsiDvJxK.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-paragraph-Bcss4jc0.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-placeholder-ClNjQXk_.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-strike-BZiBed9b.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-table-QVjcLO_H.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-table-cell-CuXZTKj8.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-table-header-CuXZTKj8.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-table-row-CuXZTKj8.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-text-Wofhchrp.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-text-style-Bc6nvmn0.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-underline-Bo1pXXDN.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extensions-D7eaegpB.js.map +1 -0
- package/dist/chunks/vendor-tiptap-markdown-18K1hcU0.js.map +1 -0
- package/dist/chunks/vendor-tiptap-pm-yqZPZQMU.js.map +1 -0
- package/dist/chunks/vendor-tiptap-starter-kit-ny-AoaO_.js.map +1 -0
- package/dist/chunks/vendor-tiptap-vue-3-BNAw8onj.js.map +1 -0
- package/dist/chunks/vendor-topojson-client-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-truncate-html-ChA1T5zy.js.map +1 -0
- package/dist/chunks/vendor-tslib-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-uc-micro-4lbSaZOs.js.map +1 -0
- package/dist/chunks/vendor-unovis-dagre-layout-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-unovis-graphlibrary-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-unovis-ts-stSsHr9j.js.map +1 -0
- package/dist/chunks/vendor-unovis-vue-CZWGT3-0.js.map +1 -0
- package/dist/chunks/vendor-vee-validate-i18n-zT8NxX3R.js.map +1 -0
- package/dist/chunks/vendor-vee-validate-rules-4oWUZPpG.js.map +1 -0
- package/dist/chunks/vendor-vue-currency-input-CckB4kjx.js.map +1 -0
- package/dist/chunks/vendor-vue-demi-CD9yLWd7.js.map +1 -0
- package/dist/chunks/vendor-vue-devtools-api-aVYGocXp.js.map +1 -0
- package/dist/chunks/vendor-vue-i18n-LO-EJStU.js.map +1 -0
- package/dist/chunks/vendor-vue3-application-insights-CAgbt8pk.js.map +1 -0
- package/dist/chunks/vendor-vue3-touch-events-DqysuuWh.js.map +1 -0
- package/dist/chunks/vendor-vuepic-vue-datepicker-CaZ_qpJp.js.map +1 -0
- package/dist/chunks/vendor-vueuse-components-BW7i7Uhb.js.map +1 -0
- package/dist/chunks/vendor-vueuse-core-CEdpDfzx.js.map +1 -0
- package/dist/chunks/vendor-vueuse-shared-BlCOXw5g.js.map +1 -0
- package/dist/chunks/vendor-w3c-keyname-CLxH8j-f.js.map +1 -0
- package/dist/chunks/vendor-web-vitals-ByFgAM-8.js.map +1 -0
- package/dist/core/notifications/composables/index.d.ts +1 -0
- package/dist/core/notifications/composables/index.d.ts.map +1 -1
- package/dist/core/notifications/composables/useBroadcastFilter.d.ts +7 -0
- package/dist/core/notifications/composables/useBroadcastFilter.d.ts.map +1 -0
- package/dist/core/notifications/index.d.ts +1 -0
- package/dist/core/notifications/index.d.ts.map +1 -1
- package/dist/core/notifications/store.d.ts +5 -1
- package/dist/core/notifications/store.d.ts.map +1 -1
- package/dist/core/plugins/signalR/index.d.ts +2 -5
- package/dist/core/plugins/signalR/index.d.ts.map +1 -1
- package/dist/extensions/index.js.map +1 -0
- package/dist/framework.js +2146 -2061
- package/dist/framework.js.map +1 -0
- package/dist/index.css +2 -2
- package/dist/index.d.ts +3 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/injection-keys.d.ts +5 -0
- package/dist/injection-keys.d.ts.map +1 -1
- package/dist/shell/_internal/notifications/composables/useContainer/index.d.ts.map +1 -1
- package/dist/shell/_internal/popup/common/vc-popup-base.vue.d.ts.map +1 -1
- package/dist/shell/dashboard/draggable-dashboard/DashboardWidgetSkeleton.vue.d.ts +4 -0
- package/dist/shell/dashboard/draggable-dashboard/DashboardWidgetSkeleton.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/draggable-dashboard/GridstackDashboard.vue.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/atoms/vc-card/vc-card.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-data-table/_internal/vc-table-base-header/vc-table-base-header.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-data-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-data-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -1
- package/dist/ui/index.js +2 -2
- package/dist/ui/index.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vendor-microsoft-applicationinsights-channel-js-BdtUi1l8.js","sources":["../../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/InternalConstants.js","../../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/Telemetry/Common/Data.js","../../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/__DynamicConstants.js","../../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/Telemetry/RemoteDependencyData.js","../../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/Telemetry/RequestData.js","../../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/EnvelopeCreator.js","../../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/SendBuffer.js","../../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/Serializer.js","../../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js","../../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js","../../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/TelemetryProcessors/Sample.js","../../../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/Sender.js"],"sourcesContent":["/*\n * Application Insights JavaScript SDK - Channel, 3.4.1\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// ###################################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE/ES5 this will export a mutable variables that someone could change ###\r\n// ###################################################################################################################################################\r\n// Generally you should only put values that are used more than 2 times and then only if not already exposed as a constant (such as SdkCoreNames)\r\n// as when using \"short\" named values from here they will be will be minified smaller than the SdkCoreNames[eSdkCoreNames.xxxx] value.\r\nexport var STR_DURATION = \"duration\";\r\n//# sourceMappingURL=InternalConstants.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.4.1\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nexport function _createData(baseType, data) {\r\n return {\r\n baseType: baseType,\r\n baseData: data,\r\n aiDataContract: {\r\n baseType: 1 /* FieldType.Required */,\r\n baseData: 1 /* FieldType.Required */\r\n }\r\n };\r\n}\r\n//# sourceMappingURL=Data.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.4.1\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES5 which can result in a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TAGS = \"tags\"; // Count: 17\r\nexport var _DYN_DEVICE_TYPE = \"deviceType\"; // Count: 3\r\nexport var _DYN_DATA = \"data\"; // Count: 15\r\nexport var _DYN_NAME = \"name\"; // Count: 10\r\nexport var _DYN_TRACE_ID = \"traceID\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 40\r\nexport var _DYN_STRINGIFY = \"stringify\"; // Count: 5\r\nexport var _DYN_MEASUREMENTS = \"measurements\"; // Count: 8\r\nexport var _DYN_RESPONSE_CODE = \"responseCode\"; // Count: 3\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 7\r\nexport var _DYN_ENQUEUE = \"enqueue\"; // Count: 7\r\nexport var _DYN_COUNT = \"count\"; // Count: 7\r\nexport var _DYN_PUSH = \"push\"; // Count: 9\r\nexport var _DYN_EMIT_LINE_DELIMITED_0 = \"emitLineDelimitedJson\"; // Count: 3\r\nexport var _DYN_CLEAR = \"clear\"; // Count: 6\r\nexport var _DYN_MARK_AS_SENT = \"markAsSent\"; // Count: 4\r\nexport var _DYN_CLEAR_SENT = \"clearSent\"; // Count: 5\r\nexport var _DYN_BUFFER_OVERRIDE = \"bufferOverride\"; // Count: 3\r\nexport var _DYN__BUFFER__KEY = \"BUFFER_KEY\"; // Count: 5\r\nexport var _DYN__SENT__BUFFER__KEY = \"SENT_BUFFER_KEY\"; // Count: 8\r\nexport var _DYN_CONCAT = \"concat\"; // Count: 6\r\nexport var _DYN__MAX__BUFFER__SIZE = \"MAX_BUFFER_SIZE\"; // Count: 5\r\nexport var _DYN_TRIGGER_SEND = \"triggerSend\"; // Count: 5\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 16\r\nexport var _DYN_INITIALIZE = \"initialize\"; // Count: 3\r\nexport var _DYN__SENDER = \"_sender\"; // Count: 5\r\nexport var _DYN_ENDPOINT_URL = \"endpointUrl\"; // Count: 5\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 5\r\nexport var _DYN_CUSTOM_HEADERS = \"customHeaders\"; // Count: 3\r\nexport var _DYN_MAX_BATCH_SIZE_IN_BY1 = \"maxBatchSizeInBytes\"; // Count: 2\r\nexport var _DYN_ONUNLOAD_DISABLE_BEA2 = \"onunloadDisableBeacon\"; // Count: 3\r\nexport var _DYN_IS_BEACON_API_DISABL3 = \"isBeaconApiDisabled\"; // Count: 3\r\nexport var _DYN_ALWAYS_USE_XHR_OVERR4 = \"alwaysUseXhrOverride\"; // Count: 2\r\nexport var _DYN_ENABLE_SESSION_STORA5 = \"enableSessionStorageBuffer\"; // Count: 2\r\nexport var _DYN__BUFFER = \"_buffer\"; // Count: 9\r\nexport var _DYN_ONUNLOAD_DISABLE_FET6 = \"onunloadDisableFetch\"; // Count: 2\r\nexport var _DYN_DISABLE_SEND_BEACON_7 = \"disableSendBeaconSplit\"; // Count: 2\r\nexport var _DYN_GET_SENDER_INST = \"getSenderInst\"; // Count: 4\r\nexport var _DYN__ON_ERROR = \"_onError\"; // Count: 7\r\nexport var _DYN__ON_PARTIAL_SUCCESS = \"_onPartialSuccess\"; // Count: 3\r\nexport var _DYN__ON_SUCCESS = \"_onSuccess\"; // Count: 6\r\nexport var _DYN_ITEMS_RECEIVED = \"itemsReceived\"; // Count: 3\r\nexport var _DYN_ITEMS_ACCEPTED = \"itemsAccepted\"; // Count: 3\r\nexport var _DYN_BASE_TYPE = \"baseType\"; // Count: 4\r\nexport var _DYN_SAMPLE_RATE = \"sampleRate\"; // Count: 4\r\n//# sourceMappingURL=__DynamicConstants.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.4.1\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl, msToTimeSpan, urlParseUrl } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_DATA, _DYN_LENGTH, _DYN_NAME } from \"../__DynamicConstants\";\r\nexport var RemoteDependencyEnvelopeType = \"Microsoft.ApplicationInsights.{0}.RemoteDependency\";\r\nfunction AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName) {\r\n var target, name = commandName, data = commandName;\r\n if (absoluteUrl && absoluteUrl[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var parsedUrl = urlParseUrl(absoluteUrl);\r\n target = parsedUrl.host;\r\n if (!name) {\r\n if (parsedUrl.pathname != null) {\r\n var pathName = (parsedUrl.pathname[_DYN_LENGTH /* @min:%2elength */] === 0) ? \"/\" : parsedUrl.pathname;\r\n if (pathName.charAt(0) !== \"/\") {\r\n pathName = \"/\" + pathName;\r\n }\r\n data = parsedUrl.pathname;\r\n name = dataSanitizeString(logger, method ? method + \" \" + pathName : pathName);\r\n }\r\n else {\r\n name = dataSanitizeString(logger, absoluteUrl);\r\n }\r\n }\r\n }\r\n else {\r\n target = commandName;\r\n name = commandName;\r\n }\r\n return {\r\n target: target,\r\n name: name,\r\n data: data\r\n };\r\n}\r\nexport function createRemoteDependencyData(logger, id, absoluteUrl, commandName, value, success, resultCode, method, requestAPI, correlationContext, properties, measurements) {\r\n if (requestAPI === void 0) { requestAPI = \"Ajax\"; }\r\n var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);\r\n var data = {\r\n ver: 2,\r\n id: id,\r\n duration: msToTimeSpan(value),\r\n success: success,\r\n resultCode: \"\" + resultCode,\r\n type: dataSanitizeString(logger, requestAPI),\r\n data: dataSanitizeUrl(logger, commandName) || dependencyFields[_DYN_DATA /* @min:%2edata */],\r\n target: dataSanitizeString(logger, dependencyFields.target),\r\n name: dataSanitizeString(logger, dependencyFields[_DYN_NAME /* @min:%2ename */]),\r\n properties: dataSanitizeProperties(logger, properties),\r\n measurements: dataSanitizeMeasurements(logger, measurements),\r\n aiDataContract: {\r\n id: 1 /* FieldType.Required */,\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n resultCode: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n success: 0 /* FieldType.Default */,\r\n data: 0 /* FieldType.Default */,\r\n target: 0 /* FieldType.Default */,\r\n type: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */,\r\n kind: 0 /* FieldType.Default */,\r\n value: 0 /* FieldType.Default */,\r\n count: 0 /* FieldType.Default */,\r\n min: 0 /* FieldType.Default */,\r\n max: 0 /* FieldType.Default */,\r\n stdDev: 0 /* FieldType.Default */,\r\n dependencyKind: 0 /* FieldType.Default */,\r\n dependencySource: 0 /* FieldType.Default */,\r\n commandName: 0 /* FieldType.Default */,\r\n dependencyTypeName: 0 /* FieldType.Default */\r\n }\r\n };\r\n if (correlationContext) {\r\n data.target = \"\" + data.target + \" | \" + correlationContext;\r\n }\r\n return data;\r\n}\r\n//# sourceMappingURL=RemoteDependencyData.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.4.1\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { asString, dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl, msToTimeSpan } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_RESPONSE_CODE } from \"../__DynamicConstants\";\r\nexport var RequestEnvelopeType = \"Microsoft.ApplicationInsights.{0}.Request\";\r\n/**\r\n * Constructs a new instance of the RequestData object\r\n */\r\nexport function createRequestData(logger, id, name, value, success, responseCode, source, url, properties, measurements) {\r\n var _a;\r\n return _a = {\r\n ver: 2,\r\n id: id,\r\n name: dataSanitizeString(logger, name),\r\n duration: msToTimeSpan(value),\r\n success: success\r\n },\r\n _a[_DYN_RESPONSE_CODE /* @min:responseCode */] = asString(responseCode || \"0\"),\r\n _a.source = dataSanitizeString(logger, source),\r\n _a.url = dataSanitizeUrl(logger, url),\r\n _a.properties = dataSanitizeProperties(logger, properties),\r\n _a.measurements = dataSanitizeMeasurements(logger, measurements),\r\n _a.aiDataContract = {\r\n id: 1 /* FieldType.Required */,\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n responseCode: 1 /* FieldType.Required */,\r\n duration: 1 /* FieldType.Required */,\r\n success: 1 /* FieldType.Required */,\r\n source: 0 /* FieldType.Default */,\r\n url: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n },\r\n _a;\r\n}\r\n//# sourceMappingURL=RequestData.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.4.1\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __assignFn as __assign } from \"@microsoft/applicationinsights-shims\";\r\nimport { CtxTagKeys, Envelope, Event, EventDataType, EventEnvelopeType, Exception, ExceptionDataType, ExceptionEnvelopeType, HttpMethod, Metric, MetricDataType, MetricEnvelopeType, PageView, PageViewDataType, PageViewEnvelopeType, PageViewPerformance, PageViewPerformanceDataType, PageViewPerformanceEnvelopeType, RemoteDependencyDataType, RequestDataType, SampleRate, Trace, TraceDataType, TraceEnvelopeType, _throwInternal, _warnToConsole, dataSanitizeString, getJSON, hasJSON, isDate, isNullOrUndefined, isNumber, isString, isTruthy, objForEachKey, optimizeObject, setValue, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { STR_DURATION } from \"./InternalConstants\";\r\nimport { _createData } from \"./Telemetry/Common/Data\";\r\nimport { RemoteDependencyEnvelopeType, createRemoteDependencyData } from \"./Telemetry/RemoteDependencyData\";\r\nimport { createRequestData } from \"./Telemetry/RequestData\";\r\nimport { _DYN_DATA, _DYN_DEVICE_TYPE, _DYN_LENGTH, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_RESPONSE_CODE, _DYN_STRINGIFY, _DYN_TAGS, _DYN_TO_STRING, _DYN_TRACE_ID } from \"./__DynamicConstants\";\r\n// these two constants are used to filter out properties not needed when trying to extract custom properties and measurements from the incoming payload\r\nvar strBaseType = \"baseType\";\r\nvar strBaseData = \"baseData\";\r\nvar strProperties = \"properties\";\r\nvar strTrue = \"true\";\r\nfunction _setValueIf(target, field, value) {\r\n return setValue(target, field, value, isTruthy);\r\n}\r\n/*\r\n * Maps Part A data from CS 4.0\r\n */\r\nfunction _extractPartAExtensions(logger, item, env) {\r\n // todo: switch to keys from common in this method\r\n var envTags = env[_DYN_TAGS /* @min:%2etags */] = env[_DYN_TAGS /* @min:%2etags */] || {};\r\n var itmExt = item.ext = item.ext || {};\r\n var itmTags = item[_DYN_TAGS /* @min:%2etags */] = item[_DYN_TAGS /* @min:%2etags */] || {};\r\n var extUser = itmExt.user;\r\n if (extUser) {\r\n _setValueIf(envTags, CtxTagKeys.userAuthUserId, extUser.authId);\r\n _setValueIf(envTags, CtxTagKeys.userId, extUser.id || extUser.localId);\r\n }\r\n var extApp = itmExt.app;\r\n if (extApp) {\r\n _setValueIf(envTags, CtxTagKeys.sessionId, extApp.sesId);\r\n }\r\n var extDevice = itmExt.device;\r\n if (extDevice) {\r\n _setValueIf(envTags, CtxTagKeys.deviceId, extDevice.id || extDevice.localId);\r\n _setValueIf(envTags, CtxTagKeys[_DYN_DEVICE_TYPE /* @min:%2edeviceType */], extDevice.deviceClass);\r\n _setValueIf(envTags, CtxTagKeys.deviceIp, extDevice.ip);\r\n _setValueIf(envTags, CtxTagKeys.deviceModel, extDevice.model);\r\n _setValueIf(envTags, CtxTagKeys[_DYN_DEVICE_TYPE /* @min:%2edeviceType */], extDevice[_DYN_DEVICE_TYPE /* @min:%2edeviceType */]);\r\n }\r\n var web = item.ext.web;\r\n if (web) {\r\n _setValueIf(envTags, CtxTagKeys.deviceLanguage, web.browserLang);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowserVersion, web.browserVer);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowser, web.browser);\r\n var envData = env[_DYN_DATA /* @min:%2edata */] = env[_DYN_DATA /* @min:%2edata */] || {};\r\n var envBaseData = envData[strBaseData] = envData[strBaseData] || {};\r\n var envProps = envBaseData[strProperties] = envBaseData[strProperties] || {};\r\n _setValueIf(envProps, \"domain\", web.domain);\r\n _setValueIf(envProps, \"isManual\", web.isManual ? strTrue : null);\r\n _setValueIf(envProps, \"screenRes\", web.screenRes);\r\n _setValueIf(envProps, \"userConsent\", web.userConsent ? strTrue : null);\r\n }\r\n var extOs = itmExt.os;\r\n if (extOs) {\r\n _setValueIf(envTags, CtxTagKeys.deviceOS, extOs[_DYN_NAME /* @min:%2ename */]);\r\n _setValueIf(envTags, CtxTagKeys.deviceOSVersion, extOs.osVer);\r\n }\r\n // No support for mapping Trace.traceState to 2.0 as it is currently empty\r\n var extTrace = itmExt.trace;\r\n if (extTrace) {\r\n _setValueIf(envTags, CtxTagKeys.operationParentId, extTrace.parentID);\r\n _setValueIf(envTags, CtxTagKeys.operationName, dataSanitizeString(logger, extTrace[_DYN_NAME /* @min:%2ename */]));\r\n _setValueIf(envTags, CtxTagKeys.operationId, extTrace[_DYN_TRACE_ID /* @min:%2etraceID */]);\r\n }\r\n // Sample 4.0 schema\r\n // {\r\n // \"time\" : \"2018-09-05T22:51:22.4936Z\",\r\n // \"name\" : \"MetricWithNamespace\",\r\n // \"iKey\" : \"ABC-5a4cbd20-e601-4ef5-a3c6-5d6577e4398e\",\r\n // \"ext\": { \"cloud\": {\r\n // \"role\": \"WATSON3\",\r\n // \"roleInstance\": \"CO4AEAP00000260\"\r\n // },\r\n // \"device\": {}, \"correlation\": {} },\r\n // \"tags\": [\r\n // { \"amazon.region\" : \"east2\" },\r\n // { \"os.expid\" : \"wp:02df239\" }\r\n // ]\r\n // }\r\n var tgs = {};\r\n // deals with tags.push({object})\r\n for (var i = itmTags[_DYN_LENGTH /* @min:%2elength */] - 1; i >= 0; i--) {\r\n var tg = itmTags[i];\r\n objForEachKey(tg, function (key, value) {\r\n tgs[key] = value;\r\n });\r\n itmTags.splice(i, 1);\r\n }\r\n // deals with tags[key]=value (and handles hasOwnProperty)\r\n objForEachKey(itmTags, function (tg, value) {\r\n tgs[tg] = value;\r\n });\r\n var theTags = __assign(__assign({}, envTags), tgs);\r\n if (!theTags[CtxTagKeys.internalSdkVersion]) {\r\n // Append a version in case it is not already set\r\n theTags[CtxTagKeys.internalSdkVersion] = dataSanitizeString(logger, \"javascript:\".concat(EnvelopeCreator.Version), 64);\r\n }\r\n env[_DYN_TAGS /* @min:%2etags */] = optimizeObject(theTags);\r\n}\r\nfunction _extractPropsAndMeasurements(data, properties, measurements) {\r\n if (!isNullOrUndefined(data)) {\r\n objForEachKey(data, function (key, value) {\r\n if (isNumber(value)) {\r\n measurements[key] = value;\r\n }\r\n else if (isString(value)) {\r\n properties[key] = value;\r\n }\r\n else if (hasJSON()) {\r\n properties[key] = getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n }\r\n });\r\n }\r\n}\r\nfunction _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue) {\r\n if (!isNullOrUndefined(properties)) {\r\n objForEachKey(properties, function (key, value) {\r\n properties[key] = value || customUndefinedValue;\r\n });\r\n }\r\n}\r\n// TODO: Do we want this to take logger as arg or use this._logger as nonstatic?\r\nfunction _createEnvelope(logger, envelopeType, telemetryItem, data) {\r\n var envelope = new Envelope(logger, data, envelopeType);\r\n _setValueIf(envelope, \"sampleRate\", telemetryItem[SampleRate]);\r\n var startTime = (telemetryItem[strBaseData] || {}).startTime;\r\n if (isDate(startTime)) {\r\n // Starting from Version 3.0.3, the time property will be assigned by the startTime value,\r\n // which records the loadEvent time for the pageView event.\r\n envelope.time = toISOString(startTime);\r\n }\r\n envelope.iKey = telemetryItem.iKey;\r\n var iKeyNoDashes = telemetryItem.iKey.replace(/-/g, \"\");\r\n envelope[_DYN_NAME /* @min:%2ename */] = envelope[_DYN_NAME /* @min:%2ename */].replace(\"{0}\", iKeyNoDashes);\r\n // extract all extensions from ctx\r\n _extractPartAExtensions(logger, telemetryItem, envelope);\r\n // loop through the envelope tags (extension of Part A) and pick out the ones that should go in outgoing envelope tags\r\n telemetryItem[_DYN_TAGS /* @min:%2etags */] = telemetryItem[_DYN_TAGS /* @min:%2etags */] || [];\r\n return optimizeObject(envelope);\r\n}\r\nfunction EnvelopeCreatorInit(logger, telemetryItem) {\r\n if (isNullOrUndefined(telemetryItem[strBaseData])) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 46 /* _eInternalMessageId.TelemetryEnvelopeInvalid */, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n}\r\nexport var EnvelopeCreator = {\r\n Version: '3.4.1'\r\n};\r\nexport function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n if (isNullOrUndefined(bd)) {\r\n _warnToConsole(logger, \"Invalid input for dependency data\");\r\n return null;\r\n }\r\n var method = bd[strProperties] && bd[strProperties][HttpMethod] ? bd[strProperties][HttpMethod] : \"GET\";\r\n var remoteDepData = createRemoteDependencyData(logger, bd.id, bd.target, bd[_DYN_NAME /* @min:%2ename */], bd[STR_DURATION /* @min:%2eduration */], bd.success, bd[_DYN_RESPONSE_CODE /* @min:%2eresponseCode */], method, bd.type, bd.correlationContext, customProperties, customMeasurements);\r\n var data = _createData(RemoteDependencyDataType, remoteDepData);\r\n return _createEnvelope(logger, RemoteDependencyEnvelopeType, telemetryItem, data);\r\n}\r\nexport function RequestEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n var requestData = createRequestData(logger, bd.id, bd[_DYN_NAME /* @min:%2ename */], bd[STR_DURATION /* @min:%2eduration */], bd.success, bd[_DYN_RESPONSE_CODE /* @min:%2eresponseCode */], bd.source, bd.url, customProperties, customMeasurements);\r\n var data = _createData(RequestDataType, requestData);\r\n return _createEnvelope(logger, RequestDataType, telemetryItem, data);\r\n}\r\nexport function EventEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customProperties = {};\r\n var customMeasurements = {};\r\n if (telemetryItem[strBaseType] !== EventDataType) {\r\n customProperties[\"baseTypeSource\"] = telemetryItem[strBaseType]; // save the passed in base type as a property\r\n }\r\n if (telemetryItem[strBaseType] === EventDataType) { // take collection\r\n customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n }\r\n else { // if its not a known type, convert to custom event\r\n if (telemetryItem[strBaseData]) {\r\n _extractPropsAndMeasurements(telemetryItem[strBaseData], customProperties, customMeasurements);\r\n }\r\n }\r\n // Extract root level properties from part C telemetryItem.data\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var eventName = telemetryItem[strBaseData][_DYN_NAME /* @min:%2ename */];\r\n var eventData = new Event(logger, eventName, customProperties, customMeasurements);\r\n var data = _createData(EventDataType, eventData);\r\n return _createEnvelope(logger, EventEnvelopeType, telemetryItem, data);\r\n}\r\nexport function ExceptionEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Extract root level properties from part C telemetryItem.data\r\n var customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n var exData = Exception.CreateFromInterface(logger, bd, customProperties, customMeasurements);\r\n var data = _createData(ExceptionDataType, exData);\r\n return _createEnvelope(logger, ExceptionEnvelopeType, telemetryItem, data);\r\n}\r\nexport function MetricEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var baseData = telemetryItem[strBaseData];\r\n var props = baseData[strProperties] || {};\r\n var measurements = baseData[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseMetricData = new Metric(logger, baseData[_DYN_NAME /* @min:%2ename */], baseData.average, baseData.sampleCount, baseData.min, baseData.max, baseData.stdDev, props, measurements);\r\n var data = _createData(MetricDataType, baseMetricData);\r\n return _createEnvelope(logger, MetricEnvelopeType, telemetryItem, data);\r\n}\r\nexport function PageViewEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Since duration is not part of the domain properties in Common Schema, extract it from part C\r\n var duration;\r\n var baseData = telemetryItem[strBaseData];\r\n if (!isNullOrUndefined(baseData) &&\r\n !isNullOrUndefined(baseData[strProperties]) &&\r\n !isNullOrUndefined(baseData[strProperties][STR_DURATION])) { // from part B properties\r\n duration = baseData[strProperties][STR_DURATION];\r\n delete baseData[strProperties][STR_DURATION];\r\n }\r\n else if (!isNullOrUndefined(telemetryItem[_DYN_DATA /* @min:%2edata */]) &&\r\n !isNullOrUndefined(telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION])) { // from custom properties\r\n duration = telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION];\r\n delete telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION];\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n // special case: pageview.id is grabbed from current operation id. Analytics plugin is decoupled from properties plugin, so this is done here instead. This can be made a default telemetry intializer instead if needed to be decoupled from channel\r\n var currentContextId;\r\n if (((telemetryItem.ext || {}).trace || {})[_DYN_TRACE_ID /* @min:%2etraceID */]) {\r\n currentContextId = telemetryItem.ext.trace[_DYN_TRACE_ID /* @min:%2etraceID */];\r\n }\r\n var id = bd.id || currentContextId;\r\n var name = bd[_DYN_NAME /* @min:%2ename */];\r\n var url = bd.uri;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n // refUri is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.refUri)) {\r\n properties[\"refUri\"] = bd.refUri;\r\n }\r\n // pageType is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.pageType)) {\r\n properties[\"pageType\"] = bd.pageType;\r\n }\r\n // isLoggedIn is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.isLoggedIn)) {\r\n properties[\"isLoggedIn\"] = bd.isLoggedIn[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n // pageTags is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd[strProperties])) {\r\n var pageTags = bd[strProperties];\r\n objForEachKey(pageTags, function (key, value) {\r\n properties[key] = value;\r\n });\r\n }\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var pageViewData = new PageView(logger, name, url, duration, properties, measurements, id);\r\n var data = _createData(PageViewDataType, pageViewData);\r\n return _createEnvelope(logger, PageViewEnvelopeType, telemetryItem, data);\r\n}\r\nexport function PageViewPerformanceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var bd = telemetryItem[strBaseData];\r\n var name = bd[_DYN_NAME /* @min:%2ename */];\r\n var url = bd.uri || bd.url;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var baseData = new PageViewPerformance(logger, name, url, undefined, properties, measurements, bd);\r\n var data = _createData(PageViewPerformanceDataType, baseData);\r\n return _createEnvelope(logger, PageViewPerformanceEnvelopeType, telemetryItem, data);\r\n}\r\nexport function TraceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var message = telemetryItem[strBaseData].message;\r\n var severityLevel = telemetryItem[strBaseData].severityLevel;\r\n var props = telemetryItem[strBaseData][strProperties] || {};\r\n var measurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseData = new Trace(logger, message, severityLevel, props, measurements);\r\n var data = _createData(TraceDataType, baseData);\r\n return _createEnvelope(logger, TraceEnvelopeType, telemetryItem, data);\r\n}\r\n//# sourceMappingURL=EnvelopeCreator.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.4.1\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _throwInternal, arrForEach, arrIndexOf, dumpObj, getExceptionName, getJSON, isArray, isFunction, isNullOrUndefined, isString, utlGetSessionStorage, utlRemoveSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_BUFFER_OVERRIDE, _DYN_CLEAR, _DYN_CLEAR_SENT, _DYN_CONCAT, _DYN_COUNT, _DYN_EMIT_LINE_DELIMITED_0, _DYN_ENQUEUE, _DYN_LENGTH, _DYN_MARK_AS_SENT, _DYN_PUSH, _DYN_STRINGIFY, _DYN__BUFFER__KEY, _DYN__MAX__BUFFER__SIZE, _DYN__SENT__BUFFER__KEY } from \"./__DynamicConstants\";\r\nvar BaseSendBuffer = /** @class */ (function () {\r\n function BaseSendBuffer(logger, config) {\r\n var _buffer = [];\r\n var _bufferFullMessageSent = false;\r\n var _maxRetryCnt = config.maxRetryCnt;\r\n this._get = function () {\r\n return _buffer;\r\n };\r\n this._set = function (buffer) {\r\n _buffer = buffer;\r\n return _buffer;\r\n };\r\n dynamicProto(BaseSendBuffer, this, function (_self) {\r\n _self[_DYN_ENQUEUE /* @min:%2eenqueue */] = function (payload) {\r\n if (_self[_DYN_COUNT /* @min:%2ecount */]() >= config.eventsLimitInMem) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 105 /* _eInternalMessageId.InMemoryStorageBufferFull */, \"Maximum in-memory buffer size reached: \" + _self[_DYN_COUNT /* @min:%2ecount */](), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n payload.cnt = payload.cnt || 0;\r\n // max retry is defined, and max retry is reached, do not add the payload to buffer\r\n if (!isNullOrUndefined(_maxRetryCnt)) {\r\n if (payload.cnt > _maxRetryCnt) {\r\n // TODO: add log here on dropping payloads\r\n // will log statsbeat exception later here\r\n return;\r\n }\r\n }\r\n _buffer[_DYN_PUSH /* @min:%2epush */](payload);\r\n return;\r\n };\r\n _self[_DYN_COUNT /* @min:%2ecount */] = function () {\r\n return _buffer[_DYN_LENGTH /* @min:%2elength */];\r\n };\r\n _self.size = function () {\r\n var size = _buffer[_DYN_LENGTH /* @min:%2elength */];\r\n for (var lp = 0; lp < _buffer[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n size += (_buffer[lp].item)[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n if (!config[_DYN_EMIT_LINE_DELIMITED_0 /* @min:%2eemitLineDelimitedJson */]) {\r\n size += 2;\r\n }\r\n return size;\r\n };\r\n _self[_DYN_CLEAR /* @min:%2eclear */] = function () {\r\n _buffer = [];\r\n _bufferFullMessageSent = false;\r\n };\r\n _self.getItems = function () {\r\n return _buffer.slice(0);\r\n };\r\n _self.batchPayloads = function (payloads) {\r\n if (payloads && payloads[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var payloadStr_1 = [];\r\n arrForEach(payloads, function (payload) {\r\n payloadStr_1[_DYN_PUSH /* @min:%2epush */](payload.item);\r\n });\r\n var batch = config[_DYN_EMIT_LINE_DELIMITED_0 /* @min:%2eemitLineDelimitedJson */] ?\r\n payloadStr_1.join(\"\\n\") :\r\n \"[\" + payloadStr_1.join(\",\") + \"]\";\r\n return batch;\r\n }\r\n return null;\r\n };\r\n _self.createNew = function (newLogger, newConfig, canUseSessionStorage) {\r\n var items = _buffer.slice(0);\r\n newLogger = newLogger || logger;\r\n newConfig = newConfig || {};\r\n var newBuffer = !!canUseSessionStorage ? new SessionStorageSendBuffer(newLogger, newConfig) : new ArraySendBuffer(newLogger, newConfig);\r\n arrForEach(items, function (payload) {\r\n newBuffer[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n });\r\n return newBuffer;\r\n };\r\n });\r\n }\r\n// Removed Stub for BaseSendBuffer.prototype.enqueue.\r\n// Removed Stub for BaseSendBuffer.prototype.count.\r\n// Removed Stub for BaseSendBuffer.prototype.size.\r\n// Removed Stub for BaseSendBuffer.prototype.clear.\r\n// Removed Stub for BaseSendBuffer.prototype.getItems.\r\n// Removed Stub for BaseSendBuffer.prototype.batchPayloads.\r\n// Removed Stub for BaseSendBuffer.prototype.createNew.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n BaseSendBuffer.__ieDyn=1;\n\n return BaseSendBuffer;\r\n}());\r\n/*\r\n * An array based send buffer.\r\n */\r\nvar ArraySendBuffer = /** @class */ (function (_super) {\r\n __extends(ArraySendBuffer, _super);\r\n function ArraySendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n dynamicProto(ArraySendBuffer, _this, function (_self, _base) {\r\n _self[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */] = function (payload) {\r\n _base[_DYN_CLEAR /* @min:%2eclear */]();\r\n };\r\n _self[_DYN_CLEAR_SENT /* @min:%2eclearSent */] = function (payload) {\r\n // not supported\r\n };\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for ArraySendBuffer.prototype.markAsSent.\r\n// Removed Stub for ArraySendBuffer.prototype.clearSent.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n ArraySendBuffer.__ieDyn=1;\n\n return ArraySendBuffer;\r\n}(BaseSendBuffer));\r\nexport { ArraySendBuffer };\r\nvar PREVIOUS_KEYS = [\"AI_buffer\", \"AI_sentBuffer\"];\r\n/*\r\n * Session storage buffer holds a copy of all unsent items in the browser session storage.\r\n */\r\nvar SessionStorageSendBuffer = /** @class */ (function (_super) {\r\n __extends(SessionStorageSendBuffer, _super);\r\n function SessionStorageSendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n var _bufferFullMessageSent = false;\r\n //Note: should not use config.namePrefix directly, because it will always refers to the latest namePrefix\r\n var _namePrefix = config === null || config === void 0 ? void 0 : config.namePrefix;\r\n // TODO: add remove buffer override as well\r\n var _b = config[_DYN_BUFFER_OVERRIDE /* @min:%2ebufferOverride */] || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _b.getItem, setItem = _b.setItem;\r\n var _maxRetryCnt = config.maxRetryCnt;\r\n dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {\r\n var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */]);\r\n var itemsInSentBuffer = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n var previousItems = _getPreviousEvents();\r\n var notDeliveredItems = itemsInSentBuffer[_DYN_CONCAT /* @min:%2econcat */](previousItems);\r\n var buffer = _self._set(bufferItems[_DYN_CONCAT /* @min:%2econcat */](notDeliveredItems));\r\n // If the buffer has too many items, drop items from the end.\r\n if (buffer[_DYN_LENGTH /* @min:%2elength */] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n buffer[_DYN_LENGTH /* @min:%2elength */] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */];\r\n }\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], []);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], buffer);\r\n _self[_DYN_ENQUEUE /* @min:%2eenqueue */] = function (payload) {\r\n if (_self[_DYN_COUNT /* @min:%2ecount */]() >= SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, \"Maximum buffer size reached: \" + _self[_DYN_COUNT /* @min:%2ecount */](), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n payload.cnt = payload.cnt || 0;\r\n // max retry is defined, and max retry is reached, do not add the payload to buffer\r\n if (!isNullOrUndefined(_maxRetryCnt)) {\r\n if (payload.cnt > _maxRetryCnt) {\r\n // TODO: add log here on dropping payloads\r\n return;\r\n }\r\n }\r\n _base[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], _self._get());\r\n };\r\n _self[_DYN_CLEAR /* @min:%2eclear */] = function () {\r\n _base[_DYN_CLEAR /* @min:%2eclear */]();\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], _self._get());\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], []);\r\n _bufferFullMessageSent = false;\r\n };\r\n _self[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */] = function (payload) {\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], _self._set(_removePayloadsFromBuffer(payload, _self._get())));\r\n var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n if (sentElements instanceof Array && payload instanceof Array) {\r\n sentElements = sentElements[_DYN_CONCAT /* @min:%2econcat */](payload);\r\n if (sentElements[_DYN_LENGTH /* @min:%2elength */] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n // We send telemetry normally. If the SENT_BUFFER is too big we don't add new elements\r\n // until we receive a response from the backend and the buffer has free space again (see clearSent method)\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, \"Sent buffer reached its maximum size: \" + sentElements[_DYN_LENGTH /* @min:%2elength */], true);\r\n sentElements[_DYN_LENGTH /* @min:%2elength */] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */];\r\n }\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], sentElements);\r\n }\r\n };\r\n _self[_DYN_CLEAR_SENT /* @min:%2eclearSent */] = function (payload) {\r\n var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n sentElements = _removePayloadsFromBuffer(payload, sentElements);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], sentElements);\r\n };\r\n _self.createNew = function (newLogger, newConfig, canUseSessionStorage) {\r\n canUseSessionStorage = !!canUseSessionStorage;\r\n var unsentItems = _self._get().slice(0);\r\n var sentItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]).slice(0);\r\n newLogger = newLogger || logger;\r\n newConfig = newConfig || {};\r\n // to make sure that we do not send duplicated payloads when it is switched back to previous one\r\n _self[_DYN_CLEAR /* @min:%2eclear */]();\r\n var newBuffer = canUseSessionStorage ? new SessionStorageSendBuffer(newLogger, newConfig) : new ArraySendBuffer(newLogger, newConfig);\r\n arrForEach(unsentItems, function (payload) {\r\n newBuffer[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n });\r\n if (canUseSessionStorage) {\r\n // arr buffer will clear all payloads if markAsSent() is called\r\n newBuffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](sentItems);\r\n }\r\n return newBuffer;\r\n };\r\n function _removePayloadsFromBuffer(payloads, buffer) {\r\n var remaining = [];\r\n var payloadStr = [];\r\n arrForEach(payloads, function (payload) {\r\n payloadStr[_DYN_PUSH /* @min:%2epush */](payload.item);\r\n });\r\n arrForEach(buffer, function (value) {\r\n if (!isFunction(value) && arrIndexOf(payloadStr, value.item) === -1) {\r\n remaining[_DYN_PUSH /* @min:%2epush */](value);\r\n }\r\n });\r\n return remaining;\r\n }\r\n function _getBuffer(key) {\r\n var prefixedKey = key;\r\n prefixedKey = _namePrefix ? _namePrefix + \"_\" + prefixedKey : prefixedKey;\r\n return _getBufferBase(prefixedKey);\r\n }\r\n function _getBufferBase(key) {\r\n try {\r\n var bufferJson = getItem(logger, key);\r\n if (bufferJson) {\r\n var buffer_1 = getJSON().parse(bufferJson);\r\n if (isString(buffer_1)) {\r\n // When using some version prototype.js the stringify / parse cycle does not decode array's correctly\r\n buffer_1 = getJSON().parse(buffer_1);\r\n }\r\n if (buffer_1 && isArray(buffer_1)) {\r\n return buffer_1;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 42 /* _eInternalMessageId.FailedToRestoreStorageBuffer */, \" storage key: \" + key + \", \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return [];\r\n }\r\n function _setBuffer(key, buffer) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = _namePrefix ? _namePrefix + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = JSON[_DYN_STRINGIFY /* @min:%2estringify */](buffer);\r\n setItem(logger, prefixedKey, bufferJson);\r\n }\r\n catch (e) {\r\n // if there was an error, clear the buffer\r\n // telemetry is stored in the _buffer array so we won't loose any items\r\n setItem(logger, prefixedKey, JSON[_DYN_STRINGIFY /* @min:%2estringify */]([]));\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 41 /* _eInternalMessageId.FailedToSetStorageBuffer */, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e) + \". Buffer cleared\", { exception: dumpObj(e) });\r\n }\r\n }\r\n // this removes buffer with prefix+key\r\n function _getPreviousEvents() {\r\n var items = [];\r\n try {\r\n arrForEach(PREVIOUS_KEYS, function (key) {\r\n var events = _getItemsFromPreviousKey(key);\r\n items = items[_DYN_CONCAT /* @min:%2econcat */](events);\r\n // to make sure that we also transfer items from old prefixed + key buffer\r\n if (_namePrefix) {\r\n var prefixedKey = _namePrefix + \"_\" + key;\r\n var prefixEvents = _getItemsFromPreviousKey(prefixedKey);\r\n items = items[_DYN_CONCAT /* @min:%2econcat */](prefixEvents);\r\n }\r\n });\r\n return items;\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 41 /* _eInternalMessageId.FailedToSetStorageBuffer */, \"Transfer events from previous buffers: \" + getExceptionName(e) + \". previous Buffer items can not be removed\", { exception: dumpObj(e) });\r\n }\r\n return [];\r\n }\r\n // transform string[] to IInternalStorageItem[]\r\n function _getItemsFromPreviousKey(key) {\r\n try {\r\n var items = _getBufferBase(key);\r\n var transFormedItems_1 = [];\r\n arrForEach(items, function (item) {\r\n var internalItem = {\r\n item: item,\r\n cnt: 0 // previous events will be default to 0 count\r\n };\r\n transFormedItems_1[_DYN_PUSH /* @min:%2epush */](internalItem);\r\n });\r\n // remove the session storage if we can add events back\r\n utlRemoveSessionStorage(logger, key);\r\n return transFormedItems_1;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return [];\r\n }\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for SessionStorageSendBuffer.prototype.enqueue.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.clear.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.markAsSent.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.clearSent.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.createNew.\r\n var _a;\r\n _a = SessionStorageSendBuffer;\r\n SessionStorageSendBuffer.VERSION = \"_1\";\r\n SessionStorageSendBuffer.BUFFER_KEY = \"AI_buffer\" + _a.VERSION;\r\n SessionStorageSendBuffer.SENT_BUFFER_KEY = \"AI_sentBuffer\" + _a.VERSION;\r\n // Maximum number of payloads stored in the buffer. If the buffer is full, new elements will be dropped.\r\n SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;\r\n return SessionStorageSendBuffer;\r\n}(BaseSendBuffer));\r\nexport { SessionStorageSendBuffer };\r\n//# sourceMappingURL=SendBuffer.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.4.1\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _throwInternal, getJSON, isArray, isFunction, isNullOrUndefined, isObject, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_PUSH, _DYN_STRINGIFY, _DYN_TO_STRING } from \"./__DynamicConstants\";\r\n/**\r\n * Used to \"tag\" objects that are currently being serialized to detect circular references\r\n */\r\nvar circularReferenceCheck = \"__aiCircularRefCheck\";\r\nfunction _serializeObject(logger, source, name) {\r\n var output = {};\r\n if (!source) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, \"cannot serialize object because it is null or undefined\", { name: name }, true);\r\n return output;\r\n }\r\n if (source[circularReferenceCheck]) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 50 /* _eInternalMessageId.CircularReferenceDetected */, \"Circular reference detected while serializing object\", { name: name }, true);\r\n return output;\r\n }\r\n if (!source.aiDataContract) {\r\n // special case for measurements/properties/tags\r\n if (name === \"measurements\") {\r\n output = _serializeStringMap(logger, source, 2 /* eSerializeType.Number */, name);\r\n }\r\n else if (name === \"properties\") {\r\n output = _serializeStringMap(logger, source, 1 /* eSerializeType.String */, name);\r\n }\r\n else if (name === \"tags\") {\r\n output = _serializeStringMap(logger, source, 1 /* eSerializeType.String */, name);\r\n }\r\n else if (isArray(source)) {\r\n output = _serializeArray(logger, source, name);\r\n }\r\n else {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 49 /* _eInternalMessageId.CannotSerializeObjectNonSerializable */, \"Attempting to serialize an object which does not implement ISerializable\", { name: name }, true);\r\n try {\r\n // verify that the object can be stringified\r\n getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](source);\r\n output = source;\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, (e && isFunction(e[_DYN_TO_STRING /* @min:%2etoString */])) ? e[_DYN_TO_STRING /* @min:%2etoString */]() : \"Error serializing object\", null, true);\r\n }\r\n }\r\n return output;\r\n }\r\n source[circularReferenceCheck] = true;\r\n objForEachKey(source.aiDataContract, function (field, contract) {\r\n var fieldType = isFunction(contract) ? contract() : contract;\r\n var isRequired = fieldType & 1 /* FieldType.Required */;\r\n var isHidden = fieldType & 4 /* FieldType.Hidden */;\r\n var isArray = fieldType & 2 /* FieldType.Array */;\r\n var isPresent = source[field] !== undefined;\r\n var isObj = isObject(source[field]) && source[field] !== null;\r\n if (isRequired && !isPresent && !isArray) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 24 /* _eInternalMessageId.MissingRequiredFieldSpecification */, \"Missing required field specification. The field is required but not present on source\", { field: field, name: name });\r\n // If not in debug mode, continue and hope the error is permissible\r\n }\r\n else if (!isHidden) { // Don't serialize hidden fields\r\n var value = void 0;\r\n if (isObj) {\r\n if (isArray) {\r\n // special case; recurse on each object in the source array\r\n value = _serializeArray(logger, source[field], field);\r\n }\r\n else {\r\n // recurse on the source object in this field\r\n value = _serializeObject(logger, source[field], field);\r\n }\r\n }\r\n else {\r\n // assign the source field to the output even if undefined or required\r\n value = source[field];\r\n }\r\n // only emit this field if the value is defined\r\n if (value !== undefined) {\r\n output[field] = value;\r\n }\r\n }\r\n });\r\n delete source[circularReferenceCheck];\r\n return output;\r\n}\r\nfunction _serializeArray(logger, sources, name) {\r\n var output;\r\n if (!!sources) {\r\n if (!isArray(sources)) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 54 /* _eInternalMessageId.ItemNotInArray */, \"This field was specified as an array in the contract but the item is not an array.\\r\\n\", { name: name }, true);\r\n }\r\n else {\r\n output = [];\r\n for (var i = 0; i < sources[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var source = sources[i];\r\n var item = _serializeObject(logger, source, name + \"[\" + i + \"]\");\r\n output[_DYN_PUSH /* @min:%2epush */](item);\r\n }\r\n }\r\n }\r\n return output;\r\n}\r\nfunction _serializeStringMap(logger, map, expectedType, name) {\r\n var output;\r\n if (map) {\r\n output = {};\r\n objForEachKey(map, function (field, value) {\r\n var serializedValue;\r\n if (value === undefined) {\r\n serializedValue = \"undefined\";\r\n }\r\n else if (value === null) {\r\n serializedValue = \"null\";\r\n }\r\n if (expectedType === 1 /* eSerializeType.String */ && !serializedValue) {\r\n if (!value[_DYN_TO_STRING /* @min:%2etoString */]) {\r\n serializedValue = \"invalid field: toString() is not defined.\";\r\n }\r\n else {\r\n serializedValue = value[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n }\r\n else if (expectedType === 2 /* eSerializeType.Number */ && !serializedValue) {\r\n serializedValue = parseFloat(value);\r\n }\r\n if (serializedValue || !isNullOrUndefined(value)) {\r\n output[field] = serializedValue;\r\n }\r\n });\r\n }\r\n return output;\r\n}\r\nvar Serializer = /** @class */ (function () {\r\n function Serializer(logger) {\r\n dynamicProto(Serializer, this, function (_self) {\r\n /**\r\n * Serializes the current object to a JSON string.\r\n */\r\n _self.serialize = function (input) {\r\n var output = _serializeObject(logger, input, \"root\");\r\n try {\r\n return getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](output);\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, (e && isFunction(e[_DYN_TO_STRING /* @min:%2etoString */])) ? e[_DYN_TO_STRING /* @min:%2etoString */]() : \"Error serializing object\", null, true);\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for Serializer.prototype.serialize.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n Serializer.__ieDyn=1;\n\n return Serializer;\r\n}());\r\nexport { Serializer };\r\n//# sourceMappingURL=Serializer.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.4.1\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { mathAbs } from \"@nevware21/ts-utils\";\r\nimport { _DYN_CONCAT, _DYN_LENGTH } from \"../../__DynamicConstants\";\r\n// (Magic number) DJB algorithm can't work on shorter strings (results in poor distribution\r\nvar MIN_INPUT_LENGTH = 8;\r\n// We're using 32 bit math, hence max value is (2^31 - 1)\r\nvar INT_MAX_VALUE = 2147483647;\r\nexport function getHashCodeScore(key) {\r\n var score = 0;\r\n var input = key;\r\n if (input) {\r\n while (input[_DYN_LENGTH /* @min:%2elength */] < MIN_INPUT_LENGTH) {\r\n input = input[_DYN_CONCAT /* @min:%2econcat */](input);\r\n }\r\n // 5381 is a magic number: http://stackoverflow.com/questions/10696223/reason-for-5381-number-in-djb-hash-function\r\n var hash = 5381;\r\n for (var i = 0; i < input[_DYN_LENGTH /* @min:%2elength */]; ++i) {\r\n hash = ((hash << 5) + hash) + input.charCodeAt(i);\r\n // 'hash' is of number type which means 53 bit integer (http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types-number-type)\r\n // 'hash & hash' will keep it 32 bit integer - just to make it clearer what the result is.\r\n hash = hash & hash;\r\n }\r\n score = mathAbs(hash) / INT_MAX_VALUE;\r\n }\r\n return score * 100;\r\n}\r\n//# sourceMappingURL=HashCodeScoreGenerator.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.4.1\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { ContextTagKeys } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_TAGS, _DYN_TRACE_ID } from \"../../__DynamicConstants\";\r\nimport { getHashCodeScore } from \"./HashCodeScoreGenerator\";\r\nexport function createSamplingScoreGenerator() {\r\n var keys = new ContextTagKeys();\r\n return {\r\n getScore: function (item) {\r\n var score = 0;\r\n if (item[_DYN_TAGS /* @min:%2etags */] && item[_DYN_TAGS /* @min:%2etags */][keys.userId]) { // search in tags first, then ext\r\n score = getHashCodeScore(item[_DYN_TAGS /* @min:%2etags */][keys.userId]);\r\n }\r\n else if (item.ext && item.ext.user && item.ext.user.id) {\r\n score = getHashCodeScore(item.ext.user.id);\r\n }\r\n else if (item[_DYN_TAGS /* @min:%2etags */] && item[_DYN_TAGS /* @min:%2etags */][keys.operationId]) { // search in tags first, then ext\r\n score = getHashCodeScore(item[_DYN_TAGS /* @min:%2etags */][keys.operationId]);\r\n }\r\n else if (item.ext && item.ext.telemetryTrace && item.ext.telemetryTrace[_DYN_TRACE_ID /* @min:%2etraceID */]) {\r\n score = getHashCodeScore(item.ext.telemetryTrace[_DYN_TRACE_ID /* @min:%2etraceID */]);\r\n }\r\n else {\r\n // tslint:disable-next-line:insecure-random\r\n score = (Math.random() * 100);\r\n }\r\n return score;\r\n }\r\n };\r\n}\r\n//# sourceMappingURL=SamplingScoreGenerator.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.4.1\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { MetricDataType, _throwInternal } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_BASE_TYPE, _DYN_SAMPLE_RATE } from \"../__DynamicConstants\";\r\nimport { createSamplingScoreGenerator } from \"./SamplingScoreGenerators/SamplingScoreGenerator\";\r\nfunction _isSampledIn(envelope, samplingPercentage, scoreGenerator) {\r\n var isSampledIn = false;\r\n if (samplingPercentage === null || samplingPercentage === undefined || samplingPercentage >= 100) {\r\n isSampledIn = true;\r\n }\r\n else if (envelope[_DYN_BASE_TYPE /* @min:%2ebaseType */] === MetricDataType) {\r\n // exclude MetricData telemetry from sampling\r\n isSampledIn = true;\r\n }\r\n if (!isSampledIn) {\r\n isSampledIn = scoreGenerator.getScore(envelope) < samplingPercentage;\r\n }\r\n return isSampledIn;\r\n}\r\nexport function createSampler(sampleRate, logger) {\r\n var _samplingScoreGenerator = createSamplingScoreGenerator();\r\n if (sampleRate > 100 || sampleRate < 0) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 58 /* _eInternalMessageId.SampleRateOutOfRange */, \"Sampling rate is out of range (0..100). Sampling will be disabled, you may be sending too much data which may affect your AI service level.\", { samplingRate: sampleRate }, true);\r\n sampleRate = 100;\r\n }\r\n var sampler = {\r\n sampleRate: sampleRate,\r\n generator: _samplingScoreGenerator,\r\n isSampledIn: function (envelope) {\r\n return _isSampledIn(envelope, sampler[_DYN_SAMPLE_RATE /* @min:%2esampleRate */], sampler.generator);\r\n }\r\n };\r\n return sampler;\r\n}\r\n//# sourceMappingURL=Sample.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.4.1\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nvar _a, _b;\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { ActiveStatus, BaseTelemetryPlugin, BreezeChannelIdentifier, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, EventDataType, ExceptionDataType, MetricDataType, PageViewDataType, PageViewPerformanceDataType, ProcessLegacy, RemoteDependencyDataType, RequestDataType, RequestHeaders, SampleRate, SenderPostManager, TraceDataType, _throwInternal, _warnToConsole, arrForEach, cfgDfBoolean, cfgDfValidate, createOfflineListener, createProcessTelemetryContext, createUniqueNamespace, dateNow, dumpObj, formatErrorMessageXdr, formatErrorMessageXhr, getExceptionName, getIEVersion, isArray, isBeaconsSupported, isFeatureEnabled, isFetchSupported, isInternalApplicationInsightsEndpoint, isNullOrUndefined, mergeEvtNamespace, objExtend, onConfigChange, parseResponse, prependTransports, runTargetUnload, utlCanUseSessionStorage, utlSetStoragePrefix } from \"@microsoft/applicationinsights-core-js\";\r\nimport { createPromise, doAwait, doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { getInst, isFunction, isNumber, isPromiseLike, isString, isTruthy, mathFloor, mathMax, mathMin, objDeepFreeze, objDefine, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { DependencyEnvelopeCreator, EventEnvelopeCreator, ExceptionEnvelopeCreator, MetricEnvelopeCreator, PageViewEnvelopeCreator, PageViewPerformanceEnvelopeCreator, RequestEnvelopeCreator, TraceEnvelopeCreator } from \"./EnvelopeCreator\";\r\nimport { ArraySendBuffer, SessionStorageSendBuffer } from \"./SendBuffer\";\r\nimport { Serializer } from \"./Serializer\";\r\nimport { createSampler } from \"./TelemetryProcessors/Sample\";\r\nimport { _DYN_ALWAYS_USE_XHR_OVERR4, _DYN_BASE_TYPE, _DYN_BUFFER_OVERRIDE, _DYN_CLEAR, _DYN_CLEAR_SENT, _DYN_COUNT, _DYN_CUSTOM_HEADERS, _DYN_DIAG_LOG, _DYN_DISABLE_SEND_BEACON_7, _DYN_EMIT_LINE_DELIMITED_0, _DYN_ENABLE_SESSION_STORA5, _DYN_ENDPOINT_URL, _DYN_ENQUEUE, _DYN_GET_SENDER_INST, _DYN_INITIALIZE, _DYN_INSTRUMENTATION_KEY, _DYN_IS_BEACON_API_DISABL3, _DYN_ITEMS_ACCEPTED, _DYN_ITEMS_RECEIVED, _DYN_LENGTH, _DYN_MARK_AS_SENT, _DYN_MAX_BATCH_SIZE_IN_BY1, _DYN_ONUNLOAD_DISABLE_BEA2, _DYN_ONUNLOAD_DISABLE_FET6, _DYN_PUSH, _DYN_SAMPLE_RATE, _DYN_TAGS, _DYN_TRIGGER_SEND, _DYN__BUFFER, _DYN__ON_ERROR, _DYN__ON_PARTIAL_SUCCESS, _DYN__ON_SUCCESS, _DYN__SENDER } from \"./__DynamicConstants\";\r\nvar UNDEFINED_VALUE = undefined;\r\nvar EMPTY_STR = \"\";\r\nvar FetchSyncRequestSizeLimitBytes = 65000; // approx 64kb (the current Edge, Firefox and Chrome max limit)\r\nfunction _getResponseText(xhr) {\r\n try {\r\n return xhr.responseText;\r\n }\r\n catch (e) {\r\n // Best effort, as XHR may throw while XDR wont so just ignore\r\n }\r\n return null;\r\n}\r\nfunction isOverrideFn(httpXHROverride) {\r\n return httpXHROverride && httpXHROverride.sendPOST;\r\n}\r\nvar defaultAppInsightsChannelConfig = objDeepFreeze((_a = {\r\n // Use the default value (handles empty string in the configuration)\r\n endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)\r\n },\r\n _a[_DYN_EMIT_LINE_DELIMITED_0 /* @min:emitLineDelimitedJson */] = cfgDfBoolean(),\r\n _a.maxBatchInterval = 15000,\r\n _a[_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:maxBatchSizeInBytes */] = 102400,\r\n _a.disableTelemetry = cfgDfBoolean(),\r\n _a[_DYN_ENABLE_SESSION_STORA5 /* @min:enableSessionStorageBuffer */] = cfgDfBoolean(true),\r\n _a.isRetryDisabled = cfgDfBoolean(),\r\n _a[_DYN_IS_BEACON_API_DISABL3 /* @min:isBeaconApiDisabled */] = cfgDfBoolean(true),\r\n _a[_DYN_DISABLE_SEND_BEACON_7 /* @min:disableSendBeaconSplit */] = cfgDfBoolean(true),\r\n _a.disableXhr = cfgDfBoolean(),\r\n _a[_DYN_ONUNLOAD_DISABLE_FET6 /* @min:onunloadDisableFetch */] = cfgDfBoolean(),\r\n _a[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:onunloadDisableBeacon */] = cfgDfBoolean(),\r\n _a[_DYN_INSTRUMENTATION_KEY /* @min:instrumentationKey */] = UNDEFINED_VALUE,\r\n _a.namePrefix = UNDEFINED_VALUE,\r\n _a.samplingPercentage = cfgDfValidate(_chkSampling, 100),\r\n _a[_DYN_CUSTOM_HEADERS /* @min:customHeaders */] = UNDEFINED_VALUE,\r\n _a.convertUndefined = UNDEFINED_VALUE,\r\n _a.eventsLimitInMem = 10000,\r\n _a[_DYN_BUFFER_OVERRIDE /* @min:bufferOverride */] = false,\r\n _a.httpXHROverride = { isVal: isOverrideFn, v: UNDEFINED_VALUE },\r\n _a[_DYN_ALWAYS_USE_XHR_OVERR4 /* @min:alwaysUseXhrOverride */] = cfgDfBoolean(),\r\n _a.transports = UNDEFINED_VALUE,\r\n _a.retryCodes = UNDEFINED_VALUE,\r\n _a.corsPolicy = UNDEFINED_VALUE,\r\n _a.maxRetryCnt = { isVal: isNumber, v: 10 },\r\n _a));\r\nvar CrossOriginResourcePolicyHeader = \"X-Set-Cross-Origin-Resource-Policy\";\r\nfunction _chkSampling(value) {\r\n return !isNaN(value) && value > 0 && value <= 100;\r\n}\r\nvar EnvelopeTypeCreator = (_b = {},\r\n _b[EventDataType] = EventEnvelopeCreator,\r\n _b[TraceDataType] = TraceEnvelopeCreator,\r\n _b[PageViewDataType] = PageViewEnvelopeCreator,\r\n _b[PageViewPerformanceDataType] = PageViewPerformanceEnvelopeCreator,\r\n _b[ExceptionDataType] = ExceptionEnvelopeCreator,\r\n _b[MetricDataType] = MetricEnvelopeCreator,\r\n _b[RemoteDependencyDataType] = DependencyEnvelopeCreator,\r\n _b[RequestDataType] = RequestEnvelopeCreator,\r\n _b);\r\nvar Sender = /** @class */ (function (_super) {\r\n __extends(Sender, _super);\r\n function Sender() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 1001;\r\n _this.identifier = BreezeChannelIdentifier;\r\n // Don't set the defaults here, set them in the _initDefaults() as this is also called during unload\r\n var _consecutiveErrors; // How many times in a row a retryable error condition has occurred.\r\n var _retryAt; // The time to retry at in milliseconds from 1970/01/01 (this makes the timer calculation easy).\r\n var _lastSend; // The time of the last send operation.\r\n var _paused; // Flag indicating that the sending should be paused\r\n var _timeoutHandle; // Handle to the timer for delayed sending of batches of data.\r\n var _serializer;\r\n var _stamp_specific_redirects;\r\n var _headers;\r\n var _syncFetchPayload = 0; // Keep track of the outstanding sync fetch payload total (as sync fetch has limits)\r\n var _syncUnloadSender; // The identified sender to use for the synchronous unload stage\r\n var _offlineListener;\r\n var _evtNamespace;\r\n var _endpointUrl;\r\n var _orgEndpointUrl;\r\n var _maxBatchSizeInBytes;\r\n var _beaconSupported;\r\n var _beaconOnUnloadSupported;\r\n var _beaconNormalSupported;\r\n var _customHeaders;\r\n var _disableTelemetry;\r\n var _instrumentationKey;\r\n var _convertUndefined;\r\n var _isRetryDisabled;\r\n var _maxBatchInterval;\r\n var _sessionStorageUsed;\r\n var _bufferOverrideUsed;\r\n var _namePrefix;\r\n var _enableSendPromise;\r\n var _alwaysUseCustomSend;\r\n var _disableXhr;\r\n var _fetchKeepAlive;\r\n var _xhrSend;\r\n var _fallbackSend;\r\n var _disableBeaconSplit;\r\n var _sendPostMgr;\r\n var _retryCodes;\r\n var _zipPayload;\r\n dynamicProto(Sender, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.pause = function () {\r\n _clearScheduledTimer();\r\n _paused = true;\r\n };\r\n _self.resume = function () {\r\n if (_paused) {\r\n _paused = false;\r\n _retryAt = null;\r\n // flush if we have exceeded the max-size already\r\n _checkMaxSize();\r\n _setupTimer();\r\n }\r\n };\r\n _self.flush = function (isAsync, callBack, sendReason) {\r\n if (isAsync === void 0) { isAsync = true; }\r\n if (!_paused) {\r\n // Clear the normal schedule timer as we are going to try and flush ASAP\r\n _clearScheduledTimer();\r\n try {\r\n var result_1 = _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](isAsync, null, sendReason || 1 /* SendRequestReason.ManualFlush */);\r\n // Handles non-promise and always called if the returned promise resolves or rejects\r\n return doAwaitResponse(result_1, function (rsp) {\r\n if (callBack) {\r\n callBack(!rsp.rejected);\r\n return true;\r\n }\r\n // When async=true and no callback, return a promise\r\n if (isAsync) {\r\n return createPromise(function (resolve) {\r\n resolve(!rsp.rejected);\r\n });\r\n }\r\n return result_1;\r\n });\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 22 /* _eInternalMessageId.FlushFailed */, \"flush failed, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n };\r\n _self.onunloadFlush = function () {\r\n if (!_paused) {\r\n if (_beaconSupported || _alwaysUseCustomSend) {\r\n try {\r\n return _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, _doUnloadSend, 2 /* SendRequestReason.Unload */);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 20 /* _eInternalMessageId.FailedToSendQueuedTelemetry */, \"failed to flush with beacon sender on page unload, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n else {\r\n _self.flush(false);\r\n }\r\n }\r\n };\r\n _self.addHeader = function (name, value) {\r\n _headers[name] = value;\r\n };\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, core, extensions, pluginChain) {\r\n if (_self.isInitialized()) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"Sender is already initialized\");\r\n }\r\n _base[_DYN_INITIALIZE /* @min:%2einitialize */](config, core, extensions, pluginChain);\r\n var identifier = _self.identifier;\r\n _serializer = new Serializer(core.logger);\r\n _consecutiveErrors = 0;\r\n _retryAt = null;\r\n _lastSend = 0;\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = null;\r\n _stamp_specific_redirects = 0;\r\n var diagLog = _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"Sender\"), core.evtNamespace && core.evtNamespace());\r\n _offlineListener = createOfflineListener(_evtNamespace);\r\n // This function will be re-called whenever any referenced configuration is changed\r\n _self._addHook(onConfigChange(config, function (details) {\r\n var config = details.cfg;\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n // getExtCfg only finds undefined values from core\r\n var senderConfig = ctx.getExtCfg(identifier, defaultAppInsightsChannelConfig);\r\n var curExtUrl = senderConfig[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */];\r\n // if it is not inital change (_endpointUrl has value)\r\n // if current sender endpoint url is not changed directly\r\n // means ExtCfg is not changed directly\r\n // then we need to monitor endpoint url changes from core\r\n if (_endpointUrl && curExtUrl === _endpointUrl) {\r\n var coreUrl = config[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */];\r\n // if core endpoint url is changed\r\n if (coreUrl && coreUrl !== curExtUrl) {\r\n // and endpoint promise changes is handled by this as well\r\n senderConfig[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */] = coreUrl;\r\n }\r\n }\r\n var csStream = getInst(\"CompressionStream\");\r\n // Determine whether to enable payload compression (zipping).\r\n _zipPayload = isFeatureEnabled(\"zipPayload\", config, false);\r\n if (!isFunction(csStream)) {\r\n _zipPayload = false;\r\n }\r\n var corsPolicy = senderConfig.corsPolicy;\r\n if (corsPolicy) {\r\n if (corsPolicy === \"same-origin\" || corsPolicy === \"same-site\" || corsPolicy === \"cross-origin\") {\r\n _this.addHeader(CrossOriginResourcePolicyHeader, corsPolicy);\r\n }\r\n }\r\n else {\r\n delete _headers[CrossOriginResourcePolicyHeader];\r\n }\r\n if (isPromiseLike(senderConfig[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */])) {\r\n // if it is promise, means the endpoint url is from core.endpointurl\r\n senderConfig[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */] = config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n }\r\n objDefine(_self, \"_senderConfig\", {\r\n g: function () {\r\n return senderConfig;\r\n }\r\n });\r\n // Only update the endpoint if the original config !== the current config\r\n // This is so any redirect endpointUrl is not overwritten\r\n if (_orgEndpointUrl !== senderConfig[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]) {\r\n if (_orgEndpointUrl) {\r\n // TODO: add doc to remind users to flush before changing endpoint, otherwise all unsent payload will be sent to new endpoint\r\n }\r\n _endpointUrl = _orgEndpointUrl = senderConfig[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */];\r\n }\r\n // or is not string\r\n if (core.activeStatus() === ActiveStatus.PENDING) {\r\n // waiting for core promises to be resolved\r\n // NOTE: if active status is set to pending, stop sending, clear timer here\r\n _self.pause();\r\n }\r\n else if (core.activeStatus() === ActiveStatus.ACTIVE) {\r\n // core status changed from pending to other status\r\n _self.resume();\r\n }\r\n if (_customHeaders && _customHeaders !== senderConfig[_DYN_CUSTOM_HEADERS /* @min:%2ecustomHeaders */]) {\r\n // Removing any previously defined custom headers as they have changed\r\n arrForEach(_customHeaders, function (customHeader) {\r\n delete _headers[customHeader.header];\r\n });\r\n }\r\n _maxBatchSizeInBytes = senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:%2emaxBatchSizeInBytes */];\r\n _beaconSupported = (senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:%2eonunloadDisableBeacon */] === false || senderConfig[_DYN_IS_BEACON_API_DISABL3 /* @min:%2eisBeaconApiDisabled */] === false) && isBeaconsSupported();\r\n _beaconOnUnloadSupported = senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:%2eonunloadDisableBeacon */] === false && isBeaconsSupported();\r\n _beaconNormalSupported = senderConfig[_DYN_IS_BEACON_API_DISABL3 /* @min:%2eisBeaconApiDisabled */] === false && isBeaconsSupported();\r\n _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 /* @min:%2ealwaysUseXhrOverride */];\r\n _disableXhr = !!senderConfig.disableXhr;\r\n _retryCodes = senderConfig.retryCodes;\r\n var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE /* @min:%2ebufferOverride */];\r\n var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 /* @min:%2eenableSessionStorageBuffer */] &&\r\n (!!bufferOverride || utlCanUseSessionStorage());\r\n var namePrefix = senderConfig.namePrefix;\r\n //Note: emitLineDelimitedJson and eventsLimitInMem is directly accessed via config in senderBuffer\r\n //Therefore, if canUseSessionStorage is not changed, we do not need to re initialize a new one\r\n var shouldUpdate = (canUseSessionStorage !== _sessionStorageUsed)\r\n || (canUseSessionStorage && (_namePrefix !== namePrefix)) // prefixName is only used in session storage\r\n || (canUseSessionStorage && (_bufferOverrideUsed !== bufferOverride));\r\n if (_self[_DYN__BUFFER /* @min:%2e_buffer */]) {\r\n // case1 (Pre and Now enableSessionStorageBuffer settings are same)\r\n // if namePrefix changes, transfer current buffer to new buffer\r\n // else no action needed\r\n //case2 (Pre and Now enableSessionStorageBuffer settings are changed)\r\n // transfer current buffer to new buffer\r\n if (shouldUpdate) {\r\n try {\r\n _self[_DYN__BUFFER /* @min:%2e_buffer */] = _self[_DYN__BUFFER /* @min:%2e_buffer */].createNew(diagLog, senderConfig, canUseSessionStorage);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 12 /* _eInternalMessageId.FailedAddingTelemetryToBuffer */, \"failed to transfer telemetry to different buffer storage, telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n _checkMaxSize();\r\n }\r\n else {\r\n _self[_DYN__BUFFER /* @min:%2e_buffer */] = canUseSessionStorage\r\n ? new SessionStorageSendBuffer(diagLog, senderConfig) : new ArraySendBuffer(diagLog, senderConfig);\r\n }\r\n _namePrefix = namePrefix;\r\n _sessionStorageUsed = canUseSessionStorage;\r\n _bufferOverrideUsed = bufferOverride;\r\n _fetchKeepAlive = !senderConfig[_DYN_ONUNLOAD_DISABLE_FET6 /* @min:%2eonunloadDisableFetch */] && isFetchSupported(true);\r\n _disableBeaconSplit = !!senderConfig[_DYN_DISABLE_SEND_BEACON_7 /* @min:%2edisableSendBeaconSplit */];\r\n _self._sample = createSampler(senderConfig.samplingPercentage, diagLog);\r\n _instrumentationKey = senderConfig[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n if (!isPromiseLike(_instrumentationKey) && !_validateInstrumentationKey(_instrumentationKey, config)) {\r\n _throwInternal(diagLog, 1 /* eLoggingSeverity.CRITICAL */, 100 /* _eInternalMessageId.InvalidInstrumentationKey */, \"Invalid Instrumentation key \" + _instrumentationKey);\r\n }\r\n _customHeaders = senderConfig[_DYN_CUSTOM_HEADERS /* @min:%2ecustomHeaders */];\r\n if (isString(_endpointUrl) && !isInternalApplicationInsightsEndpoint(_endpointUrl) && _customHeaders && _customHeaders[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(_customHeaders, function (customHeader) {\r\n _this.addHeader(customHeader.header, customHeader.value);\r\n });\r\n }\r\n else {\r\n _customHeaders = null;\r\n }\r\n _enableSendPromise = senderConfig.enableSendPromise;\r\n var sendPostConfig = _getSendPostMgrConfig();\r\n // only init it once\r\n if (!_sendPostMgr) {\r\n _sendPostMgr = new SenderPostManager();\r\n _sendPostMgr[_DYN_INITIALIZE /* @min:%2einitialize */](sendPostConfig, diagLog);\r\n }\r\n else {\r\n _sendPostMgr.SetConfig(sendPostConfig);\r\n }\r\n var customInterface = senderConfig.httpXHROverride;\r\n var httpInterface = null;\r\n var syncInterface = null;\r\n // User requested transport(s) values > Beacon > Fetch > XHR\r\n // Beacon would be filtered out if user has set disableBeaconApi to true at _getSenderInterface\r\n var theTransports = prependTransports([3 /* TransportType.Beacon */, 1 /* TransportType.Xhr */, 2 /* TransportType.Fetch */], senderConfig.transports);\r\n httpInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_SENDER_INST /* @min:%2egetSenderInst */](theTransports, false);\r\n var xhrInterface = _sendPostMgr && _sendPostMgr.getFallbackInst();\r\n _xhrSend = function (payload, isAsync) {\r\n return _doSend(xhrInterface, payload, isAsync);\r\n };\r\n _fallbackSend = function (payload, isAsync) {\r\n return _doSend(xhrInterface, payload, isAsync, false);\r\n };\r\n httpInterface = _alwaysUseCustomSend ? customInterface : (httpInterface || customInterface || xhrInterface);\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = function (payload, isAsync) {\r\n return _doSend(httpInterface, payload, isAsync);\r\n };\r\n if (_fetchKeepAlive) {\r\n // Try and use the fetch with keepalive\r\n _syncUnloadSender = _fetchKeepAliveSender;\r\n }\r\n var syncTransports = prependTransports([3 /* TransportType.Beacon */, 1 /* TransportType.Xhr */], senderConfig.unloadTransports);\r\n if (!_fetchKeepAlive) {\r\n // remove fetch from theTransports\r\n syncTransports = syncTransports.filter(function (transport) { return transport !== 2 /* TransportType.Fetch */; });\r\n }\r\n syncInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_SENDER_INST /* @min:%2egetSenderInst */](syncTransports, true);\r\n syncInterface = _alwaysUseCustomSend ? customInterface : (syncInterface || customInterface);\r\n if ((_alwaysUseCustomSend || senderConfig.unloadTransports || !_syncUnloadSender) && syncInterface) {\r\n _syncUnloadSender = function (payload, isAsync) {\r\n return _doSend(syncInterface, payload, isAsync);\r\n };\r\n }\r\n if (!_syncUnloadSender) {\r\n _syncUnloadSender = _xhrSend;\r\n }\r\n _disableTelemetry = senderConfig.disableTelemetry;\r\n _convertUndefined = senderConfig.convertUndefined || UNDEFINED_VALUE;\r\n _isRetryDisabled = senderConfig.isRetryDisabled;\r\n _maxBatchInterval = senderConfig.maxBatchInterval;\r\n }));\r\n };\r\n _self.processTelemetry = function (telemetryItem, itemCtx) {\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n var diagLogger = itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n try {\r\n var isValidate = _validate(telemetryItem, diagLogger);\r\n if (!isValidate) {\r\n return;\r\n }\r\n var aiEnvelope = _getEnvelope(telemetryItem, diagLogger);\r\n if (!aiEnvelope) {\r\n return;\r\n }\r\n // check if the incoming payload is too large, truncate if necessary\r\n var payload = _serializer.serialize(aiEnvelope);\r\n // flush if we would exceed the max-size limit by adding this item\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n _checkMaxSize(payload);\r\n var payloadItem = {\r\n item: payload,\r\n cnt: 0 // inital cnt will always be 0\r\n };\r\n // enqueue the payload\r\n buffer[_DYN_ENQUEUE /* @min:%2eenqueue */](payloadItem);\r\n // ensure an invocation timeout is set\r\n _setupTimer();\r\n }\r\n catch (e) {\r\n _throwInternal(diagLogger, 2 /* eLoggingSeverity.WARNING */, 12 /* _eInternalMessageId.FailedAddingTelemetryToBuffer */, \"Failed adding telemetry to the sender's buffer, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n // hand off the telemetry item to the next plugin\r\n _self.processNext(telemetryItem, itemCtx);\r\n };\r\n _self.isCompletelyIdle = function () {\r\n return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT /* @min:%2ecount */]() === 0;\r\n };\r\n _self.getOfflineListener = function () {\r\n return _offlineListener;\r\n };\r\n /**\r\n * xhr state changes\r\n */\r\n _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {\r\n // since version 3.2.0, this function is no-op\r\n if (_isStringArr(payload)) {\r\n return;\r\n }\r\n return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);\r\n };\r\n /**\r\n * Immediately send buffered data\r\n * @param isAsync - Indicates if the events should be sent asynchronously\r\n * @param forcedSender - Indicates the forcedSender, undefined if not passed\r\n */\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */] = function (isAsync, forcedSender, sendReason) {\r\n if (isAsync === void 0) { isAsync = true; }\r\n var result;\r\n if (!_paused) {\r\n try {\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n // Send data only if disableTelemetry is false\r\n if (!_disableTelemetry) {\r\n if (buffer[_DYN_COUNT /* @min:%2ecount */]() > 0) {\r\n var payload = buffer.getItems();\r\n _notifySendRequest(sendReason || 0 /* SendRequestReason.Undefined */, isAsync);\r\n // invoke send\r\n if (forcedSender) {\r\n result = forcedSender.call(_self, payload, isAsync);\r\n }\r\n else {\r\n result = _self[_DYN__SENDER /* @min:%2e_sender */](payload, isAsync);\r\n }\r\n }\r\n // update lastSend time to enable throttling\r\n _lastSend = +new Date;\r\n }\r\n else {\r\n buffer[_DYN_CLEAR /* @min:%2eclear */]();\r\n }\r\n _clearScheduledTimer();\r\n }\r\n catch (e) {\r\n /* Ignore this error for IE under v10 */\r\n var ieVer = getIEVersion();\r\n if (!ieVer || ieVer > 9) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 40 /* _eInternalMessageId.TransmissionFailed */, \"Telemetry transmission failed, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n // potential place to call countException q3\r\n }\r\n }\r\n return result;\r\n };\r\n _self.getOfflineSupport = function () {\r\n return {\r\n getUrl: function () {\r\n return _endpointUrl;\r\n },\r\n createPayload: _createPayload,\r\n serialize: _serialize,\r\n batch: _batch,\r\n shouldProcess: function (evt) {\r\n return !!_validate(evt);\r\n }\r\n };\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _self.onunloadFlush();\r\n runTargetUnload(_offlineListener, false);\r\n _initDefaults();\r\n };\r\n /**\r\n * error handler\r\n */\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */] = function (payload, message, event) {\r\n // since version 3.1.3, string[] is no-op\r\n if (_isStringArr(payload)) {\r\n return;\r\n }\r\n return _onError(payload, message, event);\r\n };\r\n /**\r\n * partial success handler\r\n */\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */] = function (payload, results) {\r\n // since version 3.1.3, string[] is no-op\r\n if (_isStringArr(payload)) {\r\n return;\r\n }\r\n return _onPartialSuccess(payload, results);\r\n };\r\n /**\r\n * success handler\r\n */\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */] = function (payload, countOfItemsInPayload) {\r\n // since version 3.1.3, string[] is no-op\r\n if (_isStringArr(payload)) {\r\n return;\r\n }\r\n return _onSuccess(payload, countOfItemsInPayload);\r\n //_self._buffer && _self._buffer.clearSent(payload);\r\n };\r\n /**\r\n * xdr state changes\r\n */\r\n _self._xdrOnLoad = function (xdr, payload) {\r\n // since version 3.1.3, string[] is no-op\r\n if (_isStringArr(payload)) {\r\n return;\r\n }\r\n return _xdrOnLoad(xdr, payload);\r\n };\r\n // function _getStatsBeat() {\r\n // let statsBeatConfig: IStatsBeatState = {\r\n // cKey: _self._senderConfig.instrumentationKey,\r\n // endpoint: _endpointUrl,\r\n // sdkVer: EnvelopeCreator.Version,\r\n // type: eStatsType.SDK\r\n // };\r\n // let core = _self.core;\r\n // // During page unload the core may have been cleared and some async events may not have been sent yet\r\n // // resulting in the core being null. In this case we don't want to create a statsbeat instance\r\n // return core ? core.getStatsBeat(statsBeatConfig) : null;\r\n // }\r\n function _xdrOnLoad(xdr, payload) {\r\n var responseText = _getResponseText(xdr);\r\n if (xdr && (responseText + \"\" === \"200\" || responseText === \"\")) {\r\n _consecutiveErrors = 0;\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, 0);\r\n }\r\n else {\r\n var results = parseResponse(responseText);\r\n if (results && results[_DYN_ITEMS_RECEIVED /* @min:%2eitemsReceived */] && results[_DYN_ITEMS_RECEIVED /* @min:%2eitemsReceived */] > results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */]\r\n && !_isRetryDisabled) {\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */](payload, results);\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, formatErrorMessageXdr(xdr));\r\n }\r\n }\r\n }\r\n function _getSendPostMgrConfig() {\r\n try {\r\n var onCompleteFuncs = {\r\n xdrOnComplete: function (xdr, oncomplete, payload) {\r\n var payloadArr = _getPayloadArr(payload);\r\n if (!payloadArr) {\r\n return;\r\n }\r\n //const responseText = _getResponseText(xdr);\r\n // let statsbeat = _getStatsBeat();\r\n // if (statsbeat) {\r\n // if (xdr && (responseText + \"\" === \"200\" || responseText === \"\")) {\r\n // _consecutiveErrors = 0;\r\n // statsbeat.count(200, payload, _endpointUrl);\r\n // } else {\r\n // const results = parseResponse(responseText);\r\n // if (results && results.itemsReceived && results.itemsReceived > results.itemsAccepted\r\n // && !_isRetryDisabled) {\r\n // statsbeat.count(206, payload, _endpointUrl);\r\n // } else {\r\n // statsbeat.count(499, payload, _endpointUrl);\r\n // }\r\n // }\r\n // }\r\n return _xdrOnLoad(xdr, payloadArr);\r\n },\r\n fetchOnComplete: function (response, onComplete, resValue, payload) {\r\n var payloadArr = _getPayloadArr(payload);\r\n if (!payloadArr) {\r\n return;\r\n }\r\n // let statsbeat = _getStatsBeat();\r\n // if (statsbeat) {\r\n // statsbeat.count(response.status, payload, _endpointUrl);\r\n // }\r\n return _checkResponsStatus(response.status, payloadArr, response.url, payloadArr[_DYN_LENGTH /* @min:%2elength */], response.statusText, resValue || \"\");\r\n },\r\n xhrOnComplete: function (request, oncomplete, payload) {\r\n var payloadArr = _getPayloadArr(payload);\r\n if (!payloadArr) {\r\n return;\r\n }\r\n // let statsbeat = _getStatsBeat();\r\n // if (statsbeat && request.readyState === 4) {\r\n // statsbeat.count(request.status, payload, _endpointUrl);\r\n // }\r\n return _xhrReadyStateChange(request, payloadArr, payloadArr[_DYN_LENGTH /* @min:%2elength */]);\r\n },\r\n beaconOnRetry: function (data, onComplete, canSend) {\r\n // let statsbeat = _getStatsBeat();\r\n // if (statsbeat) {\r\n // statsbeat.count(499, data, _endpointUrl);\r\n // }\r\n return _onBeaconRetry(data, onComplete, canSend);\r\n }\r\n };\r\n var config = {\r\n enableSendPromise: _enableSendPromise,\r\n isOneDs: false,\r\n disableCredentials: false,\r\n disableXhr: _disableXhr,\r\n disableBeacon: !_beaconNormalSupported,\r\n disableBeaconSync: !_beaconOnUnloadSupported,\r\n senderOnCompleteCallBack: onCompleteFuncs\r\n };\r\n return config;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n }\r\n /**\r\n * xhr state changes\r\n */\r\n function _xhrReadyStateChange(xhr, payload, countOfItemsInPayload) {\r\n if (xhr.readyState === 4) {\r\n _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);\r\n }\r\n }\r\n /**\r\n * error handler\r\n */\r\n function _onError(payload, message, event) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 26 /* _eInternalMessageId.OnError */, \"Failed to send telemetry.\", { message: message });\r\n _self._buffer && _self._buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n }\r\n /**\r\n * partial success handler\r\n */\r\n function _onPartialSuccess(payload, results) {\r\n var failed = [];\r\n var retry = [];\r\n // Iterate through the reversed array of errors so that splicing doesn't have invalid indexes after the first item.\r\n var errors = results.errors.reverse();\r\n for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {\r\n var error = errors_1[_i];\r\n var extracted = payload.splice(error.index, 1)[0];\r\n if (_isRetriable(error.statusCode)) {\r\n retry[_DYN_PUSH /* @min:%2epush */](extracted);\r\n }\r\n else {\r\n // All other errors, including: 402 (Monthly quota exceeded) and 439 (Too many requests and refresh cache).\r\n failed[_DYN_PUSH /* @min:%2epush */](extracted);\r\n }\r\n }\r\n if (payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */]);\r\n }\r\n if (failed[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](failed, formatErrorMessageXhr(null, [\"partial success\", results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */], \"of\", results.itemsReceived].join(\" \")));\r\n }\r\n if (retry[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _resendPayload(retry);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \"Partial success. \" +\r\n \"Delivered: \" + payload[_DYN_LENGTH /* @min:%2elength */] + \", Failed: \" + failed[_DYN_LENGTH /* @min:%2elength */] +\r\n \". Will retry to send \" + retry[_DYN_LENGTH /* @min:%2elength */] + \" our of \" + results[_DYN_ITEMS_RECEIVED /* @min:%2eitemsReceived */] + \" items\");\r\n }\r\n }\r\n /**\r\n * success handler\r\n */\r\n function _onSuccess(payload, countOfItemsInPayload) {\r\n _self._buffer && _self._buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n }\r\n function _getPayloadArr(payload) {\r\n try {\r\n if (payload) {\r\n var internalPayload = payload;\r\n var arr = internalPayload.oriPayload;\r\n if (arr && arr[_DYN_LENGTH /* @min:%2elength */]) {\r\n return arr;\r\n }\r\n return null;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n }\r\n function _validate(telemetryItem, diagLogger) {\r\n if (_disableTelemetry) {\r\n // Do not send/save data\r\n return false;\r\n }\r\n // validate input\r\n if (!telemetryItem) {\r\n diagLogger && _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 7 /* _eInternalMessageId.CannotSendEmptyTelemetry */, \"Cannot send empty telemetry\");\r\n return false;\r\n }\r\n // validate event\r\n if (telemetryItem.baseData && !telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */]) {\r\n diagLogger && _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 70 /* _eInternalMessageId.InvalidEvent */, \"Cannot send telemetry without baseData and baseType\");\r\n return false;\r\n }\r\n if (!telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */]) {\r\n // Default\r\n telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */] = \"EventData\";\r\n }\r\n // ensure a sender was constructed\r\n if (!_self[_DYN__SENDER /* @min:%2e_sender */]) {\r\n diagLogger && _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"Sender was not initialized\");\r\n return false;\r\n }\r\n // check if this item should be sampled in, else add sampleRate tag\r\n var sampleRate = telemetryItem[_DYN_SAMPLE_RATE /* @min:%2esampleRate */];\r\n if (isNullOrUndefined(sampleRate) || !isNumber(sampleRate) || sampleRate < 0 || sampleRate > 100) {\r\n if (!_isSampledIn(telemetryItem)) {\r\n // Item is sampled out, do not send it\r\n diagLogger && _throwInternal(diagLogger, 2 /* eLoggingSeverity.WARNING */, 33 /* _eInternalMessageId.TelemetrySampledAndNotSent */, \"Telemetry item was sampled out and not sent\", { SampleRate: _self._sample[_DYN_SAMPLE_RATE /* @min:%2esampleRate */] });\r\n return false;\r\n }\r\n else {\r\n telemetryItem[SampleRate] = _self._sample[_DYN_SAMPLE_RATE /* @min:%2esampleRate */];\r\n }\r\n }\r\n return true;\r\n }\r\n function _getEnvelope(telemetryItem, diagLogger) {\r\n // construct an envelope that Application Insights endpoint can understand\r\n // if ikey of telemetry is provided and not empty, envelope will use this iKey instead of senderConfig iKey\r\n var defaultEnvelopeIkey = telemetryItem.iKey || _instrumentationKey;\r\n var aiEnvelope = Sender.constructEnvelope(telemetryItem, defaultEnvelopeIkey, diagLogger, _convertUndefined);\r\n if (!aiEnvelope) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 47 /* _eInternalMessageId.CreateEnvelopeError */, \"Unable to create an AppInsights envelope\");\r\n return;\r\n }\r\n var doNotSendItem = false;\r\n // this is for running in legacy mode, where customer may already have a custom initializer present\r\n if (telemetryItem[_DYN_TAGS /* @min:%2etags */] && telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy]) {\r\n arrForEach(telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy], function (callBack) {\r\n try {\r\n if (callBack && callBack(aiEnvelope) === false) {\r\n doNotSendItem = true;\r\n _warnToConsole(diagLogger, \"Telemetry processor check returns false\");\r\n }\r\n }\r\n catch (e) {\r\n // log error but dont stop executing rest of the telemetry initializers\r\n // doNotSendItem = true;\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"One of telemetry initializers failed, telemetry item will not be sent: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n });\r\n delete telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy];\r\n }\r\n if (doNotSendItem) {\r\n return; // do not send, no need to execute next plugin\r\n }\r\n return aiEnvelope;\r\n }\r\n function _serialize(item) {\r\n var rlt = EMPTY_STR;\r\n var diagLogger = _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n try {\r\n var valid = _validate(item, diagLogger);\r\n var envelope = null;\r\n if (valid) {\r\n envelope = _getEnvelope(item, diagLogger);\r\n }\r\n if (envelope) {\r\n rlt = _serializer.serialize(envelope);\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return rlt;\r\n }\r\n function _batch(arr) {\r\n var rlt = EMPTY_STR;\r\n if (arr && arr[_DYN_LENGTH /* @min:%2elength */]) {\r\n rlt = \"[\" + arr.join(\",\") + \"]\";\r\n }\r\n return rlt;\r\n }\r\n function _createPayload(data) {\r\n var headers = _getHeaders();\r\n return {\r\n urlString: _endpointUrl,\r\n data: data,\r\n headers: headers\r\n };\r\n }\r\n function _isSampledIn(envelope) {\r\n return _self._sample.isSampledIn(envelope);\r\n }\r\n function _getOnComplete(payload, status, headers, response) {\r\n // ***********************************************************************************************\r\n //TODO: handle other status codes\r\n if (status === 200 && payload) {\r\n _self._onSuccess(payload, payload[_DYN_LENGTH /* @min:%2elength */]);\r\n }\r\n else {\r\n response && _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, response);\r\n }\r\n }\r\n function _doSend(sendInterface, payload, isAsync, markAsSent) {\r\n if (markAsSent === void 0) { markAsSent = true; }\r\n var onComplete = function (status, headers, response) {\r\n // let statsbeat = _getStatsBeat();\r\n // if (statsbeat) {\r\n // statsbeat.count(status, payloadData, _endpointUrl);\r\n // }\r\n return _getOnComplete(payload, status, headers, response);\r\n };\r\n var payloadData = _getPayload(payload);\r\n // if (payloadData) {\r\n // payloadData.statsBeatData = {startTime: dateNow()};\r\n // }\r\n var sendPostFunc = sendInterface && sendInterface.sendPOST;\r\n if (sendPostFunc && payloadData) {\r\n // ***********************************************************************************************\r\n // mark payload as sent at the beginning of calling each send function\r\n if (markAsSent) {\r\n _self._buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n }\r\n var result_2;\r\n var callbackExecuted_1 = false;\r\n var resolveFn_1;\r\n var rejectFn_1;\r\n _sendPostMgr.preparePayload(function (processedPayload) {\r\n result_2 = sendPostFunc(processedPayload, onComplete, !isAsync);\r\n callbackExecuted_1 = true;\r\n if (resolveFn_1) {\r\n doAwait(result_2, resolveFn_1, rejectFn_1);\r\n }\r\n }, _zipPayload, payloadData, !isAsync);\r\n if (callbackExecuted_1) {\r\n return result_2;\r\n }\r\n // Callback was not executed synchronously, so we need to return a promise\r\n return createPromise(function (resolve, reject) {\r\n resolveFn_1 = resolve;\r\n rejectFn_1 = reject;\r\n });\r\n }\r\n return null;\r\n }\r\n function _getPayload(payload) {\r\n if (isArray(payload) && payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var batch = _self[_DYN__BUFFER /* @min:%2e_buffer */].batchPayloads(payload);\r\n var headers = _getHeaders();\r\n var payloadData = {\r\n data: batch,\r\n urlString: _endpointUrl,\r\n headers: headers,\r\n disableXhrSync: _disableXhr,\r\n disableFetchKeepAlive: !_fetchKeepAlive,\r\n oriPayload: payload\r\n };\r\n return payloadData;\r\n }\r\n return null;\r\n }\r\n function _getHeaders() {\r\n try {\r\n var headers = _headers || {};\r\n if (isInternalApplicationInsightsEndpoint(_endpointUrl)) {\r\n headers[RequestHeaders[6 /* eRequestHeaders.sdkContextHeader */]] = RequestHeaders[7 /* eRequestHeaders.sdkContextHeaderAppIdRequest */];\r\n }\r\n return headers;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n }\r\n function _checkMaxSize(incomingPayload) {\r\n var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH /* @min:%2elength */] : 0;\r\n if ((_self[_DYN__BUFFER /* @min:%2e_buffer */].size() + incomingSize) > _maxBatchSizeInBytes) {\r\n if (!_offlineListener || _offlineListener.isOnline()) { // only trigger send when currently online\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 10 /* SendRequestReason.MaxBatchSize */);\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n function _checkResponsStatus(status, payload, responseUrl, countOfItemsInPayload, errorMessage, res) {\r\n var response = null;\r\n if (!_self._appId) {\r\n response = parseResponse(res);\r\n if (response && response.appId) {\r\n _self._appId = response.appId;\r\n }\r\n }\r\n if ((status < 200 || status >= 300) && status !== 0) {\r\n // Update End Point url if permanent redirect or moved permanently\r\n // Updates the end point url before retry\r\n if (status === 301 || status === 307 || status === 308) {\r\n if (!_checkAndUpdateEndPointUrl(responseUrl)) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n return;\r\n }\r\n }\r\n if (_offlineListener && !_offlineListener.isOnline()) { // offline\r\n // Note: Don't check for status == 0, since adblock gives this code\r\n if (!_isRetryDisabled) {\r\n var offlineBackOffMultiplier = 10; // arbritrary number\r\n _resendPayload(payload, offlineBackOffMultiplier);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". Offline - Response Code: \".concat(status, \". Offline status: \").concat(!_offlineListener.isOnline(), \". Will retry to send \").concat(payload.length, \" items.\"));\r\n }\r\n return;\r\n }\r\n if (!_isRetryDisabled && _isRetriable(status)) {\r\n _resendPayload(payload);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" +\r\n \"Response code \" + status + \". Will retry to send \" + payload[_DYN_LENGTH /* @min:%2elength */] + \" items.\");\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n }\r\n }\r\n else {\r\n // check if the xhr's responseURL or fetch's response.url is same as endpoint url\r\n // TODO after 10 redirects force send telemetry with 'redirect=false' as query parameter.\r\n _checkAndUpdateEndPointUrl(responseUrl);\r\n if (status === 206) {\r\n if (!response) {\r\n response = parseResponse(res);\r\n }\r\n if (response && !_isRetryDisabled) {\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */](payload, response);\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n }\r\n }\r\n else {\r\n _consecutiveErrors = 0;\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, countOfItemsInPayload);\r\n }\r\n }\r\n }\r\n function _checkAndUpdateEndPointUrl(responseUrl) {\r\n // Maximum stamp specific redirects allowed(uncomment this when breeze is ready with not allowing redirects feature)\r\n if (_stamp_specific_redirects >= 10) {\r\n // _self._senderConfig.endpointUrl = () => Sender._getDefaultAppInsightsChannelConfig().endpointUrl()+\"/?redirect=false\";\r\n // _stamp_specific_redirects = 0;\r\n return false;\r\n }\r\n if (!isNullOrUndefined(responseUrl) && responseUrl !== \"\") {\r\n if (responseUrl !== _endpointUrl) {\r\n _endpointUrl = responseUrl;\r\n ++_stamp_specific_redirects;\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n function _doUnloadSend(payload, isAsync) {\r\n if (_syncUnloadSender) {\r\n // We are unloading so always call the sender with sync set to false\r\n _syncUnloadSender(payload, false);\r\n }\r\n else {\r\n // Fallback to the previous beacon Sender (which causes a CORB warning on chrome now)\r\n var beaconInst = _sendPostMgr && _sendPostMgr[_DYN_GET_SENDER_INST /* @min:%2egetSenderInst */]([3 /* TransportType.Beacon */], true);\r\n return _doSend(beaconInst, payload, isAsync);\r\n }\r\n }\r\n function _onBeaconRetry(payload, onComplete, canSend) {\r\n var internalPayload = payload;\r\n var data = internalPayload && internalPayload.oriPayload;\r\n if (!_disableBeaconSplit) {\r\n // Failed to send entire payload so try and split data and try to send as much events as possible\r\n var droppedPayload = [];\r\n for (var lp = 0; lp < data[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var thePayload = data[lp];\r\n var arr = [thePayload];\r\n var item = _getPayload(arr);\r\n if (!canSend(item, onComplete)) {\r\n // Can't send anymore, so split the batch and drop the rest\r\n droppedPayload[_DYN_PUSH /* @min:%2epush */](thePayload);\r\n }\r\n else {\r\n _self._onSuccess(arr, arr[_DYN_LENGTH /* @min:%2elength */]);\r\n }\r\n }\r\n if (droppedPayload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _fallbackSend && _fallbackSend(droppedPayload, true);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with normal sender.\");\r\n }\r\n }\r\n else {\r\n _fallbackSend && _fallbackSend(data, true);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with normal sender.\");\r\n }\r\n }\r\n function _isStringArr(arr) {\r\n try {\r\n if (arr && arr[_DYN_LENGTH /* @min:%2elength */]) {\r\n return (isString(arr[0]));\r\n }\r\n }\r\n catch (e) {\r\n //TODO: log, sender use IInternalStorageItem instead of string since 3.1.3\r\n }\r\n return null;\r\n }\r\n function _fetchKeepAliveSender(payload, isAsync) {\r\n var transport = null;\r\n if (isArray(payload)) {\r\n var payloadSize = payload[_DYN_LENGTH /* @min:%2elength */];\r\n for (var lp = 0; lp < payload[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n payloadSize += payload[lp].item[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();\r\n if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {\r\n transport = 2 /* TransportType.Fetch */;\r\n }\r\n else if (isBeaconsSupported()) {\r\n // Fallback to beacon sender as we at least get told which events can't be scheduled\r\n transport = 3 /* TransportType.Beacon */;\r\n }\r\n else {\r\n // Payload is going to be too big so just try and send via XHR\r\n transport = 1 /* TransportType.Xhr */;\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with xhrSender.\");\r\n }\r\n var inst = _sendPostMgr && _sendPostMgr[_DYN_GET_SENDER_INST /* @min:%2egetSenderInst */]([transport], true);\r\n return _doSend(inst, payload, isAsync);\r\n }\r\n return null;\r\n }\r\n /**\r\n * Resend payload. Adds payload back to the send buffer and setup a send timer (with exponential backoff).\r\n * @param payload\r\n */\r\n function _resendPayload(payload, linearFactor) {\r\n if (linearFactor === void 0) { linearFactor = 1; }\r\n if (!payload || payload[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n return;\r\n }\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n _consecutiveErrors++;\r\n for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {\r\n var item = payload_1[_i];\r\n item.cnt = item.cnt || 0; // to make sure we have cnt for each payload\r\n item.cnt++; // when resend, increase cnt\r\n buffer[_DYN_ENQUEUE /* @min:%2eenqueue */](item);\r\n }\r\n // setup timer\r\n _setRetryTime(linearFactor);\r\n _setupTimer();\r\n }\r\n /**\r\n * Calculates the time to wait before retrying in case of an error based on\r\n * http://en.wikipedia.org/wiki/Exponential_backoff\r\n */\r\n function _setRetryTime(linearFactor) {\r\n var SlotDelayInSeconds = 10;\r\n var delayInSeconds;\r\n if (_consecutiveErrors <= 1) {\r\n delayInSeconds = SlotDelayInSeconds;\r\n }\r\n else {\r\n var backOffSlot = (Math.pow(2, _consecutiveErrors) - 1) / 2;\r\n // tslint:disable-next-line:insecure-random\r\n var backOffDelay = mathFloor(Math.random() * backOffSlot * SlotDelayInSeconds) + 1;\r\n backOffDelay = linearFactor * backOffDelay;\r\n delayInSeconds = mathMax(mathMin(backOffDelay, 3600), SlotDelayInSeconds);\r\n }\r\n // TODO: Log the backoff time like the C# version does.\r\n var retryAfterTimeSpan = dateNow() + (delayInSeconds * 1000);\r\n // TODO: Log the retry at time like the C# version does.\r\n _retryAt = retryAfterTimeSpan;\r\n }\r\n /**\r\n * Sets up the timer which triggers actually sending the data.\r\n */\r\n function _setupTimer() {\r\n if (!_timeoutHandle && !_paused) {\r\n var retryInterval = _retryAt ? mathMax(0, _retryAt - dateNow()) : 0;\r\n var timerValue = mathMax(_maxBatchInterval, retryInterval);\r\n _timeoutHandle = scheduleTimeout(function () {\r\n _timeoutHandle = null;\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 1 /* SendRequestReason.NormalSchedule */);\r\n }, timerValue);\r\n }\r\n }\r\n function _clearScheduledTimer() {\r\n _timeoutHandle && _timeoutHandle.cancel();\r\n _timeoutHandle = null;\r\n _retryAt = null;\r\n }\r\n /**\r\n * Checks if the SDK should resend the payload after receiving this status code from the backend.\r\n * @param statusCode\r\n */\r\n function _isRetriable(statusCode) {\r\n // retryCodes = [] means should not retry\r\n if (!isNullOrUndefined(_retryCodes)) {\r\n return _retryCodes[_DYN_LENGTH /* @min:%2elength */] && _retryCodes.indexOf(statusCode) > -1;\r\n }\r\n return statusCode === 401 // Unauthorized\r\n // Removing as private links can return a 403 which causes excessive retries and session storage usage\r\n // || statusCode === 403 // Forbidden\r\n || statusCode === 408 // Timeout\r\n || statusCode === 429 // Too many requests.\r\n || statusCode === 500 // Internal server error.\r\n || statusCode === 502 // Bad Gateway.\r\n || statusCode === 503 // Service unavailable.\r\n || statusCode === 504; // Gateway timeout.\r\n }\r\n // Using function lookups for backward compatibility as the getNotifyMgr() did not exist until after v2.5.6\r\n function _getNotifyMgr() {\r\n var func = \"getNotifyMgr\";\r\n var result;\r\n var core = _self.core;\r\n if (core) {\r\n // During page unload the core may have been cleared and some async events may not have been sent yet\r\n // resulting in the core being null. In this case we don't want to create a statsbeat instance\r\n if (core[func]) {\r\n result = core[func]();\r\n }\r\n else {\r\n // using _self.core['_notificationManager'] for backward compatibility\r\n result = core[\"_notificationManager\"];\r\n }\r\n }\r\n return result;\r\n }\r\n function _notifySendRequest(sendRequest, isAsync) {\r\n var manager = _getNotifyMgr();\r\n if (manager && manager.eventsSendRequest) {\r\n try {\r\n manager.eventsSendRequest(sendRequest, isAsync);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 74 /* _eInternalMessageId.NotificationException */, \"send request notification failed: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n }\r\n /**\r\n * Validate UUID Format\r\n * Specs taken from https://tools.ietf.org/html/rfc4122 and breeze repo\r\n */\r\n function _validateInstrumentationKey(instrumentationKey, config) {\r\n var disableValidation = config.disableInstrumentationKeyValidation;\r\n var disableIKeyValidationFlag = isNullOrUndefined(disableValidation) ? false : disableValidation;\r\n if (disableIKeyValidationFlag) {\r\n return true;\r\n }\r\n var UUID_Regex = \"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$\";\r\n var regexp = new RegExp(UUID_Regex);\r\n return regexp.test(instrumentationKey);\r\n }\r\n function _initDefaults() {\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = null;\r\n _self[_DYN__BUFFER /* @min:%2e_buffer */] = null;\r\n _self._appId = null;\r\n _self._sample = null;\r\n _headers = {};\r\n _offlineListener = null;\r\n _consecutiveErrors = 0;\r\n _retryAt = null;\r\n _lastSend = null;\r\n _paused = false;\r\n _timeoutHandle = null;\r\n _serializer = null;\r\n _stamp_specific_redirects = 0;\r\n _syncFetchPayload = 0;\r\n _syncUnloadSender = null;\r\n _evtNamespace = null;\r\n _endpointUrl = null;\r\n _orgEndpointUrl = null;\r\n _maxBatchSizeInBytes = 0;\r\n _beaconSupported = false;\r\n _customHeaders = null;\r\n _disableTelemetry = false;\r\n _instrumentationKey = null;\r\n _convertUndefined = UNDEFINED_VALUE;\r\n _isRetryDisabled = false;\r\n _sessionStorageUsed = null;\r\n _namePrefix = UNDEFINED_VALUE;\r\n _disableXhr = false;\r\n _fetchKeepAlive = false;\r\n _disableBeaconSplit = false;\r\n _xhrSend = null;\r\n _fallbackSend = null;\r\n _sendPostMgr = null;\r\n objDefine(_self, \"_senderConfig\", {\r\n g: function () {\r\n return objExtend({}, defaultAppInsightsChannelConfig);\r\n }\r\n });\r\n }\r\n });\r\n return _this;\r\n }\r\n Sender.constructEnvelope = function (orig, iKey, logger, convertUndefined) {\r\n var envelope;\r\n if (iKey !== orig.iKey && !isNullOrUndefined(iKey)) {\r\n envelope = __assign(__assign({}, orig), { iKey: iKey });\r\n }\r\n else {\r\n envelope = orig;\r\n }\r\n var creator = EnvelopeTypeCreator[envelope.baseType] || EventEnvelopeCreator;\r\n return creator(logger, envelope, convertUndefined);\r\n };\r\n// Removed Stub for Sender.prototype.pause.\r\n// Removed Stub for Sender.prototype.resume.\r\n// Removed Stub for Sender.prototype.flush.\r\n// Removed Stub for Sender.prototype.onunloadFlush.\r\n// Removed Stub for Sender.prototype.initialize.\r\n// Removed Stub for Sender.prototype.processTelemetry.\r\n// Removed Stub for Sender.prototype._xhrReadyStateChange.\r\n// Removed Stub for Sender.prototype.triggerSend.\r\n// Removed Stub for Sender.prototype._onError.\r\n// Removed Stub for Sender.prototype._onPartialSuccess.\r\n// Removed Stub for Sender.prototype._onSuccess.\r\n// Removed Stub for Sender.prototype._xdrOnLoad.\r\n// Removed Stub for Sender.prototype.addHeader.\r\n// Removed Stub for Sender.prototype.isCompletelyIdle.\r\n// Removed Stub for Sender.prototype.getOfflineSupport.\r\n// Removed Stub for Sender.prototype.getOfflineListener.\r\n return Sender;\r\n}(BaseTelemetryPlugin));\r\nexport { Sender };\r\n//# sourceMappingURL=Sender.js.map"],"names":["STR_DURATION","_createData","baseType","data","_DYN_TAGS","_DYN_DEVICE_TYPE","_DYN_DATA","_DYN_NAME","_DYN_TRACE_ID","_DYN_LENGTH","_DYN_STRINGIFY","_DYN_MEASUREMENTS","_DYN_RESPONSE_CODE","_DYN_TO_STRING","_DYN_ENQUEUE","_DYN_COUNT","_DYN_PUSH","_DYN_EMIT_LINE_DELIMITED_0","_DYN_CLEAR","_DYN_MARK_AS_SENT","_DYN_CLEAR_SENT","_DYN_BUFFER_OVERRIDE","_DYN__BUFFER__KEY","_DYN__SENT__BUFFER__KEY","_DYN_CONCAT","_DYN__MAX__BUFFER__SIZE","_DYN_TRIGGER_SEND","_DYN_DIAG_LOG","_DYN_INITIALIZE","_DYN__SENDER","_DYN_ENDPOINT_URL","_DYN_INSTRUMENTATION_KEY","_DYN_CUSTOM_HEADERS","_DYN_MAX_BATCH_SIZE_IN_BY1","_DYN_ONUNLOAD_DISABLE_BEA2","_DYN_IS_BEACON_API_DISABL3","_DYN_ALWAYS_USE_XHR_OVERR4","_DYN_ENABLE_SESSION_STORA5","_DYN__BUFFER","_DYN_ONUNLOAD_DISABLE_FET6","_DYN_DISABLE_SEND_BEACON_7","_DYN_GET_SENDER_INST","_DYN__ON_ERROR","_DYN__ON_PARTIAL_SUCCESS","_DYN__ON_SUCCESS","_DYN_ITEMS_RECEIVED","_DYN_ITEMS_ACCEPTED","_DYN_BASE_TYPE","_DYN_SAMPLE_RATE","RemoteDependencyEnvelopeType","AjaxHelperParseDependencyPath","logger","absoluteUrl","method","commandName","target","name","parsedUrl","urlParseUrl","pathName","dataSanitizeString","createRemoteDependencyData","id","value","success","resultCode","requestAPI","correlationContext","properties","measurements","dependencyFields","msToTimeSpan","dataSanitizeUrl","dataSanitizeProperties","dataSanitizeMeasurements","createRequestData","responseCode","source","url","_a","asString","strBaseType","strBaseData","strProperties","strTrue","_setValueIf","field","setValue","isTruthy","_extractPartAExtensions","item","env","envTags","itmExt","itmTags","extUser","CtxTagKeys","extApp","extDevice","web","envData","envBaseData","envProps","extOs","extTrace","tgs","i","tg","objForEachKey","key","theTags","__assign","EnvelopeCreator","optimizeObject","_extractPropsAndMeasurements","isNullOrUndefined","isNumber","isString","hasJSON","getJSON","_convertPropsUndefinedToCustomDefinedValue","customUndefinedValue","_createEnvelope","envelopeType","telemetryItem","envelope","Envelope","SampleRate","startTime","isDate","toISOString","iKeyNoDashes","EnvelopeCreatorInit","_throwInternal","DependencyEnvelopeCreator","customMeasurements","customProperties","bd","_warnToConsole","HttpMethod","remoteDepData","RemoteDependencyDataType","RequestEnvelopeCreator","requestData","RequestDataType","EventEnvelopeCreator","EventDataType","eventName","eventData","Event","EventEnvelopeType","ExceptionEnvelopeCreator","exData","Exception","ExceptionDataType","ExceptionEnvelopeType","MetricEnvelopeCreator","baseData","props","baseMetricData","Metric","MetricDataType","MetricEnvelopeType","PageViewEnvelopeCreator","duration","currentContextId","pageTags","pageViewData","PageView","PageViewDataType","PageViewEnvelopeType","PageViewPerformanceEnvelopeCreator","PageViewPerformance","PageViewPerformanceDataType","PageViewPerformanceEnvelopeType","TraceEnvelopeCreator","message","severityLevel","Trace","TraceDataType","TraceEnvelopeType","BaseSendBuffer","config","_buffer","_bufferFullMessageSent","_maxRetryCnt","buffer","dynamicProto","_self","payload","size","lp","payloads","payloadStr_1","arrForEach","batch","newLogger","newConfig","canUseSessionStorage","items","newBuffer","SessionStorageSendBuffer","ArraySendBuffer","_super","__extends","_this","_base","PREVIOUS_KEYS","_namePrefix","_b","utlGetSessionStorage","utlSetSessionStorage","getItem","setItem","bufferItems","_getBuffer","itemsInSentBuffer","previousItems","_getPreviousEvents","notDeliveredItems","_setBuffer","_removePayloadsFromBuffer","sentElements","unsentItems","sentItems","remaining","payloadStr","isFunction","arrIndexOf","prefixedKey","_getBufferBase","bufferJson","buffer_1","isArray","e","getExceptionName","dumpObj","events","_getItemsFromPreviousKey","prefixEvents","transFormedItems_1","internalItem","utlRemoveSessionStorage","circularReferenceCheck","_serializeObject","output","_serializeStringMap","_serializeArray","contract","fieldType","isRequired","isHidden","isPresent","isObj","isObject","sources","map","expectedType","serializedValue","Serializer","input","MIN_INPUT_LENGTH","INT_MAX_VALUE","getHashCodeScore","score","hash","mathAbs","createSamplingScoreGenerator","keys","ContextTagKeys","_isSampledIn","samplingPercentage","scoreGenerator","isSampledIn","createSampler","sampleRate","_samplingScoreGenerator","sampler","UNDEFINED_VALUE","EMPTY_STR","FetchSyncRequestSizeLimitBytes","_getResponseText","xhr","isOverrideFn","httpXHROverride","defaultAppInsightsChannelConfig","objDeepFreeze","cfgDfValidate","DEFAULT_BREEZE_ENDPOINT","DEFAULT_BREEZE_PATH","cfgDfBoolean","_chkSampling","CrossOriginResourcePolicyHeader","EnvelopeTypeCreator","Sender","BreezeChannelIdentifier","_consecutiveErrors","_retryAt","_lastSend","_paused","_timeoutHandle","_serializer","_stamp_specific_redirects","_headers","_syncFetchPayload","_syncUnloadSender","_offlineListener","_evtNamespace","_endpointUrl","_orgEndpointUrl","_maxBatchSizeInBytes","_beaconSupported","_beaconOnUnloadSupported","_beaconNormalSupported","_customHeaders","_disableTelemetry","_instrumentationKey","_convertUndefined","_isRetryDisabled","_maxBatchInterval","_sessionStorageUsed","_bufferOverrideUsed","_enableSendPromise","_alwaysUseCustomSend","_disableXhr","_fetchKeepAlive","_xhrSend","_fallbackSend","_disableBeaconSplit","_sendPostMgr","_retryCodes","_zipPayload","_initDefaults","_clearScheduledTimer","_checkMaxSize","_setupTimer","isAsync","callBack","sendReason","result_1","doAwaitResponse","rsp","createPromise","resolve","_doUnloadSend","core","extensions","pluginChain","identifier","diagLog","mergeEvtNamespace","createUniqueNamespace","createOfflineListener","onConfigChange","details","utlSetStoragePrefix","ctx","createProcessTelemetryContext","senderConfig","curExtUrl","coreUrl","csStream","getInst","isFeatureEnabled","corsPolicy","isPromiseLike","objDefine","ActiveStatus","customHeader","isBeaconsSupported","bufferOverride","utlCanUseSessionStorage","namePrefix","shouldUpdate","isFetchSupported","_validateInstrumentationKey","isInternalApplicationInsightsEndpoint","sendPostConfig","_getSendPostMgrConfig","SenderPostManager","customInterface","httpInterface","syncInterface","theTransports","prependTransports","xhrInterface","_doSend","_fetchKeepAliveSender","syncTransports","transport","itemCtx","diagLogger","isValidate","_validate","aiEnvelope","_getEnvelope","payloadItem","countOfItemsInPayload","_isStringArr","_xhrReadyStateChange","forcedSender","result","_notifySendRequest","ieVer","getIEVersion","_createPayload","_serialize","_batch","evt","unloadCtx","unloadState","runTargetUnload","event","_onError","results","_onPartialSuccess","_onSuccess","xdr","_xdrOnLoad","responseText","parseResponse","formatErrorMessageXdr","onCompleteFuncs","oncomplete","payloadArr","_getPayloadArr","response","onComplete","resValue","_checkResponsStatus","request","canSend","_onBeaconRetry","formatErrorMessageXhr","failed","retry","errors","_i","errors_1","error","extracted","_isRetriable","_resendPayload","internalPayload","arr","defaultEnvelopeIkey","doNotSendItem","ProcessLegacy","rlt","valid","headers","_getHeaders","_getOnComplete","status","sendInterface","markAsSent","payloadData","_getPayload","sendPostFunc","result_2","callbackExecuted_1","resolveFn_1","rejectFn_1","processedPayload","doAwait","reject","RequestHeaders","incomingPayload","incomingSize","responseUrl","errorMessage","res","_checkAndUpdateEndPointUrl","offlineBackOffMultiplier","beaconInst","droppedPayload","thePayload","payloadSize","syncFetchPayload","inst","linearFactor","payload_1","_setRetryTime","SlotDelayInSeconds","delayInSeconds","backOffSlot","backOffDelay","mathFloor","mathMax","mathMin","retryAfterTimeSpan","dateNow","retryInterval","timerValue","scheduleTimeout","statusCode","_getNotifyMgr","func","sendRequest","manager","instrumentationKey","disableValidation","disableIKeyValidationFlag","UUID_Regex","regexp","objExtend","orig","iKey","convertUndefined","creator","BaseTelemetryPlugin"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11]}
|