@microsoft/applicationinsights-dependencies-js 2.8.0-beta.2203-02 → 2.8.0-beta.2203-03

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.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Microsoft Application Insights XHR dependencies plugin, 2.8.0-beta.2203-02
2
+ * Microsoft Application Insights XHR dependencies plugin, 2.8.0-beta.2203-03
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  *
5
5
  * Microsoft Application Insights Team
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.0-beta.2203-02
2
+ * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.0-beta.2203-03
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -568,12 +568,39 @@
568
568
  function throwError(message) {
569
569
  throw new Error(message);
570
570
  }
571
+ function _createProxyFunction(source, funcName) {
572
+ var srcFunc = null;
573
+ var src = null;
574
+ if (isFunction(source)) {
575
+ srcFunc = source;
576
+ }
577
+ else {
578
+ src = source;
579
+ }
580
+ return function () {
581
+ var originalArguments = arguments;
582
+ if (srcFunc) {
583
+ src = srcFunc();
584
+ }
585
+ if (src) {
586
+ return src[funcName].apply(src, originalArguments);
587
+ }
588
+ };
589
+ }
590
+ function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
591
+ if (overwriteTarget === void 0) { overwriteTarget = true; }
592
+ if (target && name && source) {
593
+ if (overwriteTarget || isUndefined(target[name])) {
594
+ target[name] = _createProxyFunction(source, theFunc);
595
+ }
596
+ }
597
+ }
571
598
  function createEnumStyle(values) {
572
599
  var enumClass = {};
573
600
  objForEachKey(values, function (field, value) {
574
601
  enumClass[field] = value;
575
602
  if (!isUndefined(enumClass[value])) {
576
- throwError("Value: [" + value + "] already exists for " + field);
603
+ throwError("[" + value + "] exists for " + field);
577
604
  }
578
605
  enumClass[value] = field;
579
606
  });
@@ -1196,8 +1223,11 @@
1196
1223
  return createTelemetryProxyChain([startAt], config, core);
1197
1224
  }
1198
1225
  function _createInternalContext(telemetryChain, config, core, startAt) {
1199
- var _nextProxy = startAt ? _getNextProxyStart(telemetryChain, config, core, startAt) : telemetryChain;
1226
+ var _nextProxy = null;
1200
1227
  var _onComplete = [];
1228
+ if (startAt !== null) {
1229
+ _nextProxy = startAt ? _getNextProxyStart(telemetryChain, config, core, startAt) : telemetryChain;
1230
+ }
1201
1231
  var context = {
1202
1232
  _next: _moveNext,
1203
1233
  ctx: {
@@ -1484,6 +1514,30 @@
1484
1514
 
1485
1515
  var strExtensionConfig = "extensionConfig";
1486
1516
 
1517
+ function createUnloadHandlerContainer() {
1518
+ var handlers = [];
1519
+ function _addHandler(handler) {
1520
+ if (handler) {
1521
+ handlers.push(handler);
1522
+ }
1523
+ }
1524
+ function _runHandlers(unloadCtx, unloadState) {
1525
+ arrForEach(handlers, function (handler) {
1526
+ try {
1527
+ handler(unloadCtx, unloadState);
1528
+ }
1529
+ catch (e) {
1530
+ unloadCtx.diagLog().throwInternal(2 , 73 , "Unexpected error calling unload handler - " + dumpObj(e));
1531
+ }
1532
+ });
1533
+ handlers = [];
1534
+ }
1535
+ return {
1536
+ add: _addHandler,
1537
+ run: _runHandlers
1538
+ };
1539
+ }
1540
+
1487
1541
  var strGetPlugin = "getPlugin";
1488
1542
  var BaseTelemetryPlugin = /** @class */ (function () {
1489
1543
  function BaseTelemetryPlugin() {
@@ -1491,6 +1545,7 @@
1491
1545
  var _isinitialized;
1492
1546
  var _rootCtx;
1493
1547
  var _nextPlugin;
1548
+ var _unloadHandlerContainer;
1494
1549
  var _hooks;
1495
1550
  _initDefaults();
1496
1551
  dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
@@ -1512,6 +1567,7 @@
1512
1567
  function _unloadCallback() {
1513
1568
  if (!unloadDone) {
1514
1569
  unloadDone = true;
1570
+ _unloadHandlerContainer.run(theUnloadCtx, unloadState);
1515
1571
  arrForEach(_hooks, function (fn) {
1516
1572
  fn.rm();
1517
1573
  });
@@ -1540,6 +1596,7 @@
1540
1596
  }
1541
1597
  }
1542
1598
  };
1599
+ proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
1543
1600
  });
1544
1601
  _self.diagLog = function (itemCtx) {
1545
1602
  return _getTelCtx(itemCtx).diagLog();
@@ -1596,6 +1653,7 @@
1596
1653
  _rootCtx = null;
1597
1654
  _nextPlugin = null;
1598
1655
  _hooks = [];
1656
+ _unloadHandlerContainer = createUnloadHandlerContainer();
1599
1657
  }
1600
1658
  }
1601
1659
  return BaseTelemetryPlugin;