@microsoft/applicationinsights-analytics-js 3.0.0-beta.2301-14 → 3.0.0-beta.2301-17

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 JavaScript SDK - Web Analytics, 3.0.0-beta.2301-14
2
+ * Microsoft Application Insights JavaScript SDK - Web Analytics, 3.0.0-beta.2301-17
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 - Web Analytics, 3.0.0-beta.2301-14
2
+ * Application Insights JavaScript SDK - Web Analytics, 3.0.0-beta.2301-17
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -953,7 +953,6 @@
953
953
  var _DYN_TIME = "time";
954
954
  var _DYN_PROCESS_NEXT = "processNext";
955
955
  var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
956
- var _DYN_CALL = "call";
957
956
  var _DYN_LOGGING_LEVEL_CONSOL4 = "loggingLevelConsole";
958
957
  var _DYN_CREATE_NEW = "createNew";
959
958
  var _DYN_TEARDOWN = "teardown";
@@ -1012,7 +1011,7 @@
1012
1011
  var strToString = "toString";
1013
1012
  var strGetPrototypeOf = "getPrototypeOf";
1014
1013
  var _fnToString = ObjClass$1[strToString];
1015
- _fnToString[_DYN_CALL ](ObjClass$1);
1014
+ _fnToString.call(ObjClass$1);
1016
1015
  var rCamelCase = /-([a-z])/g;
1017
1016
  var rNormalizeInvalid = /([^\w\d_$])/g;
1018
1017
  var rLeadingNumeric = /^(\d+[\w\d_$])/;
@@ -1208,7 +1207,7 @@
1208
1207
  }
1209
1208
 
1210
1209
  var _objDefineProperty = ObjDefineProperty;
1211
- var version = "3.0.0-beta.2301-14";
1210
+ var version = "3.0.0-beta.2301-17";
1212
1211
  var instanceName = "." + newId(6);
1213
1212
  var _dataUid = 0;
1214
1213
  function _createAccessor(target, prop, value) {
@@ -1404,6 +1403,10 @@
1404
1403
  });
1405
1404
  }
1406
1405
  }
