@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,5 +1,5 @@
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
  */
@@ -12,12 +12,14 @@
12
12
  var MinChannelPriorty = 100;
13
13
 
14
14
  var UNDEF_VALUE = undefined;
15
+ var NULL_VALUE = null;
15
16
  var EMPTY = "";
16
17
  var BOOLEAN = "boolean";
17
18
  var FUNCTION = "function";
18
19
  var NUMBER = "number";
19
20
  var OBJECT = "object";
20
21
  var PROTOTYPE = "prototype";
22
+ var __PROTO__ = "__proto__";
21
23
  var STRING = "string";
22
24
  var UNDEFINED = "undefined";
23
25
  var CONSTRUCTOR = "constructor";
@@ -69,21 +71,17 @@
69
71
  return typeof value === UNDEFINED || value === UNDEFINED;
70
72
  }
71
73
  function isNullOrUndefined(value) {
72
- return value === null || isUndefined(value);
74
+ return value === NULL_VALUE || isUndefined(value);
73
75
  }
74
76
  function isStrictNullOrUndefined(value) {
75
- return value === null || !isDefined(value);
77
+ return value === NULL_VALUE || !isDefined(value);
76
78
  }
77
79
  function isDefined(arg) {
78
80
  return !!arg || arg !== UNDEF_VALUE;
79
81
  }
80
- function isPrimitive(value) {
81
- var theType = typeof value;
82
- if (value && theType === OBJECT) {
83
- return false;
84
- }
85
- return value === null || PRIMITIVE_TYPES.indexOf(theType) !== -1;
86
- }
82
+ var isPrimitiveType = function (theType) {
83
+ return theType !== OBJECT && PRIMITIVE_TYPES.indexOf(theType) !== -1;
84
+ };
87
85
  var isString = _createIs(STRING);
88
86
  var isFunction = _createIs(FUNCTION);
