@microsoft/1ds-core-js 4.0.0 → 4.0.1

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.
Files changed (43) hide show
  1. package/README.md +1 -1
  2. package/bundle/es5/{ms.core-4.0.0.gbl.js → ms.core-4.0.1.gbl.js} +239 -139
  3. package/bundle/es5/ms.core-4.0.1.gbl.js.map +1 -0
  4. package/bundle/es5/ms.core-4.0.1.gbl.min.js +7 -0
  5. package/bundle/es5/ms.core-4.0.1.gbl.min.js.map +1 -0
  6. package/bundle/es5/ms.core-4.0.1.integrity.json +46 -0
  7. package/bundle/es5/{ms.core-4.0.0.js → ms.core-4.0.1.js} +239 -139
  8. package/bundle/es5/ms.core-4.0.1.js.map +1 -0
  9. package/bundle/es5/ms.core-4.0.1.min.js +7 -0
  10. package/bundle/es5/ms.core-4.0.1.min.js.map +1 -0
  11. package/bundle/es5/ms.core.gbl.js +238 -138
  12. package/bundle/es5/ms.core.gbl.js.map +1 -1
  13. package/bundle/es5/ms.core.gbl.min.js +2 -2
  14. package/bundle/es5/ms.core.gbl.min.js.map +1 -1
  15. package/bundle/es5/ms.core.integrity.json +17 -17
  16. package/bundle/es5/ms.core.js +238 -138
  17. package/bundle/es5/ms.core.js.map +1 -1
  18. package/bundle/es5/ms.core.min.js +2 -2
  19. package/bundle/es5/ms.core.min.js.map +1 -1
  20. package/dist/es5/ms.core.js +236 -136
  21. package/dist/es5/ms.core.js.map +1 -1
  22. package/dist/es5/ms.core.min.js +2 -2
  23. package/dist/es5/ms.core.min.js.map +1 -1
  24. package/dist-es5/AppInsightsCore.js +1 -1
  25. package/dist-es5/BaseCore.js +1 -1
  26. package/dist-es5/DataModels.js +1 -1
  27. package/dist-es5/Enums.js +1 -1
  28. package/dist-es5/Index.js +1 -1
  29. package/dist-es5/InternalConstants.js +1 -1
  30. package/dist-es5/Utils.js +2 -2
  31. package/dist-es5/Utils.js.map +1 -1
  32. package/dist-es5/ValueSanitizer.js +4 -1
  33. package/dist-es5/ValueSanitizer.js.map +1 -1
  34. package/package.json +3 -3
  35. package/types/1ds-core-js.d.ts +8 -4
  36. package/types/1ds-core-js.namespaced.d.ts +8 -4
  37. package/bundle/es5/ms.core-4.0.0.gbl.js.map +0 -1
  38. package/bundle/es5/ms.core-4.0.0.gbl.min.js +0 -7
  39. package/bundle/es5/ms.core-4.0.0.gbl.min.js.map +0 -1
  40. package/bundle/es5/ms.core-4.0.0.integrity.json +0 -46
  41. package/bundle/es5/ms.core-4.0.0.js.map +0 -1
  42. package/bundle/es5/ms.core-4.0.0.min.js +0 -7
  43. package/bundle/es5/ms.core-4.0.0.min.js.map +0 -1
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * 1DS JS SDK Core, 4.0.0
2
+ * 1DS JS SDK Core, 4.0.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  * (Microsoft Internal Only)
5
5
  */