1406
+ function _getOwnPropGetter(target, name) {
1407
+ var propDesc = objGetOwnPropertyDescriptor(target, name);
1408
+ return propDesc && propDesc.get;
1409
+ }
1407
1410
  function _makeDynamicProperty(state, theConfig, name, value) {
1408
1411
  var detail = {
1409
1412
  n: name,
@@ -1444,22 +1447,32 @@
1444
1447
  };
1445
1448
  function _setProperty(newValue) {
1446
1449
  if (value !== newValue) {
1447
- if (!!_setProperty[state.ro] && state.upd) {
1448
- throwInvalidAccess("[" + name + "] is sealed from " + dumpObj(theConfig));
1450
+ if (!!_getProperty[state.ro] && !state.upd) {
1451
+ throwInvalidAccess("[" + name + "] is read-only:" + dumpObj(theConfig));
1449
1452
  }
1450
- if (value && value[CFG_HANDLER_LINK]) {
1451
- if (isPlainObject(value) || isArray(value)) {
1453
+ var isReferenced = _getProperty[state.rf];
1454
+ if (isPlainObject(value) || isArray(value)) {
1455
+ if (isReferenced) {
1456
+ objForEachKey(value, function (key) {
1457
+ value[key] = newValue[key];
1458
+ });
1459
+ objForEachKey(newValue, function (key, theValue) {
1460
+ _setDynamicProperty(state, value, key, theValue);
1461
+ });
1462
+ newValue = value;
1463
+ }
1464
+ else if (value && value[CFG_HANDLER_LINK]) {
1452
1465
  objForEachKey(value, function (key) {
1453
- var propDesc = objGetOwnPropertyDescriptor(value, key);
1454
- if (propDesc && propDesc.get) {
1455
- var valueState = propDesc.get[state.prop];
1466
+ var getter = _getOwnPropGetter(value, key);
1467
+ if (getter) {
1468
+ var valueState = getter[state.prop];
1456
1469
  valueState && valueState.chng();
1457
1470
  }
1458
1471
  });
1459
1472
  }
1460
1473
  }
1461
1474
  checkDynamic = false;
1462
- if (isPlainObject(newValue) || isArray(newValue)) {
1475
+ if (!isReferenced && (isPlainObject(newValue) || isArray(newValue))) {
1463
1476
  _makeDynamicObject(state, newValue);
1464
1477
  }
1465
1478
  value = newValue;
@@ -1467,20 +1480,27 @@
1467
1480
  }
1468
1481
  }
1469
1482
  objDefineAccessors(theConfig, detail.n, _getProperty, _setProperty, true);
1483
+ return _getProperty();
1470
1484
  }
1471
- function _setDynamicProperty(state, target, name, value) {
1485
+ function _setDynamicProperty(state, target, name, value, inPlace, rdOnly) {
1472
1486
  if (target) {
1473
- var isDynamic = false;
1474
- var propDesc = objGetOwnPropertyDescriptor(target, name);
1475
- if (propDesc && propDesc.get) {
1476
- isDynamic = !!propDesc.get[state.prop];
1477
- }
1487
+ var getter = _getOwnPropGetter(target, name);
1488
+ var isDynamic = getter && !!getter[state.prop];
1478
1489
  if (!isDynamic) {
1479
- _makeDynamicProperty(state, target, name, value);
1490
+ value = _makeDynamicProperty(state, target, name, value);
1491
+ if (inPlace || rdOnly) {
1492
+ getter = _getOwnPropGetter(target, name);
1493
+ }
1480
1494
  }
1481
1495
  else {
1482
1496
  target[name] = value;
1483
1497
  }
1498
+ if (inPlace) {
1499
+ getter[state.rf] = inPlace;
1500
+ }
1501
+ if (rdOnly) {
1502
+ getter[state.ro] = rdOnly;
1503
+ }
1484
1504
  }
1485
1505
  return value;
1486
1506
  }
@@ -1505,8 +1525,10 @@
1505
1525
  var symPrefix = "[[ai_";
1506
1526
  var symPostfix = "]]";
1507
1527
  function _createState(cfgHandler) {
1528
+ var _a;
1508
1529
  var dynamicPropertySymbol = newSymbol(symPrefix + "get" + cfgHandler.uid + symPostfix);
1509
1530
  var dynamicPropertyReadOnly = newSymbol(symPrefix + "ro" + cfgHandler.uid + symPostfix);
1531
+ var dynamicPropertyReferenced = newSymbol(symPrefix + "rf" + cfgHandler.uid + symPostfix);
1510
1532
  var dynamicPropertyDetail = newSymbol(symPrefix + "dtl" + cfgHandler.uid + symPostfix);
1511
1533
  var _waitingHandlers = null;
1512
1534
  var _watcherTimer = null;
@@ -1524,7 +1546,9 @@
1524
1546
  callback({
1525
1547
  cfg: cfgHandler.cfg,
1526
1548
  set: cfgHandler.set.bind(cfgHandler),
1527
- setDf: cfgHandler[_DYN_SET_DF ].bind(cfgHandler)
1549
+ setDf: cfgHandler[_DYN_SET_DF ].bind(cfgHandler),
1550
+ ref: cfgHandler.ref.bind(cfgHandler),
1551
+ rdOnly: cfgHandler.rdOnly.bind(cfgHandler)
1528
1552
  });
1529
1553
  }
1530
1554
  catch (e) {
@@ -1603,15 +1627,17 @@
1603
1627
  }
1604
1628
  }
1605
1629
  }
1606
- theState = {
1607
- prop: dynamicPropertySymbol,
1608
- ro: dynamicPropertyReadOnly,
1609
- hdlr: cfgHandler,
1610
- add: _addWatcher,
1611
- notify: _notifyWatchers,
1612
- use: _useHandler,
1613
- trk: _trackHandler
1614
- };
1630
+ theState = (_a = {
1631
+ prop: dynamicPropertySymbol,
1632
+ ro: dynamicPropertyReadOnly,
1633
+ rf: dynamicPropertyReferenced,
1634
+ hdlr: cfgHandler,
1635
+ add: _addWatcher
1636
+ },
1637
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
1638
+ _a.use = _useHandler,
1639
+ _a.trk = _trackHandler,
1640
+ _a);
1615
1641
  return theState;
1616
1642
  }
1617
1643
 
@@ -1648,6 +1674,12 @@
1648
1674
  function _block(configHandler) {
1649
1675
  theState.use(null, configHandler);
1650
1676
  }
1677
+ function _ref(target, name) {
1678
+ return _setDynamicProperty(theState, target, name, target[name], true);
1679
+ }
1680
+ function _rdOnly(target, name) {
1681
+ return _setDynamicProperty(theState, target, name, target[name], false, true);
1682
+ }
1651
1683
  function _applyDefaults(theConfig, defaultValues) {
1652
1684
  if (defaultValues) {
1653
1685
  objForEachKey(defaultValues, function (name, value) {
@@ -1665,6 +1697,8 @@
1665
1697
  _a.set = _setValue,
1666
1698
  _a[_DYN_SET_DF ] = _applyDefaults,
1667
1699
  _a[_DYN_WATCH ] = _watch,
1700
+ _a.ref = _ref,
1701
+ _a.rdOnly = _rdOnly,
1668
1702
  _a._block = _block,
1669
1703
  _a);
1670
1704
  objDefineProp(cfgHandler, "uid", (_b = {},
@@ -2389,7 +2423,7 @@
2389
2423
  if (onComplete && onComplete[_DYN_LENGTH$2 ] > 0) {
2390
2424
  arrForEach(onComplete, function (completeDetails) {
2391
2425
  try {
2392
- completeDetails.func[_DYN_CALL ](completeDetails.self, completeDetails.args);
2426
+ completeDetails.func.call(completeDetails.self, completeDetails.args);
2393
2427
  }
2394
2428
  catch (e) {
2395
2429
  _throwInternal(core[_DYN_LOGGER ], 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
@@ -2408,15 +2442,15 @@
2408
2442
  if (!extCfg && createIfMissing) {
2409
2443
  extCfg = {};
2410
2444
  }
2411
- dynamicHandler.set(cfg, STR_EXTENSION_CONFIG, extCfg);
2412
- extCfg = cfg[STR_EXTENSION_CONFIG ];
2445
+ cfg[STR_EXTENSION_CONFIG] = extCfg;
2446
+ extCfg = dynamicHandler.ref(cfg, STR_EXTENSION_CONFIG);
2413
2447
  if (extCfg) {
2414
2448
  idCfg = extCfg[identifier];
2415
2449
  if (!idCfg && createIfMissing) {
2416
2450
  idCfg = {};
2417
2451
  }
2418
- dynamicHandler.set(extCfg, identifier, idCfg);
2419
- idCfg = extCfg[identifier];
2452
+ extCfg[identifier] = idCfg;
2453
+ idCfg = dynamicHandler.ref(extCfg, identifier);
2420
2454
  }
2421
2455
  }
2422
2456
  return idCfg;
@@ -2703,10 +2737,35 @@
2703
2737
  };
2704
2738
  }
2705
2739
 
2740
+ function createUnloadHookContainer() {
2741
+ var _hooks = [];
2742
+ function _doUnload(logger) {
2743
+ var oldHooks = _hooks;
2744
+ _hooks = [];
2745
+ arrForEach(oldHooks, function (fn) {
2746
+ try {
2747
+ (fn.rm || fn.remove).call(fn);
2748
+ }
2749
+ catch (e) {
2750
+ _throwInternal(logger, 2 , 73 , "Unloading:" + dumpObj(e));
2751
+ }
2752
+ });
2753
+ }
2754
+ function _addHook(hooks) {
2755
+ if (hooks) {
2756
+ arrAppend(_hooks, hooks);
2757
+ }
2758
+ }
2759
+ return {
2760
+ run: _doUnload,
2761
+ add: _addHook
2762
+ };
2763
+ }
2764
+
2706
2765
  var _a$1;
2707
2766
  var strGetPlugin = "getPlugin";
2708
2767
  var defaultValues$1 = (_a$1 = {},
2709
- _a$1[STR_EXTENSION_CONFIG] = { isVal: isNotNullOrUndefined, v: [] },
2768
+ _a$1[STR_EXTENSION_CONFIG] = { isVal: isNotNullOrUndefined, v: {} },
2710
2769
  _a$1);
2711
2770
  var BaseTelemetryPlugin = /** @class */ (function () {
2712
2771
  function BaseTelemetryPlugin() {
@@ -2715,7 +2774,7 @@
2715
2774
  var _rootCtx;
2716
2775
  var _nextPlugin;
2717
2776
  var _unloadHandlerContainer;
2718
- var _hooks;
2777
+ var _hookContainer;
2719
2778
  _initDefaults();
2720
2779
  dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
2721
2780
  _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
@@ -2740,16 +2799,7 @@
2740
2799
  if (!unloadDone) {
2741
2800
  unloadDone = true;
2742
2801
  _unloadHandlerContainer.run(theUnloadCtx, unloadState);
2743
- var oldHooks = _hooks;
2744
- _hooks = [];
2745
- arrForEach(oldHooks, function (fn) {
2746
- try {
2747
- (fn.rm || fn.remove)[_DYN_CALL ](fn);
2748
- }
2749
- catch (e) {
2750
- _throwInternal(theUnloadCtx[_DYN_DIAG_LOG$1 ](), 2 , 73 , "Unloading:" + dumpObj(e));
2751
- }
2752
- });
2802
+ _hookContainer.run(theUnloadCtx[_DYN_DIAG_LOG$1 ]());
2753
2803
  if (result === true) {
2754
2804
  theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
2755
2805
  }
@@ -2789,12 +2839,9 @@
2789
2839
  }
2790
2840
  return result;
2791
2841
  };
2792
- _self._addHook = function (hooks) {
2793
- if (hooks) {
2794
- arrAppend(_hooks, hooks);
2795
- }
2796
- };
2797
2842
  proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
2843
+ proxyFunctionAs(_self, "_addHook", function () { return _hookContainer; }, "add");
2844
+ objDefine(_self, "_unloadHooks", { g: function () { return _hookContainer; } });
2798
2845
  });
2799
2846
  _self[_DYN_DIAG_LOG$1 ] = function (itemCtx) {
2800
2847
  return _getTelCtx(itemCtx)[_DYN_DIAG_LOG$1 ]();
@@ -2848,7 +2895,7 @@
2848
2895
  _self[STR_CORE ] = null;
2849
2896
  _rootCtx = null;
2850
2897
  _nextPlugin = null;
2851
- _hooks = [];
2898
+ _hookContainer = createUnloadHookContainer();
2852
2899
  _unloadHandlerContainer = createUnloadHandlerContainer();
2853
2900
  }
2854
2901
  }
@@ -5203,7 +5250,7 @@
5203
5250
  });
5204
5251
  return _this;
5205
5252
  }
5206
- AnalyticsPlugin.Version = "3.0.0-beta.2301-14";
5253
+ AnalyticsPlugin.Version = "3.0.0-beta.2301-17";
5207
5254
  return AnalyticsPlugin;
5208
5255
  }(BaseTelemetryPlugin));
5209
5256