89
87
  function isObject(value) {
@@ -148,9 +146,10 @@
148
146
 
149
147
  var _objFreeze = ObjClass$1["freeze"];
150
148
  var _doNothing = function (value) { return value; };
149
+ var _getProto = function (value) { return value[__PROTO__] || NULL_VALUE; };
151
150
  var objAssign = ObjClass$1["assign"];
152
151
  function objKeys(value) {
153
- if (!isObject(value) || value === null) {
152
+ if (!isObject(value) || value === NULL_VALUE) {
154
153
  throwTypeError("objKeys called on non-object");
155
154
  }
156
155
  return ObjClass$1.keys(value);
@@ -167,7 +166,7 @@
167
166
  }
168
167
  var objFreeze = _objFreeze || _doNothing;
169
168
  var objSeal = ObjClass$1["seal"] || _doNothing;
170
- var objGetPrototypeOf = ObjClass$1["getPrototypeOf"] || _doNothing;
169
+ var objGetPrototypeOf = ObjClass$1["getPrototypeOf"] || _getProto;
171
170
 
172
171
  function createEnum(values) {
173
172
  return _createKeyValueMap(values, 1 , 0 , objDeepFreeze);
@@ -227,7 +226,7 @@
227
226
  }
228
227
  else {
229
228
  try {
230
- propertyValueDump = JSON.stringify(object, null, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
229
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
231
230
  }
232
231
  catch (e) {
233
232
  propertyValueDump = " - " + dumpObj(e, format);
@@ -371,7 +370,7 @@
371
370
  var _globalLazyTestHooks;
372
371
  var _fetchLazyTestHooks = function () {
373
372
  _globalLazyTestHooks = _getGlobalConfig();
374
- _fetchLazyTestHooks = null;
373
+ _fetchLazyTestHooks = NULL_VALUE;
375
374
  };
376
375
  function getLazy(cb) {
377
376
  var lazyValue = {};
@@ -413,7 +412,7 @@
413
412
  return safeGetLazy(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE);
414
413
  }
415
414
  function getGlobal(useCached) {
416
- (!_cachedGlobal || useCached === false || (_globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, null));
415
+ (!_cachedGlobal || useCached === false || (_globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, NULL_VALUE));
417
416
  return _cachedGlobal.v;
418
417
  }
419
418
  function getInst(name, useCached) {
@@ -424,7 +423,7 @@
424
423
  if (name === WINDOW && _cachedWindow) {
425
424
  return _cachedWindow.v;
426
425
  }
427
- return null;
426
+ return NULL_VALUE;
428
427
  }
429
428
  function hasDocument() {
430
429
  return !!getDocument();
@@ -484,7 +483,7 @@
484
483
  }
485
484
  function newSymbol(description, noPoly) {
486
485
  (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
487
- return _symbol.v ? _symbol.v(description) : (!noPoly ? polyNewSymbol(description) : null);
486
+ return _symbol.v ? _symbol.v(description) : (!noPoly ? polyNewSymbol(description) : NULL_VALUE);
488
487
  }
489
488
  function symbolFor(key) {
490
489
  (!_symbolFor || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
@@ -568,51 +567,81 @@
568
567
 
569
568
  var arrSlice = _unwrapFunction(SLICE, ArrProto);
570
569
 
570
+ var _objCreate = ObjClass$1["create"];
571
+ var objCreate = _objCreate || polyObjCreate;
572
+ function polyObjCreate(obj) {
573
+ if (!obj) {
574
+ return {};
575
+ }
576
+ var type = typeof obj;
577
+ if (type !== OBJECT && type !== FUNCTION) {
578
+ throw new TypeError("Prototype must be an Object or function: " + dumpObj(obj));
579
+ }
580
+ function tempFunc() { }
581
+ tempFunc[PROTOTYPE] = obj;
582
+ return new tempFunc();
583
+ }
584
+
585
+ var _isProtoArray;
571
586
  function objSetPrototypeOf(obj, proto) {
572
587
  var fn = ObjClass$1["setPrototypeOf"] ||
573
- ({ __proto__: [] } instanceof Array && function (d, b) {
574
- d.__proto__ = b;
575
- }) ||
576
588
  function (d, b) {
577
- objForEachKey(b, function (key, value) { return d[key] = value; });
589
+ !_isProtoArray && (_isProtoArray = getLazy(function () {
590
+ var _a;
591
+ return ((_a = {}, _a[__PROTO__] = [], _a) instanceof Array);
592
+ }));
593
+ _isProtoArray.v ? d[__PROTO__] = b : objForEachKey(b, function (key, value) { return d[key] = value; });
578
594
  };
579
595
  return fn(obj, proto);
580
596
  }
581
597
 
582
- function _createCustomError(name, d, baseClass) {
583
- objSetPrototypeOf(d, baseClass);
598
+ var _createCustomError = function (name, d, b) {
599
+ _safeDefineName(d, name);
600
+ d = objSetPrototypeOf(d, b);
584
601
  function __() {
585
602
  this.constructor = d;
586
- this[NAME] = name;
603
+ _safeDefineName(this, name);
587
604
  }
588
- __[PROTOTYPE] = baseClass[PROTOTYPE];
589
- d[PROTOTYPE] = new __();
605
+ d[PROTOTYPE] = b === NULL_VALUE ? objCreate(b) : (__[PROTOTYPE] = b[PROTOTYPE], new __());
590
606
  return d;
591
- }
607
+ };
592
608
  var _safeSetName = function (baseClass, name) {
593
609
  try {
594
- baseClass[PROTOTYPE][NAME] = name;
610
+ name && (baseClass[NAME] = name);
611
+ }
612
+ catch (e) {
613
+ }
614
+ };
615
+ var _safeDefineName = function (target, name) {
616
+ try {
617
+ objDefine(target, NAME, { v: name, c: true, e: false });
595
618
  }
596
619
  catch (e) {
597
620
  }
598
621
  };
599
- function createCustomError(name, constructCb) {
600
- var baseClass = Error;
601
- var orgName = baseClass[PROTOTYPE][NAME];
602
- var customError = _createCustomError(name, function () {
622
+ function createCustomError(name, constructCb, errorBase) {
623
+ var theBaseClass = errorBase || Error;
624
+ var orgName = theBaseClass[PROTOTYPE][NAME];
625
+ var captureFn = Error.captureStackTrace;
626
+ return _createCustomError(name, function () {
603
627
  var _this = this;
604
628
  try {
605
- _safeSetName(baseClass, name);
606
- _this = baseClass.apply(_this, arguments) || _this;
607
- _this[NAME] = name;
608
- constructCb && constructCb(_this, arguments);
629
+ _safeSetName(theBaseClass, name);
630
+ var _self = theBaseClass.apply(_this, arguments) || _this;
631
+ if (_self !== _this) {
632
+ var orgProto = objGetPrototypeOf(_this);
633
+ if (orgProto !== objGetPrototypeOf(_self)) {
634
+ objSetPrototypeOf(_self, orgProto);
635
+ }
636
+ }
637
+ captureFn && captureFn(_self, _this[CONSTRUCTOR]);
638
+ constructCb && constructCb(_self, arguments);
639
+ return _self;
609
640
  }
610
641
  finally {
611
- _safeSetName(baseClass, orgName);
642
+ _safeSetName(theBaseClass, orgName);
612
643
  }
613
- return _this;
614
- }, baseClass);
615
- return customError;
644
+ }, theBaseClass);
616
645
  }
617
646
 
618
647
  function utcNow() {
@@ -669,11 +698,10 @@
669
698
  return result;
670
699
  }
671
700
 
672
- function _defaultDeepCopyHandler(details) {
673
- var target = details.result = {};
674
- details.copyTo(target, details.value);
701
+ var _defaultDeepCopyHandler = function (details) {
702
+ details.value && plainObjDeepCopyHandler(details);
675
703
  return true;
676
- }
704
+ };
677
705
  var defaultDeepCopyHandlers = [
678
706
  arrayDeepCopyHandler,
679
707
  plainObjDeepCopyHandler,
@@ -703,9 +731,19 @@
703
731
  src: ctx.src,
704
732
  path: newPath
705
733
  };
734
+ var theType = typeof value;
735
+ var isPlain = false;
736
+ var isPrim = false;
737
+ if (value && theType === OBJECT) {
738
+ isPlain = isPlainObject(value);
739
+ }
740
+ else {
741
+ isPrim = value === NULL_VALUE || isPrimitiveType(theType);
742
+ }
706
743
  var details = {
707
- type: typeof value,
708
- isPrim: isPrimitive(value),
744
+ type: theType,
745
+ isPrim: isPrim,
746
+ isPlain: isPlain,
709
747
  value: value,
710
748
  result: value,
711
749
  path: newPath,
@@ -730,7 +768,7 @@
730
768
  var idx = 0;
731
769
  var handler = userHandler;
732
770
  while (!(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler)).call(ctx, details)) {
733
- handler = null;
771
+ handler = NULL_VALUE;
734
772
  }
735
773
  });
736
774
  }
@@ -788,7 +826,7 @@
788
826
  }
789
827
  function plainObjDeepCopyHandler(details) {
790
828
  var value = details.value;
791
- if (isPlainObject(value)) {
829
+ if (value && details.isPlain) {
792
830
  var target = details.result = {};
793
831
  details.copyTo(target, value);
794
832
  return true;
@@ -821,21 +859,6 @@
821
859
  return utcNow();
822
860
  }
823
861
 
824
- var _objCreate = ObjClass$1["create"];
825
- var objCreate = _objCreate || polyObjCreate;
826
- function polyObjCreate(obj) {
827
- if (!obj) {
828
- return {};
829
- }
830
- var type = typeof obj;
831
- if (type !== OBJECT && type !== FUNCTION) {
832
- throw new TypeError("Prototype must be an Object or function: " + dumpObj(obj));
833
- }
834
- function tempFunc() { }
835
- tempFunc[PROTOTYPE] = obj;
836
- return new tempFunc();
837
- }
838
-
839
862
  var strEndsWith = _unwrapFunction("endsWith", StrProto, polyStrEndsWith);
840
863
  function polyStrEndsWith(value, searchString, length) {
841
864
  if (!isString(value)) {
@@ -857,7 +880,7 @@
857
880
  function _createTimerHandler(startTimer, refreshFn, cancelFn) {
858
881
  var _a;
859
882
  var ref = true;
860
- var timerId = startTimer ? refreshFn(null) : null;
883
+ var timerId = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;
861
884
  var theTimerHandler;
862
885
  var _unref = function () {
863
886
  ref = false;
@@ -884,7 +907,7 @@
884
907
  };
885
908
  var _cancel = function () {
886
909
  timerId && cancelFn(timerId);
887
- timerId = null;
910
+ timerId = NULL_VALUE;
888
911
  };
889
912
  var _setEnabled = function (value) {
890
913
  !value && timerId && _cancel();
@@ -906,7 +929,7 @@
906
929
  return {
907
930
  h: theTimerHandler,
908
931
  dn: function () {
909
- timerId = null;
932
+ timerId = NULL_VALUE;
910
933
  }
911
934
  };
912
935
  }
@@ -954,9 +977,11 @@
954
977
  });
955
978
 
956
979
  var _DYN_TO_LOWER_CASE = "toLowerCase";
980
+ var _DYN_BLK_VAL = "blkVal";
957
981
  var _DYN_LENGTH = "length";
958
982
  var _DYN_RD_ONLY = "rdOnly";
959
983
  var _DYN_NOTIFY = "notify";
984
+ var _DYN_WARN_TO_CONSOLE = "warnToConsole";
960
985
  var _DYN_THROW_INTERNAL = "throwInternal";
961
986
  var _DYN_SET_DF = "setDf";
962
987
  var _DYN_WATCH = "watch";
@@ -964,6 +989,7 @@
964
989
  var _DYN_APPLY = "apply";
965
990
  var _DYN_PUSH = "push";
966
991
  var _DYN_SPLICE = "splice";
992
+ var _DYN_HDLR = "hdlr";
967
993
  var _DYN_CANCEL = "cancel";
968
994
  var _DYN_INITIALIZE = "initialize";
969
995
  var _DYN_IDENTIFIER = "identifier";
@@ -1065,7 +1091,7 @@
1065
1091
  return to;
1066
1092
  }
1067
1093
 
1068
- var _a$4;
1094
+ var _a$5;
1069
1095
  var Constructor = 'constructor';
1070
1096
  var Prototype = 'prototype';
1071
1097
  var strFunction = 'function';
@@ -1088,10 +1114,10 @@
1088
1114
  var _objGetOwnProps = Obj["getOwnPropertyNames"];
1089
1115
  var _gbl = getGlobal();
1090
1116
  var _gblInst = _gbl[DynProtoGlobalSettings] || (_gbl[DynProtoGlobalSettings] = {
1091
- o: (_a$4 = {},
1092
- _a$4[strSetInstFuncs] = true,
1093
- _a$4[strUseBaseInst] = true,
1094
- _a$4),
1117
+ o: (_a$5 = {},
1118
+ _a$5[strSetInstFuncs] = true,
1119
+ _a$5[strUseBaseInst] = true,
1120
+ _a$5),
1095
1121
  n: 1000
1096
1122
  });
1097
1123
  function _isObjectOrArrayPrototype(target) {
@@ -1679,8 +1705,6 @@
1679
1705
  var STR_EVENTS_DISCARDED = "eventsDiscarded";
1680
1706
  var STR_EVENTS_SEND_REQUEST = "eventsSendRequest";
1681
1707
  var STR_PERF_EVENT = "perfEvent";
1682
- var STR_ERROR_TO_CONSOLE = "errorToConsole";
1683
- var STR_WARN_TO_CONSOLE = "warnToConsole";
1684
1708
  var STR_GET_PERF_MGR = "getPerfMgr";
1685
1709
  var STR_DOMAIN = "domain";
1686
1710
  var STR_PATH = "path";
@@ -2074,7 +2098,7 @@
2074
2098
  return result;
2075
2099
  }
2076
2100
 
2077
- var version = '3.0.1';
2101
+ var version = '3.0.2';
2078
2102
  var instanceName = "." + newId(6);
2079
2103
  var _dataUid = 0;
2080
2104
  function _canAcceptData(target) {
@@ -2202,10 +2226,12 @@
2202
2226
  var mergeDf;
2203
2227
  var reference;
2204
2228
  var readOnly;
2229
+ var blkDynamicValue;
2205
2230
  if (_isConfigDefaults(cfgDefaults)) {
2206
2231
  isValid = cfgDefaults.isVal;
2207
2232
  setFn = cfgDefaults.set;
2208
2233
  readOnly = cfgDefaults[_DYN_RD_ONLY ];
2234
+ blkDynamicValue = cfgDefaults[_DYN_BLK_VAL ];
2209
2235
  mergeDf = cfgDefaults.mrg;
2210
2236
  reference = cfgDefaults.ref;
2211
2237
  if (!reference && isUndefined(reference)) {
@@ -2216,6 +2242,9 @@
2216
2242
  else {
2217
2243
  defValue = defaultValue;
2218
2244
  }
2245
+ if (blkDynamicValue) {
2246
+ dynamicHandler[_DYN_BLK_VAL ](theConfig, name);
2247
+ }
2219
2248
  var theValue;
2220
2249
  var usingDefault = true;
2221
2250
  var cfgValue = theConfig[name];
@@ -2306,9 +2335,9 @@
2306
2335
  }
2307
2336
  return value;
2308
2337
  }
2309
- function _canMakeDynamic(value) {
2338
+ function _canMakeDynamic(getFunc, state, value) {
2310
2339
  var result = false;
2311
- if (value) {
2340
+ if (value && !getFunc[state.blkVal]) {
2312
2341
  result = value[FORCE_DYNAMIC];
2313
2342
  if (!result && !value[BLOCK_DYNAMIC]) {
2314
2343
  result = isPlainObject(value) || isArray(value);
@@ -2327,7 +2356,10 @@
2327
2356
  "unshift",
2328
2357
  "splice"
2329
2358
  ];
2330
- function _patchArray(state, target) {
2359
+ var _throwDynamicError = function (logger, name, desc, e) {
2360
+ logger && logger[_DYN_THROW_INTERNAL ](3 , 108 , "".concat(desc, " [").concat(name, "] failed - ") + dumpObj(e));
2361
+ };
2362
+ function _patchArray(state, target, name) {
2331
2363
  if (isArray(target)) {
2332
2364
  arrForEach(arrayMethodsToPatch, function (method) {
2333
2365
  var orgMethod = target[method];
@@ -2337,7 +2369,7 @@
2337
2369
  args[_i] = arguments[_i];
2338
2370
  }
2339
2371
  var result = orgMethod[_DYN_APPLY ](this, args);
2340
- _makeDynamicObject(state, target);
2372
+ _makeDynamicObject(state, target, name, "Patching");
2341
2373
  return result;
2342
2374
  };
2343
2375
  });
@@ -2347,7 +2379,7 @@
2347
2379
  var propDesc = objGetOwnPropertyDescriptor(target, name);
2348
2380
  return propDesc && propDesc.get;
2349
2381
  }
2350
- function _makeDynamicProperty(state, theConfig, name, value) {
2382
+ function _createDynamicProperty(state, theConfig, name, value) {
2351
2383
  var detail = {
2352
2384
  n: name,
2353
2385
  h: [],
@@ -2370,9 +2402,9 @@
2370
2402
  var isObjectOrArray = false;
2371
2403
  function _getProperty() {
2372
2404
  if (checkDynamic) {
2373
- isObjectOrArray = isObjectOrArray || _canMakeDynamic(value);
2405
+ isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
2374
2406
  if (value && !value[CFG_HANDLER_LINK] && isObjectOrArray) {
2375
- value = _makeDynamicObject(state, value);
2407
+ value = _makeDynamicObject(state, value, name, "Converting");
2376
2408
  }
2377
2409
  checkDynamic = false;
2378
2410
  }
@@ -2393,7 +2425,7 @@
2393
2425
  throwInvalidAccess("[" + name + "] is read-only:" + dumpObj(theConfig));
2394
2426
  }
2395
2427
  if (checkDynamic) {
2396
- isObjectOrArray = isObjectOrArray || _canMakeDynamic(value);
2428
+ isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
2397
2429
  checkDynamic = false;
2398
2430
  }
2399
2431
  var isReferenced = isObjectOrArray && _getProperty[state.rf];
@@ -2402,10 +2434,16 @@
2402
2434
  objForEachKey(value, function (key) {
2403
2435
  value[key] = newValue ? newValue[key] : UNDEFINED_VALUE;
2404
2436
  });
2405
- objForEachKey(newValue, function (key, theValue) {
2406
- _setDynamicProperty(state, value, key, theValue);
2407
- });
2408
- newValue = value;
2437
+ try {
2438
+ objForEachKey(newValue, function (key, theValue) {
2439
+ _setDynamicProperty(state, value, key, theValue);
2440
+ });
2441
+ newValue = value;
2442
+ }
2443
+ catch (e) {
2444
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, "Assigning", e);
2445
+ isObjectOrArray = false;
2446
+ }
2409
2447
  }
2410
2448
  else if (value && value[CFG_HANDLER_LINK]) {
2411
2449
  objForEachKey(value, function (key) {
@@ -2418,9 +2456,9 @@
2418
2456
  }
2419
2457
  }
2420
2458
  if (newValue !== value) {
2421
- var newIsObjectOrArray = newValue && _canMakeDynamic(newValue);
2459
+ var newIsObjectOrArray = newValue && _canMakeDynamic(_getProperty, state, newValue);
2422
2460
  if (!isReferenced && newIsObjectOrArray) {
2423
- _makeDynamicObject(state, newValue);
2461
+ newValue = _makeDynamicObject(state, newValue, name, "Converting");
2424
2462
  }
2425
2463
  value = newValue;
2426
2464
  isObjectOrArray = newIsObjectOrArray;
@@ -2430,39 +2468,71 @@
2430
2468
  }
2431
2469
  objDefine(theConfig, detail.n, { g: _getProperty, s: _setProperty });
2432
2470
  }
2433
- function _setDynamicProperty(state, target, name, value, inPlace, rdOnly) {
2471
+ function _setDynamicProperty(state, target, name, value) {
2434
2472
  if (target) {
2435
2473
  var getter = _getOwnPropGetter(target, name);
2436
2474
  var isDynamic = getter && !!getter[state.prop];
2437
2475
  if (!isDynamic) {
2438
- _makeDynamicProperty(state, target, name, value);
2439
- if (inPlace || rdOnly) {
2440
- getter = _getOwnPropGetter(target, name);
2441
- }
2476
+ _createDynamicProperty(state, target, name, value);
2442
2477
  }
2443
2478
  else {
2444
2479
  target[name] = value;
2445
2480
  }
2481
+ }
2482
+ return target;
2483
+ }
2484
+ function _setDynamicPropertyState(state, target, name, flags) {
2485
+ if (target) {
2486
+ var getter = _getOwnPropGetter(target, name);
2487
+ var isDynamic = getter && !!getter[state.prop];
2488
+ var inPlace = flags && flags[0 ];
2489
+ var rdOnly = flags && flags[1 ];
2490
+ var blkProp = flags && flags[2 ];
2491
+ if (!isDynamic) {
2492
+ if (blkProp) {
2493
+ try {
2494
+ blockDynamicConversion(target);
2495
+ }
2496
+ catch (e) {
2497
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, "Blocking", e);
2498
+ }
2499
+ }
2500
+ try {
2501
+ _setDynamicProperty(state, target, name, target[name]);
2502
+ getter = _getOwnPropGetter(target, name);
2503
+ }
2504
+ catch (e) {
2505
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, "State", e);
2506
+ }
2507
+ }
2446
2508
  if (inPlace) {
2447
2509
  getter[state.rf] = inPlace;
2448
2510
  }
2449
2511
  if (rdOnly) {
2450
2512
  getter[state.ro] = rdOnly;
2451
2513
  }
2514
+ if (blkProp) {
2515
+ getter[state.blkVal] = true;
2516
+ }
2452
2517
  }
2453
2518
  return target;
2454
2519
  }
2455
- function _makeDynamicObject(state, target) {
2456
- objForEachKey(target, function (key, value) {
2457
- _setDynamicProperty(state, target, key, value);
2458
- });
2459
- if (!target[CFG_HANDLER_LINK]) {
2460
- objDefineProp(target, CFG_HANDLER_LINK, {
2461
- get: function () {
2462
- return state.hdlr;
2463
- }
2520
+ function _makeDynamicObject(state, target, name, desc) {
2521
+ try {
2522
+ objForEachKey(target, function (key, value) {
2523
+ _setDynamicProperty(state, target, key, value);
2464
2524
  });
2465
- _patchArray(state, target);
2525
+ if (!target[CFG_HANDLER_LINK]) {
2526
+ objDefineProp(target, CFG_HANDLER_LINK, {
2527
+ get: function () {
2528
+ return state[_DYN_HDLR ];
2529
+ }
2530
+ });
2531
+ _patchArray(state, target, name);
2532
+ }
2533
+ }
2534
+ catch (e) {
2535
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, desc, e);
2466
2536
  }
2467
2537
  return target;
2468
2538
  }
@@ -2474,6 +2544,7 @@
2474
2544
  var dynamicPropertySymbol = newSymbol(symPrefix + "get" + cfgHandler.uid + symPostfix);
2475
2545
  var dynamicPropertyReadOnly = newSymbol(symPrefix + "ro" + cfgHandler.uid + symPostfix);
2476
2546
  var dynamicPropertyReferenced = newSymbol(symPrefix + "rf" + cfgHandler.uid + symPostfix);
2547
+ var dynamicPropertyBlockValue = newSymbol(symPrefix + "blkVal" + cfgHandler.uid + symPostfix);
2477
2548
  var dynamicPropertyDetail = newSymbol(symPrefix + "dtl" + cfgHandler.uid + symPostfix);
2478
2549
  var _waitingHandlers = null;
2479
2550
  var _watcherTimer = null;
@@ -2575,10 +2646,11 @@
2575
2646
  theState = (_a = {
2576
2647
  prop: dynamicPropertySymbol,
2577
2648
  ro: dynamicPropertyReadOnly,
2578
- rf: dynamicPropertyReferenced,
2579
- hdlr: cfgHandler,
2580
- add: _addWatcher
2649
+ rf: dynamicPropertyReferenced
2581
2650
  },
2651
+ _a[_DYN_BLK_VAL ] = dynamicPropertyBlockValue,
2652
+ _a[_DYN_HDLR ] = cfgHandler,
2653
+ _a.add = _addWatcher,
2582
2654
  _a[_DYN_NOTIFY ] = _notifyWatchers,
2583
2655
  _a.use = _useHandler,
2584
2656
  _a.trk = _trackHandler,
@@ -2611,7 +2683,13 @@
2611
2683
  theState[_DYN_NOTIFY ]();
2612
2684
  }
2613
2685
  function _setValue(target, name, value) {
2614
- return _setDynamicProperty(theState, target, name, value)[name];
2686
+ try {
2687
+ target = _setDynamicProperty(theState, target, name, value);
2688
+ }
2689
+ catch (e) {
2690
+ _throwDynamicError(logger, name, "Setting value", e);
2691
+ }
2692
+ return target[name];
2615
2693
  }
2616
2694
  function _watch(configHandler) {
2617
2695
  return _createAndUseHandler(theState, configHandler);
@@ -2631,10 +2709,16 @@
2631
2709
  });
2632
2710
  }
2633
2711
  function _ref(target, name) {
2634
- return _setDynamicProperty(theState, target, name, target[name], true)[name];
2712
+ var _a;
2713
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 ] = true, _a))[name];
2635
2714
  }
2636
2715
  function _rdOnly(target, name) {
2637
- return _setDynamicProperty(theState, target, name, target[name], false, true)[name];
2716
+ var _a;
2717
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 ] = true, _a))[name];
2718
+ }
2719
+ function _blkPropValue(target, name) {
2720
+ var _a;
2721
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 ] = true, _a))[name];
2638
2722
  }
2639
2723
  function _applyDefaults(theConfig, defaultValues) {
2640
2724
  if (defaultValues) {
@@ -2655,6 +2739,7 @@
2655
2739
  _a[_DYN_WATCH ] = _watch,
2656
2740
  _a.ref = _ref,
2657
2741
  _a[_DYN_RD_ONLY ] = _rdOnly,
2742
+ _a[_DYN_BLK_VAL ] = _blkPropValue,
2658
2743
  _a._block = _block,
2659
2744
  _a);
2660
2745
  objDefine(cfgHandler, "uid", {
@@ -2664,12 +2749,12 @@
2664
2749
  v: uid
2665
2750
  });
2666
2751
  theState = _createState(cfgHandler);
2667
- _makeDynamicObject(theState, newTarget);
2752
+ _makeDynamicObject(theState, newTarget, "config", "Creating");
2668
2753
  return cfgHandler;
2669
2754
  }
2670
2755
  function _logInvalidAccess(logger, message) {
2671
2756
  if (logger) {
2672
- logger[STR_WARN_TO_CONSOLE ](message);
2757
+ logger[_DYN_WARN_TO_CONSOLE ](message);
2673
2758
  logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
2674
2759
  }
2675
2760
  else {
@@ -2763,6 +2848,8 @@
2763
2848
  return _debugListener;
2764
2849
  }
2765
2850
 
2851
+ var _a$4;
2852
+ var STR_WARN_TO_CONSOLE = "warnToConsole";
2766
2853
  var AiNonUserActionablePrefix = "AI (Internal): ";
2767
2854
  var AiUserActionablePrefix = "AI: ";
2768
2855
  var AIInternalMessagePrefix = "AITR_";
@@ -2772,6 +2859,12 @@
2772
2859
  maxMessageLimit: 25,
2773
2860
  enableDebug: false
2774
2861
  };
2862
+ var _logFuncs = (_a$4 = {},
2863
+ _a$4[0 ] = null,
2864
+ _a$4[1 ] = "errorToConsole",
2865
+ _a$4[2 ] = STR_WARN_TO_CONSOLE,
2866
+ _a$4[3 ] = "debugToConsole",
2867
+ _a$4);
2775
2868
  function _sanitizeDiagnosticText(text) {
2776
2869
  if (text) {
2777
2870
  return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
@@ -2833,7 +2926,7 @@
2833
2926
  throw dumpObj(message);
2834
2927
  }
2835
2928
  else {
2836
- var logFunc = severity === 1 ? STR_ERROR_TO_CONSOLE : STR_WARN_TO_CONSOLE;
2929
+ var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
2837
2930
  if (!isUndefined(message[_DYN_MESSAGE ])) {
2838
2931
  if (isUserAct) {
2839
2932
  var messageKey = +message[_DYN_MESSAGE_ID ];
@@ -2854,11 +2947,15 @@
2854
2947
  }
2855
2948
  }
2856
2949
  };
2857
- _self[STR_WARN_TO_CONSOLE ] = function (message) {
2950
+ _self.debugToConsole = function (message) {
2951
+ _logToConsole("debug", message);
2952
+ _debugExtMsg("warning", message);
2953
+ };
2954
+ _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
2858
2955
  _logToConsole("warn", message);
2859
2956
  _debugExtMsg("warning", message);
2860
2957
  };
2861
- _self[STR_ERROR_TO_CONSOLE ] = function (message) {
2958
+ _self.errorToConsole = function (message) {
2862
2959
  _logToConsole("error", message);
2863
2960
  _debugExtMsg("error", message);
2864
2961
  };
@@ -2894,10 +2991,10 @@
2894
2991
  var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
2895
2992
  _self.queue[_DYN_PUSH ](throttleMessage);
2896
2993
  if (severity === 1 ) {
2897
- _self[STR_ERROR_TO_CONSOLE ](throttleLimitMessage);
2994
+ _self.errorToConsole(throttleLimitMessage);
2898
2995
  }
2899
2996
  else {
2900
- _self[STR_WARN_TO_CONSOLE ](throttleLimitMessage);
2997
+ _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
2901
2998
  }
2902
2999
  }
2903
3000
  }
@@ -2933,7 +3030,7 @@
2933
3030
  _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
2934
3031
  }
2935
3032
  function _warnToConsole(logger, message) {
2936
- _getLogger(logger)[STR_WARN_TO_CONSOLE ](message);
3033
+ _getLogger(logger)[_DYN_WARN_TO_CONSOLE ](message);
2937
3034
  }
2938
3035
  function _logInternalMessage(logger, severity, message) {
2939
3036
  _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
@@ -4518,7 +4615,7 @@
4518
4615
  if (!_channels || _channels[_DYN_LENGTH ] === 0) {
4519
4616
  throwError("No " + STR_CHANNELS + " available");
4520
4617
  }
4521
- if (_channels[_DYN_LENGTH ] > 1) {
4618
+ if (_channelConfig && _channelConfig[_DYN_LENGTH ] > 1) {
4522
4619
  var teeController = _self[_DYN_GET_PLUGIN ]("TeeChannelController");
4523
4620
  if (!teeController || !teeController.plugin) {
4524
4621
  _throwInternal(_logger, 1 , 28 , "TeeChannel required");
@@ -4803,27 +4900,26 @@
4803
4900
  return (hasDocument() || !!_configHandler.cfg.enableWParam) ? 0 : -1;
4804
4901
  };
4805
4902
  function _setPluginVersions() {
4903
+ var thePlugins = {};
4806
4904
  _pluginVersionStringArr = [];
4905
+ var _addPluginVersions = function (plugins) {
4906
+ if (plugins) {
4907
+ arrForEach(plugins, function (plugin) {
4908
+ if (plugin[_DYN_IDENTIFIER ] && plugin[_DYN_VERSION ] && !thePlugins[plugin.identifier]) {
4909
+ var ver = plugin[_DYN_IDENTIFIER ] + "=" + plugin[_DYN_VERSION ];
4910
+ _pluginVersionStringArr[_DYN_PUSH ](ver);
4911
+ thePlugins[plugin.identifier] = plugin;
4912
+ }
4913
+ });
4914
+ }
4915
+ };
4916
+ _addPluginVersions(_channels);
4807
4917
  if (_channelConfig) {
4808
4918
  arrForEach(_channelConfig, function (channels) {
4809
- if (channels) {
4810
- arrForEach(channels, function (channel) {
4811
- if (channel[_DYN_IDENTIFIER ] && channel[_DYN_VERSION ]) {
4812
- var ver = channel[_DYN_IDENTIFIER ] + "=" + channel[_DYN_VERSION ];
4813
- _pluginVersionStringArr[_DYN_PUSH ](ver);
4814
- }
4815
- });
4816
- }
4817
- });
4818
- }
4819
- if (_configExtensions) {
4820
- arrForEach(_configExtensions, function (ext) {
4821
- if (ext && ext[_DYN_IDENTIFIER ] && ext[_DYN_VERSION ]) {
4822
- var ver = ext[_DYN_IDENTIFIER ] + "=" + ext[_DYN_VERSION ];
4823
- _pluginVersionStringArr[_DYN_PUSH ](ver);
4824
- }
4919
+ _addPluginVersions(channels);
4825
4920
  });
4826
4921
  }
4922
+ _addPluginVersions(_configExtensions);
4827
4923
  }
4828
4924
  function _initDefaults() {
4829
4925
  _isInitialized = false;
@@ -5462,7 +5558,8 @@
5462
5558
  var LoggingSeverity = createEnumStyle({
5463
5559
  DISABLED: 0 ,
5464
5560
  CRITICAL: 1 ,
5465
- WARNING: 2
5561
+ WARNING: 2 ,
5562
+ DEBUG: 3
5466
5563
  });
5467
5564
 
5468
5565
  var ValueKind = createEnumStyle({
@@ -5516,7 +5613,7 @@
5516
5613
  var STR_VERSION = "version";
5517
5614
 
5518
5615
  var _a;
5519
- var Version = '4.0.0';
5616
+ var Version = '4.0.1';
5520
5617
  var FullVersionString = "1DS-Web-JS-" + Version;
5521
5618
  var ObjHasOwnProperty = ObjProto.hasOwnProperty;
5522
5619
  var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
@@ -5884,6 +5981,9 @@
5884
5981
  }
5885
5982
  return result;
5886
5983
  }
5984
+ _self.clearCache = function () {
5985
+ _sanitizerMap = {};
5986
+ };
5887
5987
  _self.addSanitizer = function (newSanitizer) {
5888
5988
  if (newSanitizer) {
5889
5989
  if (!arrIncludes(_sanitizers, newSanitizer)) {