6
6
  (function (global, factory) {
7
7
  var undef = "undefined";
8
- var nsKey, key, nm, theExports = {}, modName = "es5_ms_core_4_0_0", msMod="__ms$mod__";
9
- var mods={}, modDetail=mods[modName]={}, ver="4.0.0";
8
+ var nsKey, key, nm, theExports = {}, modName = "es5_ms_core_4_0_1", msMod="__ms$mod__";
9
+ var mods={}, modDetail=mods[modName]={}, ver="4.0.1";
10
10
  // Versioned namespace "oneDS4"
11
11
  var exportNs=global, nsKey="oneDS4", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
12
12
  // Global namespace "oneDS"
@@ -29,12 +29,14 @@
29
29
  var MinChannelPriorty = 100;
30
30
 
31
31
  var UNDEF_VALUE = undefined;
32
+ var NULL_VALUE = null;
32
33
  var EMPTY = "";
33
34
  var BOOLEAN = "boolean";
34
35
  var FUNCTION = "function";
35
36
  var NUMBER = "number";
36
37
  var OBJECT = "object";
37
38
  var PROTOTYPE = "prototype";
39
+ var __PROTO__ = "__proto__";
38
40
  var STRING = "string";
39
41
  var UNDEFINED = "undefined";
40
42
  var CONSTRUCTOR = "constructor";
@@ -86,21 +88,17 @@ function isUndefined(value) {
86
88
  return typeof value === UNDEFINED || value === UNDEFINED;
87
89
  }
88
90
  function isNullOrUndefined(value) {
89
- return value === null || isUndefined(value);
91
+ return value === NULL_VALUE || isUndefined(value);
90
92
  }
91
93
  function isStrictNullOrUndefined(value) {
92
- return value === null || !isDefined(value);
94
+ return value === NULL_VALUE || !isDefined(value);
93
95
  }
94
96
  function isDefined(arg) {
95
97
  return !!arg || arg !== UNDEF_VALUE;
96
98
  }
97
- function isPrimitive(value) {
98
- var theType = typeof value;
99
- if (value && theType === OBJECT) {
100
- return false;
101
- }
102
- return value === null || PRIMITIVE_TYPES.indexOf(theType) !== -1;
103
- }
99
+ var isPrimitiveType = function (theType) {
100
+ return theType !== OBJECT && PRIMITIVE_TYPES.indexOf(theType) !== -1;
101
+ };
104
102
  var isString = _createIs(STRING);
105
103
  var isFunction = _createIs(FUNCTION);
106
104
  function isObject(value) {
@@ -165,9 +163,10 @@ function throwTypeError(message) {
165
163
 
166
164
  var _objFreeze = ObjClass$1["freeze"];
167
165
  var _doNothing = function (value) { return value; };
166
+ var _getProto = function (value) { return value[__PROTO__] || NULL_VALUE; };
168
167
  var objAssign = ObjClass$1["assign"];
169
168
  function objKeys(value) {
170
- if (!isObject(value) || value === null) {
169
+ if (!isObject(value) || value === NULL_VALUE) {
171
170
  throwTypeError("objKeys called on non-object");
172
171
  }
173
172
  return ObjClass$1.keys(value);
@@ -184,7 +183,7 @@ function objDeepFreeze(value) {
184
183
  }
185
184
  var objFreeze = _objFreeze || _doNothing;
186
185
  var objSeal = ObjClass$1["seal"] || _doNothing;
187
- var objGetPrototypeOf = ObjClass$1["getPrototypeOf"] || _doNothing;
186
+ var objGetPrototypeOf = ObjClass$1["getPrototypeOf"] || _getProto;
188
187
 
189
188
  function createEnum(values) {
190
189
  return _createKeyValueMap(values, 1 , 0 , objDeepFreeze);
@@ -244,7 +243,7 @@ function dumpObj(object, format) {
244
243
  }
245
244
  else {
246
245
  try {
247
- propertyValueDump = JSON.stringify(object, null, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
246
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
248
247
  }
249
248
  catch (e) {
250
249
  propertyValueDump = " - " + dumpObj(e, format);
@@ -388,7 +387,7 @@ function objDefine(target, key, propDesc) {
388
387
  var _globalLazyTestHooks;
389
388
  var _fetchLazyTestHooks = function () {
390
389
  _globalLazyTestHooks = _getGlobalConfig();
391
- _fetchLazyTestHooks = null;
390
+ _fetchLazyTestHooks = NULL_VALUE;
392
391
  };
393
392
  function getLazy(cb) {
394
393
  var lazyValue = {};
@@ -430,7 +429,7 @@ function lazySafeGetInst(name) {
430
429
  return safeGetLazy(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE);
431
430
  }
432
431
  function getGlobal(useCached) {
433
- (!_cachedGlobal || useCached === false || (_globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, null));
432
+ (!_cachedGlobal || useCached === false || (_globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, NULL_VALUE));
434
433
  return _cachedGlobal.v;
435
434
  }
436
435
  function getInst(name, useCached) {
@@ -441,7 +440,7 @@ function getInst(name, useCached) {
441
440
  if (name === WINDOW && _cachedWindow) {
442
441
  return _cachedWindow.v;
443
442
  }
444
- return null;
443
+ return NULL_VALUE;
445
444
  }
446
445
  function hasDocument() {
447
446
  return !!getDocument();
@@ -501,7 +500,7 @@ function getKnownSymbol(name, noPoly) {
501
500
  }
502
501
  function newSymbol(description, noPoly) {
503
502
  (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
504
- return _symbol.v ? _symbol.v(description) : (!noPoly ? polyNewSymbol(description) : null);
503
+ return _symbol.v ? _symbol.v(description) : (!noPoly ? polyNewSymbol(description) : NULL_VALUE);
505
504
  }
506
505
  function symbolFor(key) {
507
506
  (!_symbolFor || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
@@ -585,51 +584,81 @@ var arrReduce = _unwrapFunction("reduce", ArrProto);
585
584
 
586
585
  var arrSlice = _unwrapFunction(SLICE, ArrProto);
587
586
 
587
+ var _objCreate = ObjClass$1["create"];
588
+ var objCreate = _objCreate || polyObjCreate;
589
+ function polyObjCreate(obj) {
590
+ if (!obj) {
591
+ return {};
592
+ }
593
+ var type = typeof obj;
594
+ if (type !== OBJECT && type !== FUNCTION) {
595
+ throw new TypeError("Prototype must be an Object or function: " + dumpObj(obj));
596
+ }
597
+ function tempFunc() { }
598
+ tempFunc[PROTOTYPE] = obj;
599
+ return new tempFunc();
600
+ }
601
+
602
+ var _isProtoArray;
588
603
  function objSetPrototypeOf(obj, proto) {
589
604
  var fn = ObjClass$1["setPrototypeOf"] ||
590
- ({ __proto__: [] } instanceof Array && function (d, b) {
591
- d.__proto__ = b;
592
- }) ||
593
605
  function (d, b) {
594
- objForEachKey(b, function (key, value) { return d[key] = value; });
606
+ !_isProtoArray && (_isProtoArray = getLazy(function () {
607
+ var _a;
608
+ return ((_a = {}, _a[__PROTO__] = [], _a) instanceof Array);
609
+ }));
610
+ _isProtoArray.v ? d[__PROTO__] = b : objForEachKey(b, function (key, value) { return d[key] = value; });
595
611
  };
596
612
  return fn(obj, proto);
597
613
  }
598
614
 
599
- function _createCustomError(name, d, baseClass) {
600
- objSetPrototypeOf(d, baseClass);
615
+ var _createCustomError = function (name, d, b) {
616
+ _safeDefineName(d, name);
617
+ d = objSetPrototypeOf(d, b);
601
618
  function __() {
602
619
  this.constructor = d;
603
- this[NAME] = name;
620
+ _safeDefineName(this, name);
604
621
  }
605
- __[PROTOTYPE] = baseClass[PROTOTYPE];
606
- d[PROTOTYPE] = new __();
622
+ d[PROTOTYPE] = b === NULL_VALUE ? objCreate(b) : (__[PROTOTYPE] = b[PROTOTYPE], new __());
607
623
  return d;
608
- }
624
+ };
609
625
  var _safeSetName = function (baseClass, name) {
610
626
  try {
611
- baseClass[PROTOTYPE][NAME] = name;
627
+ name && (baseClass[NAME] = name);
628
+ }
629
+ catch (e) {
630
+ }
631
+ };
632
+ var _safeDefineName = function (target, name) {
633
+ try {
634
+ objDefine(target, NAME, { v: name, c: true, e: false });
612
635
  }
613
636
  catch (e) {
614
637
  }
615
638
  };
616
- function createCustomError(name, constructCb) {
617
- var baseClass = Error;
618
- var orgName = baseClass[PROTOTYPE][NAME];
619
- var customError = _createCustomError(name, function () {
639
+ function createCustomError(name, constructCb, errorBase) {
640
+ var theBaseClass = errorBase || Error;
641
+ var orgName = theBaseClass[PROTOTYPE][NAME];
642
+ var captureFn = Error.captureStackTrace;
643
+ return _createCustomError(name, function () {
620
644
  var _this = this;
621
645
  try {
622
- _safeSetName(baseClass, name);
623
- _this = baseClass.apply(_this, arguments) || _this;
624
- _this[NAME] = name;
625
- constructCb && constructCb(_this, arguments);
646
+ _safeSetName(theBaseClass, name);
647
+ var _self = theBaseClass.apply(_this, arguments) || _this;
648
+ if (_self !== _this) {
649
+ var orgProto = objGetPrototypeOf(_this);
650
+ if (orgProto !== objGetPrototypeOf(_self)) {
651
+ objSetPrototypeOf(_self, orgProto);
652
+ }
653
+ }
654
+ captureFn && captureFn(_self, _this[CONSTRUCTOR]);
655
+ constructCb && constructCb(_self, arguments);
656
+ return _self;
626
657
  }
627
658
  finally {
628
- _safeSetName(baseClass, orgName);
659
+ _safeSetName(theBaseClass, orgName);
629
660
  }
630
- return _this;
631
- }, baseClass);
632
- return customError;
661
+ }, theBaseClass);
633
662
  }
634
663
 
635
664
  function utcNow() {
@@ -686,11 +715,10 @@ function isPlainObject(value) {
686
715
  return result;
687
716
  }
688
717
 
689
- function _defaultDeepCopyHandler(details) {
690
- var target = details.result = {};
691
- details.copyTo(target, details.value);
718
+ var _defaultDeepCopyHandler = function (details) {
719
+ details.value && plainObjDeepCopyHandler(details);
692
720
  return true;
693
- }
721
+ };
694
722
  var defaultDeepCopyHandlers = [
695
723
  arrayDeepCopyHandler,
696
724
  plainObjDeepCopyHandler,
@@ -720,9 +748,19 @@ function _deepCopy(visitMap, value, ctx, key) {
720
748
  src: ctx.src,
721
749
  path: newPath
722
750
  };
751
+ var theType = typeof value;
752
+ var isPlain = false;
753
+ var isPrim = false;
754
+ if (value && theType === OBJECT) {
755
+ isPlain = isPlainObject(value);
756
+ }
757
+ else {
758
+ isPrim = value === NULL_VALUE || isPrimitiveType(theType);
759
+ }
723
760
  var details = {
724
- type: typeof value,
725
- isPrim: isPrimitive(value),
761
+ type: theType,
762
+ isPrim: isPrim,
763
+ isPlain: isPlain,
726
764
  value: value,
727
765
  result: value,
728
766
  path: newPath,
@@ -747,7 +785,7 @@ function _deepCopy(visitMap, value, ctx, key) {
747
785
  var idx = 0;
748
786
  var handler = userHandler;
749
787
  while (!(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler)).call(ctx, details)) {
750
- handler = null;
788
+ handler = NULL_VALUE;
751
789
  }
752
790
  });
753
791
  }
@@ -805,7 +843,7 @@ function functionDeepCopyHandler(details) {
805
843
  }
806
844
  function plainObjDeepCopyHandler(details) {
807
845
  var value = details.value;
808
- if (isPlainObject(value)) {
846
+ if (value && details.isPlain) {
809
847
  var target = details.result = {};
810
848
  details.copyTo(target, value);
811
849
  return true;
@@ -838,21 +876,6 @@ function perfNow() {
838
876
  return utcNow();
839
877
  }
840
878
 
841
- var _objCreate = ObjClass$1["create"];
842
- var objCreate = _objCreate || polyObjCreate;
843
- function polyObjCreate(obj) {
844
- if (!obj) {
845
- return {};
846
- }
847
- var type = typeof obj;
848
- if (type !== OBJECT && type !== FUNCTION) {
849
- throw new TypeError("Prototype must be an Object or function: " + dumpObj(obj));
850
- }
851
- function tempFunc() { }
852
- tempFunc[PROTOTYPE] = obj;
853
- return new tempFunc();
854
- }
855
-
856
879
  var strEndsWith = _unwrapFunction("endsWith", StrProto, polyStrEndsWith);
857
880
  function polyStrEndsWith(value, searchString, length) {
858
881
  if (!isString(value)) {
@@ -874,7 +897,7 @@ var ENABLED = "enabled";
874
897
  function _createTimerHandler(startTimer, refreshFn, cancelFn) {
875
898
  var _a;
876
899
  var ref = true;
877
- var timerId = startTimer ? refreshFn(null) : null;
900
+ var timerId = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;
878
901
  var theTimerHandler;
879
902
  var _unref = function () {
880
903
  ref = false;
@@ -901,7 +924,7 @@ function _createTimerHandler(startTimer, refreshFn, cancelFn) {
901
924
  };
902
925
  var _cancel = function () {
903
926
  timerId && cancelFn(timerId);
904
- timerId = null;
927
+ timerId = NULL_VALUE;
905
928
  };
906
929
  var _setEnabled = function (value) {
907
930
  !value && timerId && _cancel();
@@ -923,7 +946,7 @@ function _createTimerHandler(startTimer, refreshFn, cancelFn) {
923
946
  return {
924
947
  h: theTimerHandler,
925
948
  dn: function () {
926
- timerId = null;
949
+ timerId = NULL_VALUE;
927
950
  }
928
951
  };
929
952
  }
@@ -971,9 +994,11 @@ var EventsDiscardedReason = createEnumStyle({
971
994
  });
972
995
 
973
996
  var _DYN_TO_LOWER_CASE = "toLowerCase";
997
+ var _DYN_BLK_VAL = "blkVal";
974
998
  var _DYN_LENGTH = "length";
975
999
  var _DYN_RD_ONLY = "rdOnly";
976
1000
  var _DYN_NOTIFY = "notify";
1001
+ var _DYN_WARN_TO_CONSOLE = "warnToConsole";
977
1002
  var _DYN_THROW_INTERNAL = "throwInternal";
978
1003
  var _DYN_SET_DF = "setDf";
979
1004
  var _DYN_WATCH = "watch";
@@ -981,6 +1006,7 @@ var _DYN_LOGGER = "logger";
981
1006
  var _DYN_APPLY = "apply";
982
1007
  var _DYN_PUSH = "push";
983
1008
  var _DYN_SPLICE = "splice";
1009
+ var _DYN_HDLR = "hdlr";
984
1010
  var _DYN_CANCEL = "cancel";
985
1011
  var _DYN_INITIALIZE = "initialize";
986
1012
  var _DYN_IDENTIFIER = "identifier";
@@ -1082,7 +1108,7 @@ function __spreadArrayFn(to, from) {
1082
1108
  return to;
1083
1109
  }
1084
1110
 
1085
- var _a$4;
1111
+ var _a$5;
1086
1112
  var Constructor = 'constructor';
1087
1113
  var Prototype = 'prototype';
1088
1114
  var strFunction = 'function';
@@ -1105,10 +1131,10 @@ var _objGetPrototypeOf = Obj["getPrototypeOf"];
1105
1131
  var _objGetOwnProps = Obj["getOwnPropertyNames"];
1106
1132
  var _gbl = getGlobal();
1107
1133
  var _gblInst = _gbl[DynProtoGlobalSettings] || (_gbl[DynProtoGlobalSettings] = {
1108
- o: (_a$4 = {},
1109
- _a$4[strSetInstFuncs] = true,
1110
- _a$4[strUseBaseInst] = true,
1111
- _a$4),
1134
+ o: (_a$5 = {},
1135
+ _a$5[strSetInstFuncs] = true,
1136
+ _a$5[strUseBaseInst] = true,
1137
+ _a$5),
1112
1138
  n: 1000
1113
1139
  });
1114
1140
  function _isObjectOrArrayPrototype(target) {
@@ -1696,8 +1722,6 @@ var STR_EVENTS_SENT = "eventsSent";
1696
1722
  var STR_EVENTS_DISCARDED = "eventsDiscarded";
1697
1723
  var STR_EVENTS_SEND_REQUEST = "eventsSendRequest";
1698
1724
  var STR_PERF_EVENT = "perfEvent";
1699
- var STR_ERROR_TO_CONSOLE = "errorToConsole";
1700
- var STR_WARN_TO_CONSOLE = "warnToConsole";
1701
1725
  var STR_GET_PERF_MGR = "getPerfMgr";
1702
1726
  var STR_DOMAIN = "domain";
1703
1727
  var STR_PATH = "path";
@@ -2091,7 +2115,7 @@ function newId(maxLength) {
2091
2115
  return result;
2092
2116
  }
2093
2117
 
2094
- var version = '3.0.1';
2118
+ var version = '3.0.2';
2095
2119
  var instanceName = "." + newId(6);
2096
2120
  var _dataUid = 0;
2097
2121
  function _canAcceptData(target) {
@@ -2219,10 +2243,12 @@ function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {
2219
2243
  var mergeDf;
2220
2244
  var reference;
2221
2245
  var readOnly;
2246
+ var blkDynamicValue;
2222
2247
  if (_isConfigDefaults(cfgDefaults)) {
2223
2248
  isValid = cfgDefaults.isVal;
2224
2249
  setFn = cfgDefaults.set;
2225
2250
  readOnly = cfgDefaults[_DYN_RD_ONLY ];
2251
+ blkDynamicValue = cfgDefaults[_DYN_BLK_VAL ];
2226
2252
  mergeDf = cfgDefaults.mrg;
2227
2253
  reference = cfgDefaults.ref;
2228
2254
  if (!reference && isUndefined(reference)) {
@@ -2233,6 +2259,9 @@ function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {
2233
2259
  else {
2234
2260
  defValue = defaultValue;
2235
2261
  }
2262
+ if (blkDynamicValue) {
2263
+ dynamicHandler[_DYN_BLK_VAL ](theConfig, name);
2264
+ }
2236
2265
  var theValue;
2237
2266
  var usingDefault = true;
2238
2267
  var cfgValue = theConfig[name];
@@ -2323,9 +2352,9 @@ function forceDynamicConversion(value) {
2323
2352
  }
2324
2353
  return value;
2325
2354
  }
2326
- function _canMakeDynamic(value) {
2355
+ function _canMakeDynamic(getFunc, state, value) {
2327
2356
  var result = false;
2328
- if (value) {
2357
+ if (value && !getFunc[state.blkVal]) {
2329
2358
  result = value[FORCE_DYNAMIC];
2330
2359
  if (!result && !value[BLOCK_DYNAMIC]) {
2331
2360
  result = isPlainObject(value) || isArray(value);
@@ -2344,7 +2373,10 @@ var arrayMethodsToPatch = [
2344
2373
  "unshift",
2345
2374
  "splice"
2346
2375
  ];
2347
- function _patchArray(state, target) {
2376
+ var _throwDynamicError = function (logger, name, desc, e) {
2377
+ logger && logger[_DYN_THROW_INTERNAL ](3 , 108 , "".concat(desc, " [").concat(name, "] failed - ") + dumpObj(e));
2378
+ };
2379
+ function _patchArray(state, target, name) {
2348
2380
  if (isArray(target)) {
2349
2381
  arrForEach(arrayMethodsToPatch, function (method) {
2350
2382
  var orgMethod = target[method];
@@ -2354,7 +2386,7 @@ function _patchArray(state, target) {
2354
2386
  args[_i] = arguments[_i];
2355
2387
  }
2356
2388
  var result = orgMethod[_DYN_APPLY ](this, args);
2357
- _makeDynamicObject(state, target);
2389
+ _makeDynamicObject(state, target, name, "Patching");
2358
2390
  return result;
2359
2391
  };
2360
2392
  });
@@ -2364,7 +2396,7 @@ function _getOwnPropGetter(target, name) {
2364
2396
  var propDesc = objGetOwnPropertyDescriptor(target, name);
2365
2397
  return propDesc && propDesc.get;
2366
2398
  }
2367
- function _makeDynamicProperty(state, theConfig, name, value) {
2399
+ function _createDynamicProperty(state, theConfig, name, value) {
2368
2400
  var detail = {
2369
2401
  n: name,
2370
2402
  h: [],
@@ -2387,9 +2419,9 @@ function _makeDynamicProperty(state, theConfig, name, value) {
2387
2419
  var isObjectOrArray = false;
2388
2420
  function _getProperty() {
2389
2421
  if (checkDynamic) {
2390
- isObjectOrArray = isObjectOrArray || _canMakeDynamic(value);
2422
+ isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
2391
2423
  if (value && !value[CFG_HANDLER_LINK] && isObjectOrArray) {
2392
- value = _makeDynamicObject(state, value);
2424
+ value = _makeDynamicObject(state, value, name, "Converting");
2393
2425
  }
2394
2426
  checkDynamic = false;
2395
2427
  }
@@ -2410,7 +2442,7 @@ function _makeDynamicProperty(state, theConfig, name, value) {
2410
2442
  throwInvalidAccess("[" + name + "] is read-only:" + dumpObj(theConfig));
2411
2443
  }
2412
2444
  if (checkDynamic) {
2413
- isObjectOrArray = isObjectOrArray || _canMakeDynamic(value);
2445
+ isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
2414
2446
  checkDynamic = false;
2415
2447
  }
2416
2448
  var isReferenced = isObjectOrArray && _getProperty[state.rf];
@@ -2419,10 +2451,16 @@ function _makeDynamicProperty(state, theConfig, name, value) {
2419
2451
  objForEachKey(value, function (key) {
2420
2452
  value[key] = newValue ? newValue[key] : UNDEFINED_VALUE;
2421
2453
  });
2422
- objForEachKey(newValue, function (key, theValue) {
2423
- _setDynamicProperty(state, value, key, theValue);
2424
- });
2425
- newValue = value;
2454
+ try {
2455
+ objForEachKey(newValue, function (key, theValue) {
2456
+ _setDynamicProperty(state, value, key, theValue);
2457
+ });
2458
+ newValue = value;
2459
+ }
2460
+ catch (e) {
2461
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, "Assigning", e);
2462
+ isObjectOrArray = false;
2463
+ }
2426
2464
  }
2427
2465
  else if (value && value[CFG_HANDLER_LINK]) {
2428
2466
  objForEachKey(value, function (key) {
@@ -2435,9 +2473,9 @@ function _makeDynamicProperty(state, theConfig, name, value) {
2435
2473
  }
2436
2474
  }
2437
2475
  if (newValue !== value) {
2438
- var newIsObjectOrArray = newValue && _canMakeDynamic(newValue);
2476
+ var newIsObjectOrArray = newValue && _canMakeDynamic(_getProperty, state, newValue);
2439
2477
  if (!isReferenced && newIsObjectOrArray) {
2440
- _makeDynamicObject(state, newValue);
2478
+ newValue = _makeDynamicObject(state, newValue, name, "Converting");
2441
2479
  }
2442
2480
  value = newValue;
2443
2481
  isObjectOrArray = newIsObjectOrArray;
@@ -2447,39 +2485,71 @@ function _makeDynamicProperty(state, theConfig, name, value) {
2447
2485
  }
2448
2486
  objDefine(theConfig, detail.n, { g: _getProperty, s: _setProperty });
2449
2487
  }
2450
- function _setDynamicProperty(state, target, name, value, inPlace, rdOnly) {
2488
+ function _setDynamicProperty(state, target, name, value) {
2451
2489
  if (target) {
2452
2490
  var getter = _getOwnPropGetter(target, name);
2453
2491
  var isDynamic = getter && !!getter[state.prop];
2454
2492
  if (!isDynamic) {
2455
- _makeDynamicProperty(state, target, name, value);
2456
- if (inPlace || rdOnly) {
2457
- getter = _getOwnPropGetter(target, name);
2458
- }
2493
+ _createDynamicProperty(state, target, name, value);
2459
2494
  }
2460
2495
  else {
2461
2496
  target[name] = value;
2462
2497
  }
2498
+ }
2499
+ return target;
2500
+ }
2501
+ function _setDynamicPropertyState(state, target, name, flags) {
2502
+ if (target) {
2503
+ var getter = _getOwnPropGetter(target, name);
2504
+ var isDynamic = getter && !!getter[state.prop];
2505
+ var inPlace = flags && flags[0 ];
2506
+ var rdOnly = flags && flags[1 ];
2507
+ var blkProp = flags && flags[2 ];
2508
+ if (!isDynamic) {
2509
+ if (blkProp) {
2510
+ try {
2511
+ blockDynamicConversion(target);
2512
+ }
2513
+ catch (e) {
2514
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, "Blocking", e);
2515
+ }
2516
+ }
2517
+ try {
2518
+ _setDynamicProperty(state, target, name, target[name]);
2519
+ getter = _getOwnPropGetter(target, name);
2520
+ }
2521
+ catch (e) {
2522
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, "State", e);
2523
+ }
2524
+ }
2463
2525
  if (inPlace) {
2464
2526
  getter[state.rf] = inPlace;
2465
2527
  }
2466
2528
  if (rdOnly) {
2467
2529
  getter[state.ro] = rdOnly;
2468
2530
  }
2531
+ if (blkProp) {
2532
+ getter[state.blkVal] = true;
2533
+ }
2469
2534
  }
2470
2535
  return target;
2471
2536
  }
2472
- function _makeDynamicObject(state, target) {
2473
- objForEachKey(target, function (key, value) {
2474
- _setDynamicProperty(state, target, key, value);
2475
- });
2476
- if (!target[CFG_HANDLER_LINK]) {
2477
- objDefineProp(target, CFG_HANDLER_LINK, {
2478
- get: function () {
2479
- return state.hdlr;
2480
- }
2537
+ function _makeDynamicObject(state, target, name, desc) {
2538
+ try {
2539
+ objForEachKey(target, function (key, value) {
2540
+ _setDynamicProperty(state, target, key, value);
2481
2541
  });
2482
- _patchArray(state, target);
2542
+ if (!target[CFG_HANDLER_LINK]) {
2543
+ objDefineProp(target, CFG_HANDLER_LINK, {
2544
+ get: function () {
2545
+ return state[_DYN_HDLR ];
2546
+ }
2547
+ });
2548
+ _patchArray(state, target, name);
2549
+ }
2550
+ }
2551
+ catch (e) {
2552
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, desc, e);
2483
2553
  }
2484
2554
  return target;
2485
2555
  }
@@ -2491,6 +2561,7 @@ function _createState(cfgHandler) {
2491
2561
  var dynamicPropertySymbol = newSymbol(symPrefix + "get" + cfgHandler.uid + symPostfix);
2492
2562
  var dynamicPropertyReadOnly = newSymbol(symPrefix + "ro" + cfgHandler.uid + symPostfix);
2493
2563
  var dynamicPropertyReferenced = newSymbol(symPrefix + "rf" + cfgHandler.uid + symPostfix);
2564
+ var dynamicPropertyBlockValue = newSymbol(symPrefix + "blkVal" + cfgHandler.uid + symPostfix);
2494
2565
  var dynamicPropertyDetail = newSymbol(symPrefix + "dtl" + cfgHandler.uid + symPostfix);
2495
2566
  var _waitingHandlers = null;
2496
2567
  var _watcherTimer = null;
@@ -2592,10 +2663,11 @@ function _createState(cfgHandler) {
2592
2663
  theState = (_a = {
2593
2664
  prop: dynamicPropertySymbol,
2594
2665
  ro: dynamicPropertyReadOnly,
2595
- rf: dynamicPropertyReferenced,
2596
- hdlr: cfgHandler,
2597
- add: _addWatcher
2666
+ rf: dynamicPropertyReferenced
2598
2667
  },
2668
+ _a[_DYN_BLK_VAL ] = dynamicPropertyBlockValue,
2669
+ _a[_DYN_HDLR ] = cfgHandler,
2670
+ _a.add = _addWatcher,
2599
2671
  _a[_DYN_NOTIFY ] = _notifyWatchers,
2600
2672
  _a.use = _useHandler,
2601
2673
  _a.trk = _trackHandler,
@@ -2628,7 +2700,13 @@ function _createDynamicHandler(logger, target, inPlace) {
2628
2700
  theState[_DYN_NOTIFY ]();
2629
2701
  }
2630
2702
  function _setValue(target, name, value) {
2631
- return _setDynamicProperty(theState, target, name, value)[name];
2703
+ try {
2704
+ target = _setDynamicProperty(theState, target, name, value);
2705
+ }
2706
+ catch (e) {
2707
+ _throwDynamicError(logger, name, "Setting value", e);
2708
+ }
2709
+ return target[name];
2632
2710
  }
2633
2711
  function _watch(configHandler) {
2634
2712
  return _createAndUseHandler(theState, configHandler);
@@ -2648,10 +2726,16 @@ function _createDynamicHandler(logger, target, inPlace) {
2648
2726
  });
2649
2727
  }
2650
2728
  function _ref(target, name) {
2651
- return _setDynamicProperty(theState, target, name, target[name], true)[name];
2729
+ var _a;
2730
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 ] = true, _a))[name];
2652
2731
  }
2653
2732
  function _rdOnly(target, name) {
2654
- return _setDynamicProperty(theState, target, name, target[name], false, true)[name];
2733
+ var _a;
2734
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 ] = true, _a))[name];
2735
+ }
2736
+ function _blkPropValue(target, name) {
2737
+ var _a;
2738
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 ] = true, _a))[name];
2655
2739
  }
2656
2740
  function _applyDefaults(theConfig, defaultValues) {
2657
2741
  if (defaultValues) {
@@ -2672,6 +2756,7 @@ function _createDynamicHandler(logger, target, inPlace) {
2672
2756
  _a[_DYN_WATCH ] = _watch,
2673
2757
  _a.ref = _ref,
2674
2758
  _a[_DYN_RD_ONLY ] = _rdOnly,
2759
+ _a[_DYN_BLK_VAL ] = _blkPropValue,
2675
2760
  _a._block = _block,
2676
2761
  _a);
2677
2762
  objDefine(cfgHandler, "uid", {
@@ -2681,12 +2766,12 @@ function _createDynamicHandler(logger, target, inPlace) {
2681
2766
  v: uid
2682
2767
  });
2683
2768
  theState = _createState(cfgHandler);
2684
- _makeDynamicObject(theState, newTarget);
2769
+ _makeDynamicObject(theState, newTarget, "config", "Creating");
2685
2770
  return cfgHandler;
2686
2771
  }
2687
2772
  function _logInvalidAccess(logger, message) {
2688
2773
  if (logger) {
2689
- logger[STR_WARN_TO_CONSOLE ](message);
2774
+ logger[_DYN_WARN_TO_CONSOLE ](message);
2690
2775
  logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
2691
2776
  }
2692
2777
  else {
@@ -2780,6 +2865,8 @@ function getDebugListener(config) {
2780
2865
  return _debugListener;
2781
2866
  }
2782
2867
 
2868
+ var _a$4;
2869
+ var STR_WARN_TO_CONSOLE = "warnToConsole";
2783
2870
  var AiNonUserActionablePrefix = "AI (Internal): ";
2784
2871
  var AiUserActionablePrefix = "AI: ";
2785
2872
  var AIInternalMessagePrefix = "AITR_";
@@ -2789,6 +2876,12 @@ var defaultValues$2 = {
2789
2876
  maxMessageLimit: 25,
2790
2877
  enableDebug: false
2791
2878
  };
2879
+ var _logFuncs = (_a$4 = {},
2880
+ _a$4[0 ] = null,
2881
+ _a$4[1 ] = "errorToConsole",
2882
+ _a$4[2 ] = STR_WARN_TO_CONSOLE,
2883
+ _a$4[3 ] = "debugToConsole",
2884
+ _a$4);
2792
2885
  function _sanitizeDiagnosticText(text) {
2793
2886
  if (text) {
2794
2887
  return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
@@ -2850,7 +2943,7 @@ var DiagnosticLogger = /** @class */ (function () {
2850
2943
  throw dumpObj(message);
2851
2944
  }
2852
2945
  else {
2853
- var logFunc = severity === 1 ? STR_ERROR_TO_CONSOLE : STR_WARN_TO_CONSOLE;
2946
+ var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
2854
2947
  if (!isUndefined(message[_DYN_MESSAGE ])) {
2855
2948
  if (isUserAct) {
2856
2949
  var messageKey = +message[_DYN_MESSAGE_ID ];
@@ -2871,11 +2964,15 @@ var DiagnosticLogger = /** @class */ (function () {
2871
2964
  }
2872
2965
  }
2873
2966
  };
2874
- _self[STR_WARN_TO_CONSOLE ] = function (message) {
2967
+ _self.debugToConsole = function (message) {
2968
+ _logToConsole("debug", message);
2969
+ _debugExtMsg("warning", message);
2970
+ };
2971
+ _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
2875
2972
  _logToConsole("warn", message);
2876
2973
  _debugExtMsg("warning", message);
2877
2974
  };
2878
- _self[STR_ERROR_TO_CONSOLE ] = function (message) {
2975
+ _self.errorToConsole = function (message) {
2879
2976
  _logToConsole("error", message);
2880
2977
  _debugExtMsg("error", message);
2881
2978
  };
@@ -2911,10 +3008,10 @@ var DiagnosticLogger = /** @class */ (function () {
2911
3008
  var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
2912
3009
  _self.queue[_DYN_PUSH ](throttleMessage);
2913
3010
  if (severity === 1 ) {
2914
- _self[STR_ERROR_TO_CONSOLE ](throttleLimitMessage);
3011
+ _self.errorToConsole(throttleLimitMessage);
2915
3012
  }
2916
3013
  else {
2917
- _self[STR_WARN_TO_CONSOLE ](throttleLimitMessage);
3014
+ _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
2918
3015
  }
2919
3016
  }
2920
3017
  }
@@ -2950,7 +3047,7 @@ function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
2950
3047
  _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
2951
3048
  }
2952
3049
  function _warnToConsole(logger, message) {
2953
- _getLogger(logger)[STR_WARN_TO_CONSOLE ](message);
3050
+ _getLogger(logger)[_DYN_WARN_TO_CONSOLE ](message);
2954
3051
  }
2955
3052
  function _logInternalMessage(logger, severity, message) {
2956
3053
  _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
@@ -4535,7 +4632,7 @@ var AppInsightsCore$1 = /** @class */ (function () {
4535
4632
  if (!_channels || _channels[_DYN_LENGTH ] === 0) {
4536
4633
  throwError("No " + STR_CHANNELS + " available");
4537
4634
  }
4538
- if (_channels[_DYN_LENGTH ] > 1) {
4635
+ if (_channelConfig && _channelConfig[_DYN_LENGTH ] > 1) {
4539
4636
  var teeController = _self[_DYN_GET_PLUGIN ]("TeeChannelController");
4540
4637
  if (!teeController || !teeController.plugin) {
4541
4638
  _throwInternal(_logger, 1 , 28 , "TeeChannel required");
@@ -4820,27 +4917,26 @@ var AppInsightsCore$1 = /** @class */ (function () {
4820
4917
  return (hasDocument() || !!_configHandler.cfg.enableWParam) ? 0 : -1;
4821
4918
  };
4822
4919
  function _setPluginVersions() {
4920
+ var thePlugins = {};
4823
4921
  _pluginVersionStringArr = [];
4922
+ var _addPluginVersions = function (plugins) {
4923
+ if (plugins) {
4924
+ arrForEach(plugins, function (plugin) {
4925
+ if (plugin[_DYN_IDENTIFIER ] && plugin[_DYN_VERSION ] && !thePlugins[plugin.identifier]) {
4926
+ var ver = plugin[_DYN_IDENTIFIER ] + "=" + plugin[_DYN_VERSION ];
4927
+ _pluginVersionStringArr[_DYN_PUSH ](ver);
4928
+ thePlugins[plugin.identifier] = plugin;
4929
+ }
4930
+ });
4931
+ }
4932
+ };
4933
+ _addPluginVersions(_channels);
4824
4934
  if (_channelConfig) {
4825
4935
  arrForEach(_channelConfig, function (channels) {
4826
- if (channels) {
4827
- arrForEach(channels, function (channel) {
4828
- if (channel[_DYN_IDENTIFIER ] && channel[_DYN_VERSION ]) {
4829
- var ver = channel[_DYN_IDENTIFIER ] + "=" + channel[_DYN_VERSION ];
4830
- _pluginVersionStringArr[_DYN_PUSH ](ver);
4831
- }
4832
- });
4833
- }
4834
- });
4835
- }
4836
- if (_configExtensions) {
4837
- arrForEach(_configExtensions, function (ext) {
4838
- if (ext && ext[_DYN_IDENTIFIER ] && ext[_DYN_VERSION ]) {
4839
- var ver = ext[_DYN_IDENTIFIER ] + "=" + ext[_DYN_VERSION ];
4840
- _pluginVersionStringArr[_DYN_PUSH ](ver);
4841
- }
4936
+ _addPluginVersions(channels);
4842
4937
  });
4843
4938
  }
4939
+ _addPluginVersions(_configExtensions);
4844
4940
  }
4845
4941
  function _initDefaults() {
4846
4942
  _isInitialized = false;
@@ -5479,7 +5575,8 @@ function removePageShowEventListener(listener, evtNamespace) {
5479
5575
  var LoggingSeverity = createEnumStyle({
5480
5576
  DISABLED: 0 ,
5481
5577
  CRITICAL: 1 ,
5482
- WARNING: 2
5578
+ WARNING: 2 ,
5579
+ DEBUG: 3
5483
5580
  });
5484
5581
 
5485
5582
  var ValueKind = createEnumStyle({
@@ -5533,7 +5630,7 @@ var STR_DEFAULT_ENDPOINT_URL = "https://browser.events.data.microsoft.com/OneCol
5533
5630
  var STR_VERSION = "version";
5534
5631
 
5535
5632
  var _a;
5536
- var Version = '4.0.0';
5633
+ var Version = '4.0.1';
5537
5634
  var FullVersionString = "1DS-Web-JS-" + Version;
5538
5635
  var ObjHasOwnProperty = ObjProto.hasOwnProperty;
5539
5636
  var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
@@ -5901,6 +5998,9 @@ var ValueSanitizer = /** @class */ (function () {
5901
5998
  }
5902
5999
  return result;
5903
6000
  }
6001
+ _self.clearCache = function () {
6002
+ _sanitizerMap = {};
6003
+ };
5904
6004
  _self.addSanitizer = function (newSanitizer) {
5905
6005
  if (newSanitizer) {
5906
6006
  if (!arrIncludes(_sanitizers, newSanitizer)) {