@microsoft/applicationinsights-analytics-js 3.0.0-beta.2210-01 → 3.0.0-beta.2210-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.
- package/browser/applicationinsights-analytics-js.integrity.json +9 -9
- package/browser/applicationinsights-analytics-js.js +1013 -542
- package/browser/applicationinsights-analytics-js.js.map +1 -1
- package/browser/applicationinsights-analytics-js.min.js +2 -2
- package/browser/applicationinsights-analytics-js.min.js.map +1 -1
- package/dist/applicationinsights-analytics-js.api.json +5 -43
- package/dist/applicationinsights-analytics-js.api.md +2 -6
- package/dist/applicationinsights-analytics-js.d.ts +15 -18
- package/dist/applicationinsights-analytics-js.js +1013 -542
- package/dist/applicationinsights-analytics-js.js.map +1 -1
- package/dist/applicationinsights-analytics-js.min.js +2 -2
- package/dist/applicationinsights-analytics-js.min.js.map +1 -1
- package/dist/applicationinsights-analytics-js.rollup.d.ts +15 -18
- package/dist-esm/JavaScriptSDK/AnalyticsPlugin.js +155 -148
- package/dist-esm/JavaScriptSDK/AnalyticsPlugin.js.map +1 -1
- package/dist-esm/JavaScriptSDK/Telemetry/PageViewManager.js +14 -15
- package/dist-esm/JavaScriptSDK/Telemetry/PageViewManager.js.map +1 -1
- package/dist-esm/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js +9 -10
- package/dist-esm/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js.map +1 -1
- package/dist-esm/JavaScriptSDK/Telemetry/PageVisitTimeManager.js +8 -9
- package/dist-esm/JavaScriptSDK/Telemetry/PageVisitTimeManager.js.map +1 -1
- package/dist-esm/JavaScriptSDK/Timing.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryConfig.js +1 -1
- package/dist-esm/__DynamicConstants.js +16 -24
- package/dist-esm/__DynamicConstants.js.map +1 -1
- package/dist-esm/applicationinsights-analytics-js.js +1 -1
- package/package.json +6 -6
- package/src/JavaScriptSDK/AnalyticsPlugin.ts +177 -175
- package/src/JavaScriptSDK/Telemetry/PageVisitTimeManager.ts +4 -4
- package/src/__DynamicConstants.ts +15 -23
- package/types/JavaScriptSDK/AnalyticsPlugin.d.ts +14 -17
- package/types/JavaScriptSDK/Telemetry/PageVisitTimeManager.d.ts +3 -3
- package/types/__DynamicConstants.d.ts +15 -23
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Web Analytics, 3.0.0-beta.2210-
|
|
2
|
+
* Application Insights JavaScript SDK - Web Analytics, 3.0.0-beta.2210-03
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
(function (global, factory) {
|
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
var ObjAssign = ObjClass$1["assign"];
|
|
19
19
|
var ObjCreate = ObjClass$1["create"];
|
|
20
20
|
var ObjDefineProperty = ObjClass$1["defineProperty"];
|
|
21
|
-
var ObjHasOwnProperty = ObjProto$1[strShimHasOwnProperty];
|
|
22
21
|
|
|
23
22
|
var _cachedGlobal$1 = null;
|
|
24
23
|
function getGlobal$1(useCached) {
|
|
@@ -348,7 +347,6 @@
|
|
|
348
347
|
|
|
349
348
|
var UNDEF_VALUE = undefined;
|
|
350
349
|
var EMPTY = "";
|
|
351
|
-
var BOOLEAN = "boolean";
|
|
352
350
|
var FUNCTION = "function";
|
|
353
351
|
var NUMBER = "number";
|
|
354
352
|
var OBJECT = "object";
|
|
@@ -356,13 +354,19 @@
|
|
|
356
354
|
var STRING = "string";
|
|
357
355
|
var UNDEFINED = "undefined";
|
|
358
356
|
var HAS_OWN_PROPERTY = "hasOwnProperty";
|
|
357
|
+
var SYMBOL = "Symbol";
|
|
358
|
+
var POLYFILL_TAG = "_polyfill";
|
|
359
359
|
var INDEX_OF = "indexOf";
|
|
360
360
|
var LENGTH = "length";
|
|
361
|
+
var DONE = "done";
|
|
362
|
+
var VALUE = "value";
|
|
361
363
|
var ObjClass = Object;
|
|
362
364
|
var ObjProto = ObjClass[PROTOTYPE];
|
|
363
365
|
var StrCls = String;
|
|
364
366
|
var StrProto = StrCls[PROTOTYPE];
|
|
367
|
+
var MathCls = Math;
|
|
365
368
|
var ArrCls = Array;
|
|
369
|
+
var ArrProto = ArrCls[PROTOTYPE];
|
|
366
370
|
|
|
367
371
|
function _safeCheck(cb, defValue) {
|
|
368
372
|
var result = defValue;
|
|
@@ -406,7 +410,6 @@
|
|
|
406
410
|
}
|
|
407
411
|
var isArray = ArrCls.isArray;
|
|
408
412
|
var isNumber = _createIs(NUMBER);
|
|
409
|
-
var isBoolean = _createIs(BOOLEAN);
|
|
410
413
|
var isError = _createObjIs("[object Error]");
|
|
411
414
|
function isTruthy(value) {
|
|
412
415
|
return !(!value || _safeCheck(function () { return !(value && (0 + value)); }, !value));
|
|
@@ -482,7 +485,7 @@
|
|
|
482
485
|
return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
|
|
483
486
|
}
|
|
484
487
|
|
|
485
|
-
function objForEachKey(theObject, callbackfn, thisArg) {
|
|
488
|
+
function objForEachKey$1(theObject, callbackfn, thisArg) {
|
|
486
489
|
if (theObject && isObject(theObject)) {
|
|
487
490
|
for (var prop in theObject) {
|
|
488
491
|
if (objHasOwn(theObject, prop)) {
|
|
@@ -514,6 +517,7 @@
|
|
|
514
517
|
throw new TypeError(message);
|
|
515
518
|
}
|
|
516
519
|
|
|
520
|
+
ObjClass["assign"];
|
|
517
521
|
var _objFreeze = ObjClass["freeze"];
|
|
518
522
|
function _doNothing(value) {
|
|
519
523
|
return value;
|
|
@@ -526,7 +530,7 @@
|
|
|
526
530
|
}
|
|
527
531
|
function objDeepFreeze(value) {
|
|
528
532
|
if (_objFreeze) {
|
|
529
|
-
objForEachKey(value, function (key, value) {
|
|
533
|
+
objForEachKey$1(value, function (key, value) {
|
|
530
534
|
if (isArray(value) || isObject(value)) {
|
|
531
535
|
_objFreeze(value);
|
|
532
536
|
}
|
|
@@ -535,16 +539,76 @@
|
|
|
535
539
|
return objFreeze(value);
|
|
536
540
|
}
|
|
537
541
|
var objFreeze = _objFreeze || _doNothing;
|
|
542
|
+
ObjClass["seal"] || _doNothing;
|
|
538
543
|
|
|
539
544
|
function createEnum(values) {
|
|
540
545
|
var theEnum = {};
|
|
541
|
-
objForEachKey(values, function (field, value) {
|
|
546
|
+
objForEachKey$1(values, function (field, value) {
|
|
542
547
|
theEnum[field] = value;
|
|
543
548
|
theEnum[value] = field;
|
|
544
549
|
});
|
|
545
550
|
return objDeepFreeze(theEnum);
|
|
546
551
|
}
|
|
547
552
|
|
|
553
|
+
var POLY_GLOBAL_REGISTORT = "__polySymbols$ts_utils";
|
|
554
|
+
var _polySymbols;
|
|
555
|
+
function _globalSymbolRegistry() {
|
|
556
|
+
if (!_polySymbols) {
|
|
557
|
+
var gbl = getGlobal();
|
|
558
|
+
_polySymbols = gbl[POLY_GLOBAL_REGISTORT] = gbl[POLY_GLOBAL_REGISTORT] || { k: {}, s: {} };
|
|
559
|
+
}
|
|
560
|
+
return _polySymbols;
|
|
561
|
+
}
|
|
562
|
+
function polyNewSymbol(description) {
|
|
563
|
+
var theSymbol = {
|
|
564
|
+
description: "" + description,
|
|
565
|
+
toString: function () { return SYMBOL + "(" + description + ")"; }
|
|
566
|
+
};
|
|
567
|
+
theSymbol[POLYFILL_TAG] = true;
|
|
568
|
+
return theSymbol;
|
|
569
|
+
}
|
|
570
|
+
function polySymbolFor(key) {
|
|
571
|
+
var registry = _globalSymbolRegistry();
|
|
572
|
+
if (!objHasOwn(registry, key)) {
|
|
573
|
+
var newSymbol = polyNewSymbol(key);
|
|
574
|
+
registry.k[key] = newSymbol;
|
|
575
|
+
registry.s[newSymbol] = "" + key;
|
|
576
|
+
}
|
|
577
|
+
return registry.k[key];
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
var _hasSymbol = _safeCheck(function () { return isDefined(Symbol); }, false);
|
|
581
|
+
var _symbol = getInst(SYMBOL);
|
|
582
|
+
var _symbolFor = _symbol && _safeCheck(function () { return _symbol["for"]; }, null);
|
|
583
|
+
_symbol && _safeCheck(function () { return _symbol["keyFor"]; }, null);
|
|
584
|
+
function newSymbol(description, noPoly) {
|
|
585
|
+
return _hasSymbol ? Symbol(description) : (!noPoly ? polyNewSymbol(description) : null);
|
|
586
|
+
}
|
|
587
|
+
var symbolFor = _symbolFor || polySymbolFor;
|
|
588
|
+
|
|
589
|
+
function isIterator(value) {
|
|
590
|
+
return !!value && isFunction(value.next);
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
function arrAppend(target, elms) {
|
|
594
|
+
if (!isUndefined(elms) && target) {
|
|
595
|
+
if (isArray(elms)) {
|
|
596
|
+
ArrProto.push.apply(target, elms);
|
|
597
|
+
}
|
|
598
|
+
else if (isIterator(elms)) {
|
|
599
|
+
var value = elms.next();
|
|
600
|
+
while (!value[DONE]) {
|
|
601
|
+
target.push(value[VALUE]);
|
|
602
|
+
value = elms.next();
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
else {
|
|
606
|
+
target.push(elms);
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
return target;
|
|
610
|
+
}
|
|
611
|
+
|
|
548
612
|
function dumpObj(object, format) {
|
|
549
613
|
var objectTypeDump = objToString(object);
|
|
550
614
|
var propertyValueDump = "";
|
|
@@ -588,7 +652,7 @@
|
|
|
588
652
|
d.__proto__ = b;
|
|
589
653
|
}) ||
|
|
590
654
|
function (d, b) {
|
|
591
|
-
objForEachKey(b, function (key, value) {
|
|
655
|
+
objForEachKey$1(b, function (key, value) {
|
|
592
656
|
d[key] = value;
|
|
593
657
|
});
|
|
594
658
|
};
|
|
@@ -652,7 +716,29 @@
|
|
|
652
716
|
}
|
|
653
717
|
}
|
|
654
718
|
|
|
719
|
+
var mathMax = MathCls.max;
|
|
720
|
+
|
|
721
|
+
var strSlice = _unwrapFunction("slice");
|
|
722
|
+
|
|
723
|
+
var SUB_STR = "substr";
|
|
655
724
|
var strSubstring = _unwrapFunction("substring");
|
|
725
|
+
var strSubstr = StrProto[SUB_STR] ? _unwrapFunction(SUB_STR) : polyStrSubstr;
|
|
726
|
+
function polyStrSubstr(value, start, length) {
|
|
727
|
+
if (isNullOrUndefined(value)) {
|
|
728
|
+
throwTypeError("'polyStrSubstr called with invalid " + dumpObj(value));
|
|
729
|
+
}
|
|
730
|
+
if (length < 0) {
|
|
731
|
+
return EMPTY;
|
|
732
|
+
}
|
|
733
|
+
start = start || 0;
|
|
734
|
+
if (start < 0) {
|
|
735
|
+
start = mathMax(start + value[LENGTH], 0);
|
|
736
|
+
}
|
|
737
|
+
if (isUndefined(length)) {
|
|
738
|
+
return strSlice(value, start);
|
|
739
|
+
}
|
|
740
|
+
return strSlice(value, start, start + length);
|
|
741
|
+
}
|
|
656
742
|
|
|
657
743
|
var ENDS_WITH = "endsWith";
|
|
658
744
|
var strEndsWith = StrProto[ENDS_WITH] ? _unwrapFunction(ENDS_WITH) : polyStrEndsWith;
|
|
@@ -669,6 +755,8 @@
|
|
|
669
755
|
|
|
670
756
|
var strIndexOf = _unwrapFunction(INDEX_OF);
|
|
671
757
|
|
|
758
|
+
var asString = StrCls;
|
|
759
|
+
|
|
672
760
|
function _createTrimFn(exp) {
|
|
673
761
|
return function _doTrim(value) {
|
|
674
762
|
if (isNullOrUndefined(value)) {
|
|
@@ -687,49 +775,54 @@
|
|
|
687
775
|
|
|
688
776
|
var createEnumStyle = createEnum;
|
|
689
777
|
|
|
778
|
+
var _DYN_LENGTH$2 = "length";
|
|
779
|
+
var _DYN_NOTIFY = "notify";
|
|
780
|
+
var _DYN_THROW_INTERNAL = "throwInternal";
|
|
781
|
+
var _DYN_WATCH = "watch";
|
|
782
|
+
var _DYN_LOGGER = "logger";
|
|
783
|
+
var _DYN_CONFIGURABLE = "configurable";
|
|
784
|
+
var _DYN_ENUMERABLE = "enumerable";
|
|
785
|
+
var _DYN_APPLY = "apply";
|
|
786
|
+
var _DYN_INDEX_OF$1 = "indexOf";
|
|
787
|
+
var _DYN_PUSH = "push";
|
|
690
788
|
var _DYN_INITIALIZE = "initialize";
|
|
691
|
-
var _DYN_NAME$1 = "name";
|
|
692
789
|
var _DYN_IDENTIFIER = "identifier";
|
|
693
|
-
var
|
|
790
|
+
var _DYN_SPLICE = "splice";
|
|
694
791
|
var _DYN_IS_INITIALIZED = "isInitialized";
|
|
695
|
-
var
|
|
696
|
-
var _DYN_LOGGER = "logger";
|
|
697
|
-
var _DYN_LENGTH$2 = "length";
|
|
792
|
+
var _DYN_NAME$1 = "name";
|
|
698
793
|
var _DYN_TIME = "time";
|
|
699
794
|
var _DYN_PROCESS_NEXT = "processNext";
|
|
700
795
|
var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
|
|
796
|
+
var _DYN_CALL = "call";
|
|
701
797
|
var _DYN_GET_PLUGIN = "getPlugin";
|
|
702
|
-
var
|
|
798
|
+
var _DYN_LOGGING_LEVEL_CONSOL4 = "loggingLevelConsole";
|
|
703
799
|
var _DYN_TEARDOWN = "teardown";
|
|
704
800
|
var _DYN_MESSAGE_ID = "messageId";
|
|
705
801
|
var _DYN_MESSAGE$2 = "message";
|
|
706
802
|
var _DYN_IS_ASYNC = "isAsync";
|
|
803
|
+
var _DYN_DIAG_LOG$1 = "diagLog";
|
|
707
804
|
var _DYN__DO_TEARDOWN = "_doTeardown";
|
|
708
805
|
var _DYN_UPDATE = "update";
|
|
709
806
|
var _DYN_GET_NEXT = "getNext";
|
|
710
|
-
var _DYN_DIAG_LOG$1 = "diagLog";
|
|
711
807
|
var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
|
|
712
808
|
var _DYN_CREATE_NEW = "createNew";
|
|
713
|
-
var
|
|
714
|
-
var _DYN_INDEX_OF$1 = "indexOf";
|
|
809
|
+
var _DYN_CONFIG = "config";
|
|
715
810
|
var _DYN_SUBSTRING$1 = "substring";
|
|
716
811
|
var _DYN_USER_AGENT = "userAgent";
|
|
717
812
|
var _DYN_SPLIT$1 = "split";
|
|
718
|
-
var _DYN_SUBSTR = "substr";
|
|
719
813
|
var _DYN_NODE_TYPE = "nodeType";
|
|
720
|
-
var _DYN_APPLY = "apply";
|
|
721
814
|
var _DYN_REPLACE = "replace";
|
|
722
|
-
var
|
|
815
|
+
var _DYN_ENABLE_DEBUG_EXCEPTI5 = "enableDebugExceptions";
|
|
723
816
|
var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
|
|
724
817
|
var _DYN_TO_LOWER_CASE$1 = "toLowerCase";
|
|
725
818
|
var _DYN_TYPE = "type";
|
|
726
819
|
var _DYN_HANDLER = "handler";
|
|
727
|
-
var _DYN_CALL = "call";
|
|
728
820
|
var _DYN_IS_CHILD_EVT = "isChildEvt";
|
|
729
821
|
var _DYN_GET_CTX = "getCtx";
|
|
730
822
|
var _DYN_SET_CTX = "setCtx";
|
|
731
823
|
var _DYN_COMPLETE = "complete";
|
|
732
824
|
|
|
825
|
+
var UNDEFINED_VALUE = undefined;
|
|
733
826
|
var STR_EMPTY = "";
|
|
734
827
|
var STR_CORE = "core";
|
|
735
828
|
var STR_DISABLED = "disabled";
|
|
@@ -739,42 +832,19 @@
|
|
|
739
832
|
var STR_ERROR_TO_CONSOLE = "errorToConsole";
|
|
740
833
|
var STR_WARN_TO_CONSOLE = "warnToConsole";
|
|
741
834
|
var STR_GET_PERF_MGR = "getPerfMgr";
|
|
835
|
+
var STR_DOMAIN = "domain";
|
|
836
|
+
var STR_PATH = "path";
|
|
837
|
+
var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
|
|
742
838
|
|
|
743
|
-
var _aiNamespace = null;
|
|
744
|
-
function _getExtensionNamespace() {
|
|
745
|
-
var target = getInst("Microsoft");
|
|
746
|
-
if (target) {
|
|
747
|
-
_aiNamespace = target["ApplicationInsights"];
|
|
748
|
-
}
|
|
749
|
-
return _aiNamespace;
|
|
750
|
-
}
|
|
751
|
-
function getDebugExt(config) {
|
|
752
|
-
var ns = _aiNamespace;
|
|
753
|
-
if (!ns && config.disableDbgExt !== true) {
|
|
754
|
-
ns = _aiNamespace || _getExtensionNamespace();
|
|
755
|
-
}
|
|
756
|
-
return ns ? ns["ChromeDbgExt"] : null;
|
|
757
|
-
}
|
|
758
|
-
|
|
759
|
-
var cString = "String";
|
|
760
|
-
var cObject = "Object";
|
|
761
|
-
var strToISOString = "toISOString";
|
|
762
839
|
var strToString = "toString";
|
|
763
840
|
var strGetPrototypeOf = "getPrototypeOf";
|
|
764
841
|
var strConstructor = "constructor";
|
|
765
|
-
var
|
|
766
|
-
var _dateToISOString = DateProto[strToISOString] || _polyfillRequired("Date", strToISOString);
|
|
767
|
-
var _fnToString = ObjHasOwnProperty[strToString] || _polyfillRequired(cString, strToString);
|
|
842
|
+
var _fnToString = ObjClass$1[strToString];
|
|
768
843
|
var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass$1);
|
|
769
844
|
var rCamelCase = /-([a-z])/g;
|
|
770
845
|
var rNormalizeInvalid = /([^\w\d_$])/g;
|
|
771
846
|
var rLeadingNumeric = /^(\d+[\w\d_$])/;
|
|
772
|
-
|
|
773
|
-
return function () {
|
|
774
|
-
throwUnsupported("Polyfill required for [" + name + "]");
|
|
775
|
-
};
|
|
776
|
-
}
|
|
777
|
-
var _getObjProto = Object[strGetPrototypeOf] || _polyfillRequired(cObject, strGetPrototypeOf);
|
|
847
|
+
var _getObjProto = Object[strGetPrototypeOf];
|
|
778
848
|
function isNotNullOrUndefined(value) {
|
|
779
849
|
return !isNullOrUndefined(value);
|
|
780
850
|
}
|
|
@@ -791,6 +861,7 @@
|
|
|
791
861
|
}
|
|
792
862
|
return value;
|
|
793
863
|
}
|
|
864
|
+
var objForEachKey = objForEachKey$1;
|
|
794
865
|
function strContains(value, search) {
|
|
795
866
|
if (value && search) {
|
|
796
867
|
return strIndexOf(value, search) !== -1;
|
|
@@ -805,7 +876,7 @@
|
|
|
805
876
|
result = true;
|
|
806
877
|
}
|
|
807
878
|
else {
|
|
808
|
-
if (proto[strConstructor] &&
|
|
879
|
+
if (proto[strConstructor] && objHasOwnProperty(proto, strConstructor)) {
|
|
809
880
|
proto = proto[strConstructor];
|
|
810
881
|
}
|
|
811
882
|
result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
|
|
@@ -814,7 +885,7 @@
|
|
|
814
885
|
return result;
|
|
815
886
|
}
|
|
816
887
|
function toISOString(date) {
|
|
817
|
-
return
|
|
888
|
+
return date && date.toISOString() || "";
|
|
818
889
|
}
|
|
819
890
|
function dateNow() {
|
|
820
891
|
var dt = Date;
|
|
@@ -837,9 +908,6 @@
|
|
|
837
908
|
}
|
|
838
909
|
return theValue;
|
|
839
910
|
}
|
|
840
|
-
function getCfgValue(theValue, defaultValue) {
|
|
841
|
-
return !isNullOrUndefined(theValue) ? theValue : defaultValue;
|
|
842
|
-
}
|
|
843
911
|
function _createProxyFunction(source, funcName) {
|
|
844
912
|
var srcFunc = null;
|
|
845
913
|
var src = null;
|
|
@@ -866,111 +934,621 @@
|
|
|
866
934
|
}
|
|
867
935
|
}
|
|
868
936
|
}
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
937
|
+
|
|
938
|
+
var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
|
|
939
|
+
function _cfgDeepCopy(source) {
|
|
940
|
+
if (source) {
|
|
941
|
+
if (isArray(source)) {
|
|
942
|
+
var result_1 = [];
|
|
943
|
+
result_1[_DYN_LENGTH$2 ] = source[_DYN_LENGTH$2 ];
|
|
944
|
+
arrForEach(source, function (value, idx) {
|
|
945
|
+
result_1[idx] = _cfgDeepCopy(value);
|
|
946
|
+
});
|
|
947
|
+
return result_1;
|
|
948
|
+
}
|
|
949
|
+
if (isPlainObject(source)) {
|
|
950
|
+
var target_1 = {};
|
|
951
|
+
objForEachKey$1(source, function (key, value) {
|
|
952
|
+
target_1[key] = _cfgDeepCopy(value);
|
|
953
|
+
});
|
|
954
|
+
return target_1;
|
|
955
|
+
}
|
|
956
|
+
}
|
|
957
|
+
return source;
|
|
958
|
+
}
|
|
959
|
+
function getDynamicConfigHandler(value) {
|
|
960
|
+
if (value) {
|
|
961
|
+
var handler = value[CFG_HANDLER_LINK] || value;
|
|
962
|
+
if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
|
|
963
|
+
return handler;
|
|
964
|
+
}
|
|
965
|
+
}
|
|
966
|
+
return null;
|
|
967
|
+
}
|
|
968
|
+
function throwInvalidAccess(message) {
|
|
969
|
+
throwTypeError("InvalidAccess:" + message);
|
|
970
|
+
}
|
|
971
|
+
|
|
972
|
+
function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
|
|
973
|
+
var defValue;
|
|
974
|
+
var isDefaultValid = cfgDefaults.dfVal || isDefined;
|
|
975
|
+
if (theConfig && cfgDefaults.fb) {
|
|
976
|
+
var fallbacks = cfgDefaults.fb;
|
|
977
|
+
if (!isArray(fallbacks)) {
|
|
978
|
+
fallbacks = [fallbacks];
|
|
979
|
+
}
|
|
980
|
+
for (var lp = 0; lp < fallbacks[_DYN_LENGTH$2 ]; lp++) {
|
|
981
|
+
var fallback = fallbacks[lp];
|
|
982
|
+
var fbValue = theConfig[fallback];
|
|
983
|
+
if (isDefaultValid(fbValue)) {
|
|
984
|
+
defValue = fbValue;
|
|
985
|
+
}
|
|
986
|
+
else {
|
|
987
|
+
fbValue = dynamicHandler.cfg[fallback];
|
|
988
|
+
if (isDefaultValid(fbValue)) {
|
|
989
|
+
defValue = fbValue;
|
|
990
|
+
}
|
|
991
|
+
dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);
|
|
992
|
+
}
|
|
993
|
+
if (isDefaultValid(defValue)) {
|
|
994
|
+
break;
|
|
995
|
+
}
|
|
996
|
+
}
|
|
997
|
+
}
|
|
998
|
+
if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {
|
|
999
|
+
defValue = cfgDefaults.v;
|
|
1000
|
+
}
|
|
1001
|
+
return defValue;
|
|
1002
|
+
}
|
|
1003
|
+
function _applyDefaultValue(theConfig, name, defaultValue) {
|
|
1004
|
+
var dynamicHandler = theConfig[CFG_HANDLER_LINK];
|
|
1005
|
+
if (!dynamicHandler) {
|
|
1006
|
+
throwInvalidAccess(STR_NOT_DYNAMIC_ERROR + dumpObj(theConfig));
|
|
1007
|
+
}
|
|
1008
|
+
var isValid;
|
|
1009
|
+
var setFn;
|
|
1010
|
+
var defValue;
|
|
1011
|
+
var cfgDefaults = defaultValue;
|
|
1012
|
+
if (cfgDefaults && isObject(cfgDefaults) && (cfgDefaults.isVal || cfgDefaults.set || cfgDefaults.fb || objHasOwn(cfgDefaults, "v"))) {
|
|
1013
|
+
isValid = cfgDefaults.isVal;
|
|
1014
|
+
setFn = cfgDefaults.set;
|
|
1015
|
+
defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
|
|
1016
|
+
}
|
|
1017
|
+
else {
|
|
1018
|
+
defValue = defaultValue;
|
|
1019
|
+
}
|
|
1020
|
+
var theValue = defValue;
|
|
1021
|
+
var usingDefault = true;
|
|
1022
|
+
var cfgValue = theConfig[name];
|
|
1023
|
+
if (cfgValue || !isNullOrUndefined(cfgValue)) {
|
|
1024
|
+
theValue = cfgValue;
|
|
1025
|
+
usingDefault = false;
|
|
1026
|
+
}
|
|
1027
|
+
if (!usingDefault) {
|
|
1028
|
+
if (isValid && theValue !== defValue && !isValid(theValue)) {
|
|
1029
|
+
theValue = defValue;
|
|
1030
|
+
usingDefault = true;
|
|
1031
|
+
}
|
|
1032
|
+
if (setFn) {
|
|
1033
|
+
theValue = setFn(theValue, defValue, theConfig);
|
|
1034
|
+
usingDefault = theValue === defValue;
|
|
1035
|
+
}
|
|
1036
|
+
}
|
|
1037
|
+
if (theValue && usingDefault && (isPlainObject(theValue) || isArray(theValue))) {
|
|
1038
|
+
theValue = _cfgDeepCopy(theValue);
|
|
1039
|
+
}
|
|
1040
|
+
dynamicHandler.set(theConfig, name, theValue);
|
|
1041
|
+
}
|
|
1042
|
+
function applyDefaults(theConfig, defaultValues) {
|
|
1043
|
+
if (defaultValues) {
|
|
1044
|
+
if (theConfig && !theConfig[CFG_HANDLER_LINK] && (isPlainObject(theConfig) || isArray(theConfig))) {
|
|
1045
|
+
throwInvalidAccess(STR_NOT_DYNAMIC_ERROR + dumpObj(theConfig));
|
|
1046
|
+
}
|
|
1047
|
+
objForEachKey(defaultValues, function (name, value) {
|
|
1048
|
+
_applyDefaultValue(theConfig, name, value);
|
|
1049
|
+
});
|
|
1050
|
+
}
|
|
1051
|
+
return theConfig;
|
|
1052
|
+
}
|
|
1053
|
+
|
|
1054
|
+
var strLocation = "location";
|
|
1055
|
+
var strConsole = "console";
|
|
1056
|
+
var strPerformance = "performance";
|
|
1057
|
+
var strJSON = "JSON";
|
|
1058
|
+
var strCrypto = "crypto";
|
|
1059
|
+
var strMsCrypto = "msCrypto";
|
|
1060
|
+
var strMsie = "msie";
|
|
1061
|
+
var strTrident = "trident/";
|
|
1062
|
+
var _isTrident = null;
|
|
1063
|
+
var _navUserAgentCheck = null;
|
|
1064
|
+
var _enableMocks = false;
|
|
1065
|
+
function getLocation(checkForMock) {
|
|
1066
|
+
if (checkForMock && _enableMocks) {
|
|
1067
|
+
var mockLocation = getInst("__mockLocation");
|
|
1068
|
+
if (mockLocation) {
|
|
1069
|
+
return mockLocation;
|
|
1070
|
+
}
|
|
1071
|
+
}
|
|
1072
|
+
if (typeof location === strShimObject && location) {
|
|
1073
|
+
return location;
|
|
1074
|
+
}
|
|
1075
|
+
return getInst(strLocation);
|
|
1076
|
+
}
|
|
1077
|
+
function getConsole() {
|
|
1078
|
+
if (typeof console !== strShimUndefined) {
|
|
1079
|
+
return console;
|
|
1080
|
+
}
|
|
1081
|
+
return getInst(strConsole);
|
|
1082
|
+
}
|
|
1083
|
+
function getPerformance() {
|
|
1084
|
+
return getInst(strPerformance);
|
|
1085
|
+
}
|
|
1086
|
+
function hasJSON() {
|
|
1087
|
+
return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
|
|
1088
|
+
}
|
|
1089
|
+
function getJSON() {
|
|
1090
|
+
if (hasJSON()) {
|
|
1091
|
+
return JSON || getInst(strJSON);
|
|
1092
|
+
}
|
|
1093
|
+
return null;
|
|
1094
|
+
}
|
|
1095
|
+
function getCrypto() {
|
|
1096
|
+
return getInst(strCrypto);
|
|
1097
|
+
}
|
|
1098
|
+
function getMsCrypto() {
|
|
1099
|
+
return getInst(strMsCrypto);
|
|
1100
|
+
}
|
|
1101
|
+
function isIE() {
|
|
1102
|
+
var nav = getNavigator();
|
|
1103
|
+
if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
|
|
1104
|
+
_navUserAgentCheck = nav[_DYN_USER_AGENT ];
|
|
1105
|
+
var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
|
|
1106
|
+
_isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
|
|
1107
|
+
}
|
|
1108
|
+
return _isTrident;
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
var UInt32Mask = 0x100000000;
|
|
1112
|
+
var MaxUInt32 = 0xffffffff;
|
|
1113
|
+
var _mwcSeeded = false;
|
|
1114
|
+
var _mwcW = 123456789;
|
|
1115
|
+
var _mwcZ = 987654321;
|
|
1116
|
+
function _mwcSeed(seedValue) {
|
|
1117
|
+
if (seedValue < 0) {
|
|
1118
|
+
seedValue >>>= 0;
|
|
1119
|
+
}
|
|
1120
|
+
_mwcW = (123456789 + seedValue) & MaxUInt32;
|
|
1121
|
+
_mwcZ = (987654321 - seedValue) & MaxUInt32;
|
|
1122
|
+
_mwcSeeded = true;
|
|
1123
|
+
}
|
|
1124
|
+
function _autoSeedMwc() {
|
|
1125
|
+
try {
|
|
1126
|
+
var now = dateNow() & 0x7fffffff;
|
|
1127
|
+
_mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
|
|
1128
|
+
}
|
|
1129
|
+
catch (e) {
|
|
1130
|
+
}
|
|
1131
|
+
}
|
|
1132
|
+
function random32(signed) {
|
|
1133
|
+
var value = 0;
|
|
1134
|
+
var c = getCrypto() || getMsCrypto();
|
|
1135
|
+
if (c && c.getRandomValues) {
|
|
1136
|
+
value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
|
|
1137
|
+
}
|
|
1138
|
+
if (value === 0 && isIE()) {
|
|
1139
|
+
if (!_mwcSeeded) {
|
|
1140
|
+
_autoSeedMwc();
|
|
1141
|
+
}
|
|
1142
|
+
value = mwcRandom32() & MaxUInt32;
|
|
1143
|
+
}
|
|
1144
|
+
if (value === 0) {
|
|
1145
|
+
value = Math.floor((UInt32Mask * Math.random()) | 0);
|
|
1146
|
+
}
|
|
1147
|
+
if (!signed) {
|
|
1148
|
+
value >>>= 0;
|
|
1149
|
+
}
|
|
1150
|
+
return value;
|
|
1151
|
+
}
|
|
1152
|
+
function mwcRandom32(signed) {
|
|
1153
|
+
_mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
|
|
1154
|
+
_mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
|
|
1155
|
+
var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
|
|
1156
|
+
if (!signed) {
|
|
1157
|
+
value >>>= 0;
|
|
1158
|
+
}
|
|
1159
|
+
return value;
|
|
1160
|
+
}
|
|
1161
|
+
function newId(maxLength) {
|
|
1162
|
+
if (maxLength === void 0) { maxLength = 22; }
|
|
1163
|
+
var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
1164
|
+
var number = random32() >>> 0;
|
|
1165
|
+
var chars = 0;
|
|
1166
|
+
var result = STR_EMPTY;
|
|
1167
|
+
while (result[_DYN_LENGTH$2 ] < maxLength) {
|
|
1168
|
+
chars++;
|
|
1169
|
+
result += base64chars.charAt(number & 0x3F);
|
|
1170
|
+
number >>>= 6;
|
|
1171
|
+
if (chars === 5) {
|
|
1172
|
+
number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
|
|
1173
|
+
chars = 0;
|
|
1174
|
+
}
|
|
1175
|
+
}
|
|
1176
|
+
return result;
|
|
1177
|
+
}
|
|
1178
|
+
|
|
1179
|
+
var _objDefineProperty = ObjDefineProperty;
|
|
1180
|
+
var version = "3.0.0-beta.2210-03";
|
|
1181
|
+
var instanceName = "." + newId(6);
|
|
1182
|
+
var _dataUid = 0;
|
|
1183
|
+
function _createAccessor(target, prop, value) {
|
|
1184
|
+
var _a;
|
|
1185
|
+
if (_objDefineProperty) {
|
|
1186
|
+
try {
|
|
1187
|
+
_objDefineProperty(target, prop, (_a = {
|
|
1188
|
+
value: value
|
|
1189
|
+
},
|
|
1190
|
+
_a[_DYN_ENUMERABLE ] = false,
|
|
1191
|
+
_a[_DYN_CONFIGURABLE ] = true,
|
|
1192
|
+
_a));
|
|
1193
|
+
return true;
|
|
1194
|
+
}
|
|
1195
|
+
catch (e) {
|
|
1196
|
+
}
|
|
1197
|
+
}
|
|
1198
|
+
return false;
|
|
1199
|
+
}
|
|
1200
|
+
function _canAcceptData(target) {
|
|
1201
|
+
return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
|
|
1202
|
+
}
|
|
1203
|
+
function _getCache(data, target) {
|
|
1204
|
+
var theCache = target[data.id];
|
|
1205
|
+
if (!theCache) {
|
|
1206
|
+
theCache = {};
|
|
1207
|
+
try {
|
|
1208
|
+
if (_canAcceptData(target)) {
|
|
1209
|
+
if (!_createAccessor(target, data.id, theCache)) {
|
|
1210
|
+
target[data.id] = theCache;
|
|
900
1211
|
}
|
|
901
|
-
|
|
902
|
-
|
|
1212
|
+
}
|
|
1213
|
+
}
|
|
1214
|
+
catch (e) {
|
|
1215
|
+
}
|
|
1216
|
+
}
|
|
1217
|
+
return theCache;
|
|
1218
|
+
}
|
|
1219
|
+
function createUniqueNamespace(name, includeVersion) {
|
|
1220
|
+
if (includeVersion === void 0) { includeVersion = false; }
|
|
1221
|
+
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
|
|
1222
|
+
}
|
|
1223
|
+
function createElmNodeData(name) {
|
|
1224
|
+
var data = {
|
|
1225
|
+
id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
|
|
1226
|
+
accept: function (target) {
|
|
1227
|
+
return _canAcceptData(target);
|
|
1228
|
+
},
|
|
1229
|
+
get: function (target, name, defValue, addDefault) {
|
|
1230
|
+
var theCache = target[data.id];
|
|
1231
|
+
if (!theCache) {
|
|
1232
|
+
if (addDefault) {
|
|
1233
|
+
theCache = _getCache(data, target);
|
|
1234
|
+
theCache[normalizeJsName(name)] = defValue;
|
|
1235
|
+
}
|
|
1236
|
+
return defValue;
|
|
1237
|
+
}
|
|
1238
|
+
return theCache[normalizeJsName(name)];
|
|
1239
|
+
},
|
|
1240
|
+
kill: function (target, name) {
|
|
1241
|
+
if (target && target[name]) {
|
|
1242
|
+
try {
|
|
1243
|
+
delete target[name];
|
|
1244
|
+
}
|
|
1245
|
+
catch (e) {
|
|
903
1246
|
}
|
|
904
|
-
newValue = objExtend(deep, clone, newValue);
|
|
905
1247
|
}
|
|
906
|
-
|
|
907
|
-
|
|
1248
|
+
}
|
|
1249
|
+
};
|
|
1250
|
+
return data;
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1253
|
+
var arrayMethodsToPatch = [
|
|
1254
|
+
"push",
|
|
1255
|
+
"pop",
|
|
1256
|
+
"shift",
|
|
1257
|
+
"unshift",
|
|
1258
|
+
"splice"
|
|
1259
|
+
];
|
|
1260
|
+
function _patchArray(state, target) {
|
|
1261
|
+
if (isArray(target)) {
|
|
1262
|
+
arrForEach(arrayMethodsToPatch, function (method) {
|
|
1263
|
+
var orgMethod = target[method];
|
|
1264
|
+
target[method] = function () {
|
|
1265
|
+
var args = [];
|
|
1266
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
1267
|
+
args[_i] = arguments[_i];
|
|
1268
|
+
}
|
|
1269
|
+
var result = orgMethod[_DYN_APPLY ](this, args);
|
|
1270
|
+
_makeDynamicObject(state, target);
|
|
1271
|
+
return result;
|
|
1272
|
+
};
|
|
1273
|
+
});
|
|
1274
|
+
}
|
|
1275
|
+
}
|
|
1276
|
+
function _makeDynamicProperty(state, theConfig, name, value) {
|
|
1277
|
+
var detail = {
|
|
1278
|
+
n: name,
|
|
1279
|
+
h: [],
|
|
1280
|
+
add: function (handler) {
|
|
1281
|
+
if (handler && handler.fn && detail.h[_DYN_INDEX_OF$1 ](handler) === -1) {
|
|
1282
|
+
detail.h[_DYN_PUSH ](handler);
|
|
1283
|
+
}
|
|
1284
|
+
}
|
|
1285
|
+
};
|
|
1286
|
+
var checkDynamic = true;
|
|
1287
|
+
function _getProperty() {
|
|
1288
|
+
if (checkDynamic) {
|
|
1289
|
+
if (value && !value[CFG_HANDLER_LINK] && (isPlainObject(value) || isArray(value))) {
|
|
1290
|
+
value = _makeDynamicObject(state, value);
|
|
1291
|
+
}
|
|
1292
|
+
checkDynamic = false;
|
|
1293
|
+
}
|
|
1294
|
+
var activeHandler = state.act;
|
|
1295
|
+
if (activeHandler) {
|
|
1296
|
+
detail.add(activeHandler);
|
|
1297
|
+
}
|
|
1298
|
+
return value;
|
|
1299
|
+
}
|
|
1300
|
+
_getProperty[state.prop] = true;
|
|
1301
|
+
function _setProperty(newValue) {
|
|
1302
|
+
if (value !== newValue) {
|
|
1303
|
+
if (!!_setProperty[state.ro] && state.upd) {
|
|
1304
|
+
throwInvalidAccess("[" + name + "] is sealed from " + dumpObj(theConfig));
|
|
1305
|
+
}
|
|
1306
|
+
if (value && value[CFG_HANDLER_LINK]) {
|
|
1307
|
+
if (isPlainObject(value)) {
|
|
1308
|
+
objForEachKey$1(value, function (key) {
|
|
1309
|
+
value[key] = UNDEFINED_VALUE;
|
|
1310
|
+
});
|
|
1311
|
+
}
|
|
1312
|
+
else if (isArray(value)) {
|
|
1313
|
+
arrForEach(value, function (propValue, idx) {
|
|
1314
|
+
value[idx] = UNDEFINED_VALUE;
|
|
1315
|
+
});
|
|
1316
|
+
}
|
|
1317
|
+
}
|
|
1318
|
+
checkDynamic = false;
|
|
1319
|
+
if (isPlainObject(newValue) || isArray(newValue)) {
|
|
1320
|
+
_makeDynamicObject(state, newValue);
|
|
1321
|
+
}
|
|
1322
|
+
value = newValue;
|
|
1323
|
+
state.add(detail);
|
|
1324
|
+
}
|
|
1325
|
+
}
|
|
1326
|
+
objDefineAccessors(theConfig, detail.n, _getProperty, _setProperty, true);
|
|
1327
|
+
}
|
|
1328
|
+
function _setDynamicProperty(state, target, name, value) {
|
|
1329
|
+
if (target) {
|
|
1330
|
+
var isDynamic = false;
|
|
1331
|
+
var propDesc = objGetOwnPropertyDescriptor(target, name);
|
|
1332
|
+
if (propDesc && propDesc.get) {
|
|
1333
|
+
isDynamic = !!propDesc.get[state.prop];
|
|
1334
|
+
}
|
|
1335
|
+
if (!isDynamic) {
|
|
1336
|
+
_makeDynamicProperty(state, target, name, value);
|
|
1337
|
+
}
|
|
1338
|
+
else {
|
|
1339
|
+
target[name] = value;
|
|
1340
|
+
}
|
|
1341
|
+
}
|
|
1342
|
+
return value;
|
|
1343
|
+
}
|
|
1344
|
+
function _makeDynamicObject(state, target ) {
|
|
1345
|
+
var _a;
|
|
1346
|
+
objForEachKey$1( target, function (key, value) {
|
|
1347
|
+
_setDynamicProperty(state, target, key, value);
|
|
1348
|
+
});
|
|
1349
|
+
if (!target[CFG_HANDLER_LINK]) {
|
|
1350
|
+
objDefineProp(target, CFG_HANDLER_LINK, (_a = {},
|
|
1351
|
+
_a[_DYN_CONFIGURABLE ] = false,
|
|
1352
|
+
_a[_DYN_ENUMERABLE ] = false,
|
|
1353
|
+
_a.get = function () {
|
|
1354
|
+
return state.hdlr;
|
|
1355
|
+
},
|
|
1356
|
+
_a));
|
|
1357
|
+
_patchArray(state, target);
|
|
1358
|
+
}
|
|
1359
|
+
return target;
|
|
1360
|
+
}
|
|
1361
|
+
|
|
1362
|
+
var symPrefix = "[[ai_";
|
|
1363
|
+
var symPostfix = "]]";
|
|
1364
|
+
function _insertWatcher(watchers, theDetail) {
|
|
1365
|
+
if (theDetail && theDetail.h && theDetail.h[_DYN_LENGTH$2 ] > 0) {
|
|
1366
|
+
arrForEach(theDetail.h, function (handler) {
|
|
1367
|
+
if (handler && handler.fn && watchers[_DYN_INDEX_OF$1 ](handler) === -1) {
|
|
1368
|
+
watchers[_DYN_PUSH ](handler);
|
|
1369
|
+
}
|
|
1370
|
+
});
|
|
1371
|
+
}
|
|
1372
|
+
}
|
|
1373
|
+
function _createState(cfgHandler) {
|
|
1374
|
+
var _a;
|
|
1375
|
+
var dynamicPropertySymbol = newSymbol(symPrefix + "get" + cfgHandler.uid + symPostfix);
|
|
1376
|
+
var dynamicPropertyReadOnly = newSymbol(symPrefix + "ro" + cfgHandler.uid + symPostfix);
|
|
1377
|
+
var _waitingHandlers = null;
|
|
1378
|
+
var _watcherTimer = null;
|
|
1379
|
+
var theState;
|
|
1380
|
+
function _useHandler(activeHandler, callback) {
|
|
1381
|
+
var prevWatcher = theState.act;
|
|
1382
|
+
try {
|
|
1383
|
+
theState.act = activeHandler;
|
|
1384
|
+
callback({
|
|
1385
|
+
cfg: cfgHandler.cfg,
|
|
1386
|
+
hdlr: cfgHandler
|
|
1387
|
+
});
|
|
1388
|
+
}
|
|
1389
|
+
catch (e) {
|
|
1390
|
+
var message = "Watcher [" + dumpObj(callback) + "] failed [" + dumpObj(e) + "]";
|
|
1391
|
+
var logger = cfgHandler[_DYN_LOGGER ];
|
|
1392
|
+
if (logger) {
|
|
1393
|
+
cfgHandler.logger[_DYN_THROW_INTERNAL ](1 , 107 , message);
|
|
1394
|
+
}
|
|
1395
|
+
else {
|
|
1396
|
+
throwInvalidAccess(message);
|
|
1397
|
+
}
|
|
1398
|
+
}
|
|
1399
|
+
finally {
|
|
1400
|
+
theState.act = prevWatcher || null;
|
|
1401
|
+
}
|
|
1402
|
+
}
|
|
1403
|
+
function _notifyWatchers() {
|
|
1404
|
+
if (_waitingHandlers) {
|
|
1405
|
+
var notifyHandlers = _waitingHandlers;
|
|
1406
|
+
_waitingHandlers = null;
|
|
1407
|
+
if (_watcherTimer) {
|
|
1408
|
+
clearTimeout(_watcherTimer);
|
|
1409
|
+
_watcherTimer = null;
|
|
1410
|
+
}
|
|
1411
|
+
arrForEach(notifyHandlers, function (handler) {
|
|
1412
|
+
if (handler.fn) {
|
|
1413
|
+
_useHandler(handler, handler.fn);
|
|
1414
|
+
}
|
|
1415
|
+
});
|
|
1416
|
+
if (_waitingHandlers) {
|
|
1417
|
+
_notifyWatchers();
|
|
1418
|
+
}
|
|
1419
|
+
}
|
|
1420
|
+
}
|
|
1421
|
+
function _addWatcher(detail) {
|
|
1422
|
+
if (detail && detail.h[_DYN_LENGTH$2 ] > 0) {
|
|
1423
|
+
if (!_waitingHandlers) {
|
|
1424
|
+
_waitingHandlers = [];
|
|
908
1425
|
}
|
|
1426
|
+
if (!_watcherTimer) {
|
|
1427
|
+
_watcherTimer = setTimeout(function () {
|
|
1428
|
+
_watcherTimer = null;
|
|
1429
|
+
_notifyWatchers();
|
|
1430
|
+
}, 0);
|
|
1431
|
+
}
|
|
1432
|
+
_insertWatcher(_waitingHandlers, detail);
|
|
909
1433
|
}
|
|
910
1434
|
}
|
|
911
|
-
|
|
1435
|
+
theState = (_a = {
|
|
1436
|
+
prop: dynamicPropertySymbol,
|
|
1437
|
+
ro: dynamicPropertyReadOnly,
|
|
1438
|
+
hdlr: cfgHandler,
|
|
1439
|
+
add: _addWatcher
|
|
1440
|
+
},
|
|
1441
|
+
_a[_DYN_NOTIFY ] = _notifyWatchers,
|
|
1442
|
+
_a.use = _useHandler,
|
|
1443
|
+
_a);
|
|
1444
|
+
return theState;
|
|
912
1445
|
}
|
|
913
1446
|
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
var strTrident = "trident/";
|
|
922
|
-
var _isTrident = null;
|
|
923
|
-
var _navUserAgentCheck = null;
|
|
924
|
-
var _enableMocks = false;
|
|
925
|
-
function getLocation(checkForMock) {
|
|
926
|
-
if (checkForMock && _enableMocks) {
|
|
927
|
-
var mockLocation = getInst("__mockLocation");
|
|
928
|
-
if (mockLocation) {
|
|
929
|
-
return mockLocation;
|
|
1447
|
+
function _createAndUseHandler(state, configHandler) {
|
|
1448
|
+
var handler = {
|
|
1449
|
+
fn: configHandler,
|
|
1450
|
+
rm: function () {
|
|
1451
|
+
handler.fn = null;
|
|
1452
|
+
state = null;
|
|
1453
|
+
configHandler = null;
|
|
930
1454
|
}
|
|
1455
|
+
};
|
|
1456
|
+
state.use(handler, configHandler);
|
|
1457
|
+
return handler;
|
|
1458
|
+
}
|
|
1459
|
+
function _createDynamicHandler(logger, target, inPlace) {
|
|
1460
|
+
var _a, _b;
|
|
1461
|
+
var dynamicConfig = getDynamicConfigHandler(target);
|
|
1462
|
+
if (dynamicConfig) {
|
|
1463
|
+
return dynamicConfig;
|
|
931
1464
|
}
|
|
932
|
-
|
|
933
|
-
|
|
1465
|
+
var uid = createUniqueNamespace("dyncfg", true);
|
|
1466
|
+
var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);
|
|
1467
|
+
var theState;
|
|
1468
|
+
function _notifyWatchers() {
|
|
1469
|
+
theState[_DYN_NOTIFY ]();
|
|
934
1470
|
}
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
return
|
|
1471
|
+
function _setValue(target, name, value) {
|
|
1472
|
+
return _setDynamicProperty(theState, target, name, value);
|
|
1473
|
+
}
|
|
1474
|
+
function _watch(configHandler) {
|
|
1475
|
+
return _createAndUseHandler(theState, configHandler);
|
|
1476
|
+
}
|
|
1477
|
+
function _block(configHandler) {
|
|
1478
|
+
theState.use(null, configHandler);
|
|
1479
|
+
}
|
|
1480
|
+
var cfgHandler = (_a = {
|
|
1481
|
+
uid: null,
|
|
1482
|
+
cfg: newTarget
|
|
1483
|
+
},
|
|
1484
|
+
_a[_DYN_LOGGER ] = logger,
|
|
1485
|
+
_a[_DYN_NOTIFY ] = _notifyWatchers,
|
|
1486
|
+
_a.set = _setValue,
|
|
1487
|
+
_a[_DYN_WATCH ] = _watch,
|
|
1488
|
+
_a._block = _block,
|
|
1489
|
+
_a);
|
|
1490
|
+
objDefineProp(cfgHandler, "uid", (_b = {},
|
|
1491
|
+
_b[_DYN_CONFIGURABLE ] = false,
|
|
1492
|
+
_b[_DYN_ENUMERABLE ] = false,
|
|
1493
|
+
_b.writable = false,
|
|
1494
|
+
_b.value = uid,
|
|
1495
|
+
_b));
|
|
1496
|
+
theState = _createState(cfgHandler);
|
|
1497
|
+
_makeDynamicObject(theState, newTarget);
|
|
1498
|
+
return cfgHandler;
|
|
1499
|
+
}
|
|
1500
|
+
function _logInvalidAccess(logger, message) {
|
|
1501
|
+
if (logger) {
|
|
1502
|
+
logger[STR_WARN_TO_CONSOLE ](message);
|
|
1503
|
+
logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
|
|
1504
|
+
}
|
|
1505
|
+
else {
|
|
1506
|
+
throwInvalidAccess(message);
|
|
940
1507
|
}
|
|
941
|
-
return getInst(strConsole);
|
|
942
|
-
}
|
|
943
|
-
function getPerformance() {
|
|
944
|
-
return getInst(strPerformance);
|
|
945
|
-
}
|
|
946
|
-
function hasJSON() {
|
|
947
|
-
return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
|
|
948
1508
|
}
|
|
949
|
-
function
|
|
950
|
-
|
|
951
|
-
|
|
1509
|
+
function createDynamicConfig(config, defaultConfig, logger, inPlace) {
|
|
1510
|
+
var dynamic = _createDynamicHandler(logger, config || {}, inPlace);
|
|
1511
|
+
if (defaultConfig) {
|
|
1512
|
+
applyDefaults(dynamic.cfg, defaultConfig);
|
|
952
1513
|
}
|
|
953
|
-
return
|
|
1514
|
+
return dynamic;
|
|
954
1515
|
}
|
|
955
|
-
function
|
|
956
|
-
|
|
1516
|
+
function onConfigChange(config, configHandler, logger) {
|
|
1517
|
+
var handler = config[CFG_HANDLER_LINK] || config;
|
|
1518
|
+
if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
|
|
1519
|
+
return handler[_DYN_WATCH ](configHandler);
|
|
1520
|
+
}
|
|
1521
|
+
_logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
|
|
1522
|
+
createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
|
|
957
1523
|
}
|
|
958
|
-
|
|
959
|
-
|
|
1524
|
+
|
|
1525
|
+
var _aiNamespace = null;
|
|
1526
|
+
function _getExtensionNamespace() {
|
|
1527
|
+
var target = getInst("Microsoft");
|
|
1528
|
+
if (target) {
|
|
1529
|
+
_aiNamespace = target["ApplicationInsights"];
|
|
1530
|
+
}
|
|
1531
|
+
return _aiNamespace;
|
|
960
1532
|
}
|
|
961
|
-
function
|
|
962
|
-
var
|
|
963
|
-
if (
|
|
964
|
-
|
|
965
|
-
var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
|
|
966
|
-
_isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
|
|
1533
|
+
function getDebugExt(config) {
|
|
1534
|
+
var ns = _aiNamespace;
|
|
1535
|
+
if (!ns && config.disableDbgExt !== true) {
|
|
1536
|
+
ns = _aiNamespace || _getExtensionNamespace();
|
|
967
1537
|
}
|
|
968
|
-
return
|
|
1538
|
+
return ns ? ns["ChromeDbgExt"] : null;
|
|
969
1539
|
}
|
|
970
1540
|
|
|
1541
|
+
var _a$3;
|
|
971
1542
|
var AiNonUserActionablePrefix = "AI (Internal): ";
|
|
972
1543
|
var AiUserActionablePrefix = "AI: ";
|
|
973
1544
|
var AIInternalMessagePrefix = "AITR_";
|
|
1545
|
+
var defaultValues$2 = (_a$3 = {
|
|
1546
|
+
loggingLevelConsole: 0,
|
|
1547
|
+
loggingLevelTelemetry: 1,
|
|
1548
|
+
maxMessageLimit: 25
|
|
1549
|
+
},
|
|
1550
|
+
_a$3[_DYN_ENABLE_DEBUG_EXCEPTI5 ] = false,
|
|
1551
|
+
_a$3);
|
|
974
1552
|
function _sanitizeDiagnosticText(text) {
|
|
975
1553
|
if (text) {
|
|
976
1554
|
return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
|
|
@@ -1026,8 +1604,8 @@
|
|
|
1026
1604
|
_self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
|
|
1027
1605
|
_self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };
|
|
1028
1606
|
_self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
|
|
1029
|
-
_self[
|
|
1030
|
-
_self
|
|
1607
|
+
_self[_DYN_ENABLE_DEBUG_EXCEPTI5 ] = function () { return _enableDebugExceptions; };
|
|
1608
|
+
_self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
|
|
1031
1609
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
1032
1610
|
var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
|
|
1033
1611
|
if (_enableDebugExceptions) {
|
|
@@ -1100,10 +1678,14 @@
|
|
|
1100
1678
|
}
|
|
1101
1679
|
}
|
|
1102
1680
|
function _setDefaultsFromConfig(config) {
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1681
|
+
var handler = createDynamicConfig(config, defaultValues$2, _self);
|
|
1682
|
+
handler[_DYN_WATCH ](function (details) {
|
|
1683
|
+
var config = details.cfg;
|
|
1684
|
+
_loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
|
|
1685
|
+
_loggingLevelTelemetry = config.loggingLevelTelemetry;
|
|
1686
|
+
_maxInternalMessageLimit = config.maxMessageLimit;
|
|
1687
|
+
_enableDebugExceptions = config[_DYN_ENABLE_DEBUG_EXCEPTI5 ];
|
|
1688
|
+
});
|
|
1107
1689
|
}
|
|
1108
1690
|
function _areInternalMessagesThrottled() {
|
|
1109
1691
|
return _messageCount >= _maxInternalMessageLimit;
|
|
@@ -1124,7 +1706,7 @@
|
|
|
1124
1706
|
}
|
|
1125
1707
|
function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
|
|
1126
1708
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
1127
|
-
_getLogger(logger)
|
|
1709
|
+
_getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
|
|
1128
1710
|
}
|
|
1129
1711
|
function _warnToConsole(logger, message) {
|
|
1130
1712
|
_getLogger(logger)[STR_WARN_TO_CONSOLE ](message);
|
|
@@ -1240,146 +1822,6 @@
|
|
|
1240
1822
|
return func();
|
|
1241
1823
|
}
|
|
1242
1824
|
|
|
1243
|
-
var UInt32Mask = 0x100000000;
|
|
1244
|
-
var MaxUInt32 = 0xffffffff;
|
|
1245
|
-
var _mwcSeeded = false;
|
|
1246
|
-
var _mwcW = 123456789;
|
|
1247
|
-
var _mwcZ = 987654321;
|
|
1248
|
-
function _mwcSeed(seedValue) {
|
|
1249
|
-
if (seedValue < 0) {
|
|
1250
|
-
seedValue >>>= 0;
|
|
1251
|
-
}
|
|
1252
|
-
_mwcW = (123456789 + seedValue) & MaxUInt32;
|
|
1253
|
-
_mwcZ = (987654321 - seedValue) & MaxUInt32;
|
|
1254
|
-
_mwcSeeded = true;
|
|
1255
|
-
}
|
|
1256
|
-
function _autoSeedMwc() {
|
|
1257
|
-
try {
|
|
1258
|
-
var now = dateNow() & 0x7fffffff;
|
|
1259
|
-
_mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
|
|
1260
|
-
}
|
|
1261
|
-
catch (e) {
|
|
1262
|
-
}
|
|
1263
|
-
}
|
|
1264
|
-
function random32(signed) {
|
|
1265
|
-
var value = 0;
|
|
1266
|
-
var c = getCrypto() || getMsCrypto();
|
|
1267
|
-
if (c && c.getRandomValues) {
|
|
1268
|
-
value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
|
|
1269
|
-
}
|
|
1270
|
-
if (value === 0 && isIE()) {
|
|
1271
|
-
if (!_mwcSeeded) {
|
|
1272
|
-
_autoSeedMwc();
|
|
1273
|
-
}
|
|
1274
|
-
value = mwcRandom32() & MaxUInt32;
|
|
1275
|
-
}
|
|
1276
|
-
if (value === 0) {
|
|
1277
|
-
value = Math.floor((UInt32Mask * Math.random()) | 0);
|
|
1278
|
-
}
|
|
1279
|
-
if (!signed) {
|
|
1280
|
-
value >>>= 0;
|
|
1281
|
-
}
|
|
1282
|
-
return value;
|
|
1283
|
-
}
|
|
1284
|
-
function mwcRandom32(signed) {
|
|
1285
|
-
_mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
|
|
1286
|
-
_mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
|
|
1287
|
-
var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
|
|
1288
|
-
if (!signed) {
|
|
1289
|
-
value >>>= 0;
|
|
1290
|
-
}
|
|
1291
|
-
return value;
|
|
1292
|
-
}
|
|
1293
|
-
function newId(maxLength) {
|
|
1294
|
-
if (maxLength === void 0) { maxLength = 22; }
|
|
1295
|
-
var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
1296
|
-
var number = random32() >>> 0;
|
|
1297
|
-
var chars = 0;
|
|
1298
|
-
var result = STR_EMPTY;
|
|
1299
|
-
while (result[_DYN_LENGTH$2 ] < maxLength) {
|
|
1300
|
-
chars++;
|
|
1301
|
-
result += base64chars.charAt(number & 0x3F);
|
|
1302
|
-
number >>>= 6;
|
|
1303
|
-
if (chars === 5) {
|
|
1304
|
-
number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
|
|
1305
|
-
chars = 0;
|
|
1306
|
-
}
|
|
1307
|
-
}
|
|
1308
|
-
return result;
|
|
1309
|
-
}
|
|
1310
|
-
|
|
1311
|
-
var _objDefineProperty = ObjDefineProperty;
|
|
1312
|
-
var version = "3.0.0-beta.2210-01";
|
|
1313
|
-
var instanceName = "." + newId(6);
|
|
1314
|
-
var _dataUid = 0;
|
|
1315
|
-
function _createAccessor(target, prop, value) {
|
|
1316
|
-
if (_objDefineProperty) {
|
|
1317
|
-
try {
|
|
1318
|
-
_objDefineProperty(target, prop, {
|
|
1319
|
-
value: value,
|
|
1320
|
-
enumerable: false,
|
|
1321
|
-
configurable: true
|
|
1322
|
-
});
|
|
1323
|
-
return true;
|
|
1324
|
-
}
|
|
1325
|
-
catch (e) {
|
|
1326
|
-
}
|
|
1327
|
-
}
|
|
1328
|
-
return false;
|
|
1329
|
-
}
|
|
1330
|
-
function _canAcceptData(target) {
|
|
1331
|
-
return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
|
|
1332
|
-
}
|
|
1333
|
-
function _getCache(data, target) {
|
|
1334
|
-
var theCache = target[data.id];
|
|
1335
|
-
if (!theCache) {
|
|
1336
|
-
theCache = {};
|
|
1337
|
-
try {
|
|
1338
|
-
if (_canAcceptData(target)) {
|
|
1339
|
-
if (!_createAccessor(target, data.id, theCache)) {
|
|
1340
|
-
target[data.id] = theCache;
|
|
1341
|
-
}
|
|
1342
|
-
}
|
|
1343
|
-
}
|
|
1344
|
-
catch (e) {
|
|
1345
|
-
}
|
|
1346
|
-
}
|
|
1347
|
-
return theCache;
|
|
1348
|
-
}
|
|
1349
|
-
function createUniqueNamespace(name, includeVersion) {
|
|
1350
|
-
if (includeVersion === void 0) { includeVersion = false; }
|
|
1351
|
-
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
|
|
1352
|
-
}
|
|
1353
|
-
function createElmNodeData(name) {
|
|
1354
|
-
var data = {
|
|
1355
|
-
id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
|
|
1356
|
-
accept: function (target) {
|
|
1357
|
-
return _canAcceptData(target);
|
|
1358
|
-
},
|
|
1359
|
-
get: function (target, name, defValue, addDefault) {
|
|
1360
|
-
var theCache = target[data.id];
|
|
1361
|
-
if (!theCache) {
|
|
1362
|
-
if (addDefault) {
|
|
1363
|
-
theCache = _getCache(data, target);
|
|
1364
|
-
theCache[normalizeJsName(name)] = defValue;
|
|
1365
|
-
}
|
|
1366
|
-
return defValue;
|
|
1367
|
-
}
|
|
1368
|
-
return theCache[normalizeJsName(name)];
|
|
1369
|
-
},
|
|
1370
|
-
kill: function (target, name) {
|
|
1371
|
-
if (target && target[name]) {
|
|
1372
|
-
try {
|
|
1373
|
-
delete target[name];
|
|
1374
|
-
}
|
|
1375
|
-
catch (e) {
|
|
1376
|
-
}
|
|
1377
|
-
}
|
|
1378
|
-
}
|
|
1379
|
-
};
|
|
1380
|
-
return data;
|
|
1381
|
-
}
|
|
1382
|
-
|
|
1383
1825
|
function generateW3CId() {
|
|
1384
1826
|
var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
|
|
1385
1827
|
var oct = STR_EMPTY, tmp;
|
|
@@ -1396,14 +1838,14 @@
|
|
|
1396
1838
|
hexValues[tmp >> 28 & 0xF];
|
|
1397
1839
|
}
|
|
1398
1840
|
var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
|
|
1399
|
-
return oct
|
|
1841
|
+
return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + "4" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);
|
|
1400
1842
|
}
|
|
1401
1843
|
|
|
1402
1844
|
var INVALID_TRACE_ID = "00000000000000000000000000000000";
|
|
1403
1845
|
var INVALID_SPAN_ID = "0000000000000000";
|
|
1404
1846
|
function _isValid(value, len, invalidValue) {
|
|
1405
1847
|
if (value && value[_DYN_LENGTH$2 ] === len && value !== invalidValue) {
|
|
1406
|
-
return !!value.match(/^[\da-f]*$/);
|
|
1848
|
+
return !!value.match(/^[\da-f]*$/i);
|
|
1407
1849
|
}
|
|
1408
1850
|
return false;
|
|
1409
1851
|
}
|
|
@@ -1432,9 +1874,12 @@
|
|
|
1432
1874
|
}
|
|
1433
1875
|
return createTelemetryProxyChain([startAt], core[_DYN_CONFIG ] || {}, core);
|
|
1434
1876
|
}
|
|
1435
|
-
function _createInternalContext(telemetryChain,
|
|
1877
|
+
function _createInternalContext(telemetryChain, dynamicConfig, core, startAt) {
|
|
1436
1878
|
var _nextProxy = null;
|
|
1437
1879
|
var _onComplete = [];
|
|
1880
|
+
if (!dynamicConfig) {
|
|
1881
|
+
dynamicConfig = createDynamicConfig({}, null, core[_DYN_LOGGER ]);
|
|
1882
|
+
}
|
|
1438
1883
|
if (startAt !== null) {
|
|
1439
1884
|
_nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;
|
|
1440
1885
|
}
|
|
@@ -1445,12 +1890,12 @@
|
|
|
1445
1890
|
return core;
|
|
1446
1891
|
},
|
|
1447
1892
|
diagLog: function () {
|
|
1448
|
-
return safeGetLogger(core,
|
|
1893
|
+
return safeGetLogger(core, dynamicConfig.cfg);
|
|
1449
1894
|
},
|
|
1450
1895
|
getCfg: function () {
|
|
1451
|
-
return
|
|
1896
|
+
return dynamicConfig.cfg;
|
|
1452
1897
|
},
|
|
1453
|
-
getExtCfg:
|
|
1898
|
+
getExtCfg: _resolveExtCfg,
|
|
1454
1899
|
getConfig: _getConfig,
|
|
1455
1900
|
hasNext: function () {
|
|
1456
1901
|
return !!_nextProxy;
|
|
@@ -1497,48 +1942,51 @@
|
|
|
1497
1942
|
}
|
|
1498
1943
|
return nextProxy;
|
|
1499
1944
|
}
|
|
1500
|
-
function _getExtCfg(identifier,
|
|
1501
|
-
|
|
1502
|
-
if (
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
else if (isObject(defaultValue)) {
|
|
1514
|
-
if (mergeDefault !== 0 ) {
|
|
1515
|
-
var newConfig_1 = objExtend(true, defaultValue, theConfig);
|
|
1516
|
-
if (config && mergeDefault === 2 ) {
|
|
1517
|
-
objForEachKey(defaultValue, function (field) {
|
|
1518
|
-
if (isNullOrUndefined(newConfig_1[field])) {
|
|
1519
|
-
var cfgValue = config[field];
|
|
1520
|
-
if (!isNullOrUndefined(cfgValue)) {
|
|
1521
|
-
newConfig_1[field] = cfgValue;
|
|
1522
|
-
}
|
|
1523
|
-
}
|
|
1524
|
-
});
|
|
1945
|
+
function _getExtCfg(identifier, createIfMissing) {
|
|
1946
|
+
var idCfg = null;
|
|
1947
|
+
if (dynamicConfig.cfg && identifier) {
|
|
1948
|
+
var extCfg = dynamicConfig.cfg[STR_EXTENSION_CONFIG ];
|
|
1949
|
+
if (!extCfg && createIfMissing) {
|
|
1950
|
+
dynamicConfig.set(dynamicConfig.cfg, "extensionConfig", {});
|
|
1951
|
+
extCfg = dynamicConfig.cfg[STR_EXTENSION_CONFIG ];
|
|
1952
|
+
}
|
|
1953
|
+
if (extCfg) {
|
|
1954
|
+
idCfg = extCfg[identifier];
|
|
1955
|
+
if (!idCfg && createIfMissing) {
|
|
1956
|
+
dynamicConfig.set(extCfg, identifier, {});
|
|
1957
|
+
idCfg = extCfg[identifier];
|
|
1525
1958
|
}
|
|
1526
|
-
theConfig = newConfig_1;
|
|
1527
1959
|
}
|
|
1528
1960
|
}
|
|
1529
|
-
return
|
|
1961
|
+
return idCfg;
|
|
1962
|
+
}
|
|
1963
|
+
function _resolveExtCfg(identifier, defaultValues) {
|
|
1964
|
+
var newConfig = _getExtCfg(identifier, true);
|
|
1965
|
+
if (defaultValues) {
|
|
1966
|
+
objForEachKey(defaultValues, function (field, defaultValue) {
|
|
1967
|
+
if (isNullOrUndefined(newConfig[field])) {
|
|
1968
|
+
var cfgValue = dynamicConfig.cfg[field];
|
|
1969
|
+
if (cfgValue || !isNullOrUndefined(cfgValue)) {
|
|
1970
|
+
newConfig[field] = cfgValue;
|
|
1971
|
+
}
|
|
1972
|
+
}
|
|
1973
|
+
_applyDefaultValue(newConfig, field, defaultValue);
|
|
1974
|
+
});
|
|
1975
|
+
}
|
|
1976
|
+
return applyDefaults(newConfig, defaultValues);
|
|
1530
1977
|
}
|
|
1531
1978
|
function _getConfig(identifier, field, defaultValue) {
|
|
1532
1979
|
if (defaultValue === void 0) { defaultValue = false; }
|
|
1533
1980
|
var theValue;
|
|
1534
|
-
var extConfig = _getExtCfg(identifier,
|
|
1535
|
-
|
|
1981
|
+
var extConfig = _getExtCfg(identifier, false);
|
|
1982
|
+
var rootConfig = dynamicConfig.cfg;
|
|
1983
|
+
if (extConfig && (extConfig[field] || !isNullOrUndefined(extConfig[field]))) {
|
|
1536
1984
|
theValue = extConfig[field];
|
|
1537
1985
|
}
|
|
1538
|
-
else if (
|
|
1539
|
-
theValue =
|
|
1986
|
+
else if (rootConfig[field] || !isNullOrUndefined(rootConfig[field])) {
|
|
1987
|
+
theValue = rootConfig[field];
|
|
1540
1988
|
}
|
|
1541
|
-
return !isNullOrUndefined(theValue) ? theValue : defaultValue;
|
|
1989
|
+
return (theValue || !isNullOrUndefined(theValue)) ? theValue : defaultValue;
|
|
1542
1990
|
}
|
|
1543
1991
|
function _iterateChain(cb) {
|
|
1544
1992
|
var nextPlugin;
|
|
@@ -1551,27 +1999,30 @@
|
|
|
1551
1999
|
}
|
|
1552
2000
|
return context;
|
|
1553
2001
|
}
|
|
1554
|
-
function createProcessTelemetryContext(telemetryChain,
|
|
2002
|
+
function createProcessTelemetryContext(telemetryChain, cfg, core, startAt) {
|
|
2003
|
+
var config = createDynamicConfig(cfg);
|
|
1555
2004
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1556
2005
|
var context = internalContext.ctx;
|
|
1557
2006
|
function _processNext(env) {
|
|
1558
2007
|
var nextPlugin = internalContext._next();
|
|
1559
|
-
|
|
2008
|
+
if (nextPlugin) {
|
|
2009
|
+
nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
|
|
2010
|
+
}
|
|
1560
2011
|
return !nextPlugin;
|
|
1561
2012
|
}
|
|
1562
2013
|
function _createNew(plugins, startAt) {
|
|
1563
2014
|
if (plugins === void 0) { plugins = null; }
|
|
1564
2015
|
if (isArray(plugins)) {
|
|
1565
|
-
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
2016
|
+
plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
|
|
1566
2017
|
}
|
|
1567
|
-
return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config, core, startAt);
|
|
2018
|
+
return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config.cfg, core, startAt);
|
|
1568
2019
|
}
|
|
1569
2020
|
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1570
2021
|
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1571
2022
|
return context;
|
|
1572
2023
|
}
|
|
1573
2024
|
function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
|
|
1574
|
-
var config = core[_DYN_CONFIG ]
|
|
2025
|
+
var config = createDynamicConfig(core[_DYN_CONFIG ]);
|
|
1575
2026
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1576
2027
|
var context = internalContext.ctx;
|
|
1577
2028
|
function _processNext(unloadState) {
|
|
@@ -1582,7 +2033,7 @@
|
|
|
1582
2033
|
function _createNew(plugins, startAt) {
|
|
1583
2034
|
if (plugins === void 0) { plugins = null; }
|
|
1584
2035
|
if (isArray(plugins)) {
|
|
1585
|
-
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
2036
|
+
plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
|
|
1586
2037
|
}
|
|
1587
2038
|
return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
|
|
1588
2039
|
}
|
|
@@ -1591,7 +2042,7 @@
|
|
|
1591
2042
|
return context;
|
|
1592
2043
|
}
|
|
1593
2044
|
function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
|
|
1594
|
-
var config = core[_DYN_CONFIG ]
|
|
2045
|
+
var config = createDynamicConfig(core[_DYN_CONFIG ]);
|
|
1595
2046
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1596
2047
|
var context = internalContext.ctx;
|
|
1597
2048
|
function _processNext(updateState) {
|
|
@@ -1604,7 +2055,7 @@
|
|
|
1604
2055
|
function _createNew(plugins, startAt) {
|
|
1605
2056
|
if (plugins === void 0) { plugins = null; }
|
|
1606
2057
|
if (isArray(plugins)) {
|
|
1607
|
-
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
2058
|
+
plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
|
|
1608
2059
|
}
|
|
1609
2060
|
return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
|
|
1610
2061
|
}
|
|
@@ -1767,11 +2218,11 @@
|
|
|
1767
2218
|
return objFreeze(proxyChain);
|
|
1768
2219
|
}
|
|
1769
2220
|
|
|
2221
|
+
var _a$2, _b;
|
|
1770
2222
|
var strToGMTString = "toGMTString";
|
|
1771
2223
|
var strToUTCString = "toUTCString";
|
|
1772
2224
|
var strCookie = "cookie";
|
|
1773
2225
|
var strExpires = "expires";
|
|
1774
|
-
var strEnabled = "enabled";
|
|
1775
2226
|
var strIsCookieUseDisabled = "isCookieUseDisabled";
|
|
1776
2227
|
var strDisableCookiesUsage = "disableCookiesUsage";
|
|
1777
2228
|
var strConfigCookieMgr = "_ckMgr";
|
|
@@ -1781,6 +2232,18 @@
|
|
|
1781
2232
|
var _doc = getDocument();
|
|
1782
2233
|
var _cookieCache = {};
|
|
1783
2234
|
var _globalCookieConfig = {};
|
|
2235
|
+
var defaultConfig = objDeepFreeze((_a$2 = {},
|
|
2236
|
+
_a$2[STR_DOMAIN] = { fb: "cookieDomain", dfVal: isNotNullOrUndefined },
|
|
2237
|
+
_a$2.path = { fb: "cookiePath", dfVal: isNotNullOrUndefined },
|
|
2238
|
+
_a$2.enabled = UNDEFINED_VALUE,
|
|
2239
|
+
_a$2));
|
|
2240
|
+
var rootDefaultConfig = (_b = {
|
|
2241
|
+
cookieCfg: {},
|
|
2242
|
+
cookieDomain: UNDEFINED_VALUE,
|
|
2243
|
+
cookiePath: UNDEFINED_VALUE
|
|
2244
|
+
},
|
|
2245
|
+
_b[strDisableCookiesUsage] = UNDEFINED_VALUE,
|
|
2246
|
+
_b);
|
|
1784
2247
|
function _gblCookieMgr(config, logger) {
|
|
1785
2248
|
var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
|
|
1786
2249
|
if (!inst) {
|
|
@@ -1795,22 +2258,6 @@
|
|
|
1795
2258
|
}
|
|
1796
2259
|
return true;
|
|
1797
2260
|
}
|
|
1798
|
-
function _createCookieMgrConfig(rootConfig) {
|
|
1799
|
-
var cookieMgrCfg = rootConfig[_DYN_COOKIE_CFG ] = rootConfig[_DYN_COOKIE_CFG ] || {};
|
|
1800
|
-
setValue(cookieMgrCfg, "domain", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);
|
|
1801
|
-
setValue(cookieMgrCfg, "path", rootConfig.cookiePath || "/", null, isNullOrUndefined);
|
|
1802
|
-
if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {
|
|
1803
|
-
var cookieEnabled = void 0;
|
|
1804
|
-
if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
|
|
1805
|
-
cookieEnabled = !rootConfig[strIsCookieUseDisabled];
|
|
1806
|
-
}
|
|
1807
|
-
if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
|
|
1808
|
-
cookieEnabled = !rootConfig[strDisableCookiesUsage];
|
|
1809
|
-
}
|
|
1810
|
-
cookieMgrCfg[strEnabled] = cookieEnabled;
|
|
1811
|
-
}
|
|
1812
|
-
return cookieMgrCfg;
|
|
1813
|
-
}
|
|
1814
2261
|
function _isIgnoredCookie(cookieMgrCfg, name) {
|
|
1815
2262
|
if (name && cookieMgrCfg && isArray(cookieMgrCfg.ignoreCookies)) {
|
|
1816
2263
|
return cookieMgrCfg.ignoreCookies[_DYN_INDEX_OF$1 ](name) !== -1;
|
|
@@ -1831,8 +2278,8 @@
|
|
|
1831
2278
|
cookieMgr = core.getCookieMgr();
|
|
1832
2279
|
}
|
|
1833
2280
|
else if (config) {
|
|
1834
|
-
var cookieCfg = config
|
|
1835
|
-
if (cookieCfg[strConfigCookieMgr]) {
|
|
2281
|
+
var cookieCfg = config.cookieCfg;
|
|
2282
|
+
if (cookieCfg && cookieCfg[strConfigCookieMgr]) {
|
|
1836
2283
|
cookieMgr = cookieCfg[strConfigCookieMgr];
|
|
1837
2284
|
}
|
|
1838
2285
|
else {
|
|
@@ -1845,10 +2292,35 @@
|
|
|
1845
2292
|
return cookieMgr;
|
|
1846
2293
|
}
|
|
1847
2294
|
function createCookieMgr(rootConfig, logger) {
|
|
1848
|
-
var cookieMgrConfig
|
|
1849
|
-
var _path
|
|
1850
|
-
var _domain
|
|
1851
|
-
var _enabled
|
|
2295
|
+
var cookieMgrConfig;
|
|
2296
|
+
var _path;
|
|
2297
|
+
var _domain;
|
|
2298
|
+
var _enabled;
|
|
2299
|
+
var _getCookieFn;
|
|
2300
|
+
var _setCookieFn;
|
|
2301
|
+
var _delCookieFn;
|
|
2302
|
+
rootConfig = createDynamicConfig(rootConfig || _globalCookieConfig, null, logger).cfg;
|
|
2303
|
+
onConfigChange(rootConfig, function (details) {
|
|
2304
|
+
applyDefaults(details.cfg, rootDefaultConfig);
|
|
2305
|
+
cookieMgrConfig = applyDefaults(details.cfg.cookieCfg, defaultConfig);
|
|
2306
|
+
var isEnabled = cookieMgrConfig.enabled;
|
|
2307
|
+
if (isNullOrUndefined(isEnabled)) {
|
|
2308
|
+
var cookieEnabled = void 0;
|
|
2309
|
+
if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
|
|
2310
|
+
cookieEnabled = !rootConfig[strIsCookieUseDisabled];
|
|
2311
|
+
}
|
|
2312
|
+
if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
|
|
2313
|
+
cookieEnabled = !rootConfig[strDisableCookiesUsage];
|
|
2314
|
+
}
|
|
2315
|
+
isEnabled = cookieEnabled;
|
|
2316
|
+
}
|
|
2317
|
+
_path = cookieMgrConfig[STR_PATH ] || "/";
|
|
2318
|
+
_domain = cookieMgrConfig[STR_DOMAIN ];
|
|
2319
|
+
_enabled = isEnabled !== false;
|
|
2320
|
+
_getCookieFn = cookieMgrConfig.getCookie || _getCookieValue;
|
|
2321
|
+
_setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
|
|
2322
|
+
_delCookieFn = cookieMgrConfig.delCookie || _setCookieValue;
|
|
2323
|
+
}, logger);
|
|
1852
2324
|
var cookieMgr = {
|
|
1853
2325
|
isEnabled: function () {
|
|
1854
2326
|
var enabled = _enabled && areCookiesSupported(logger);
|
|
@@ -1871,7 +2343,7 @@
|
|
|
1871
2343
|
theValue = strTrim(value[_DYN_SUBSTRING$1 ](0, idx));
|
|
1872
2344
|
values = _extractParts(value[_DYN_SUBSTRING$1 ](idx + 1));
|
|
1873
2345
|
}
|
|
1874
|
-
setValue(values,
|
|
2346
|
+
setValue(values, STR_DOMAIN, domain || _domain, isTruthy, isUndefined);
|
|
1875
2347
|
if (!isNullOrUndefined(maxAgeSec)) {
|
|
1876
2348
|
var _isIE = isIE();
|
|
1877
2349
|
if (isUndefined(values[strExpires])) {
|
|
@@ -1897,9 +2369,8 @@
|
|
|
1897
2369
|
setValue(values, "SameSite", "None", null, isUndefined);
|
|
1898
2370
|
}
|
|
1899
2371
|
}
|
|
1900
|
-
setValue(values,
|
|
1901
|
-
|
|
1902
|
-
setCookieFn(name, _formatCookieValue(theValue, values));
|
|
2372
|
+
setValue(values, STR_PATH, path || _path, null, isUndefined);
|
|
2373
|
+
_setCookieFn(name, _formatCookieValue(theValue, values));
|
|
1903
2374
|
result = true;
|
|
1904
2375
|
}
|
|
1905
2376
|
return result;
|
|
@@ -1907,7 +2378,7 @@
|
|
|
1907
2378
|
get: function (name) {
|
|
1908
2379
|
var value = STR_EMPTY;
|
|
1909
2380
|
if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
|
|
1910
|
-
value = (
|
|
2381
|
+
value = _getCookieFn(name);
|
|
1911
2382
|
}
|
|
1912
2383
|
return value;
|
|
1913
2384
|
},
|
|
@@ -1923,14 +2394,13 @@
|
|
|
1923
2394
|
var result = false;
|
|
1924
2395
|
if (areCookiesSupported(logger)) {
|
|
1925
2396
|
var values = (_a = {},
|
|
1926
|
-
_a[
|
|
2397
|
+
_a[STR_PATH] = path ? path : "/",
|
|
1927
2398
|
_a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
|
|
1928
2399
|
_a);
|
|
1929
2400
|
if (!isIE()) {
|
|
1930
2401
|
values["max-age"] = "0";
|
|
1931
2402
|
}
|
|
1932
|
-
|
|
1933
|
-
delCookie(name, _formatCookieValue(STR_EMPTY, values));
|
|
2403
|
+
_delCookieFn(name, _formatCookieValue(STR_EMPTY, values));
|
|
1934
2404
|
result = true;
|
|
1935
2405
|
}
|
|
1936
2406
|
return result;
|
|
@@ -1979,7 +2449,7 @@
|
|
|
1979
2449
|
}
|
|
1980
2450
|
function _formatCookieValue(value, values) {
|
|
1981
2451
|
var cookieValue = value || STR_EMPTY;
|
|
1982
|
-
objForEachKey(values, function (name, theValue) {
|
|
2452
|
+
objForEachKey$1(values, function (name, theValue) {
|
|
1983
2453
|
cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY);
|
|
1984
2454
|
});
|
|
1985
2455
|
return cookieValue;
|
|
@@ -2050,7 +2520,11 @@
|
|
|
2050
2520
|
};
|
|
2051
2521
|
}
|
|
2052
2522
|
|
|
2523
|
+
var _a$1;
|
|
2053
2524
|
var strGetPlugin = "getPlugin";
|
|
2525
|
+
var defaultValues$1 = (_a$1 = {},
|
|
2526
|
+
_a$1[STR_EXTENSION_CONFIG] = { isVal: isNotNullOrUndefined, v: [] },
|
|
2527
|
+
_a$1);
|
|
2054
2528
|
var BaseTelemetryPlugin = /** @class */ (function () {
|
|
2055
2529
|
function BaseTelemetryPlugin() {
|
|
2056
2530
|
var _self = this;
|
|
@@ -2086,7 +2560,12 @@
|
|
|
2086
2560
|
var oldHooks = _hooks;
|
|
2087
2561
|
_hooks = [];
|
|
2088
2562
|
arrForEach(oldHooks, function (fn) {
|
|
2089
|
-
|
|
2563
|
+
try {
|
|
2564
|
+
(fn.rm || fn.remove)[_DYN_CALL ](fn);
|
|
2565
|
+
}
|
|
2566
|
+
catch (e) {
|
|
2567
|
+
_throwInternal(theUnloadCtx[_DYN_DIAG_LOG$1 ](), 2 , 73 , "Unloading:" + dumpObj(e));
|
|
2568
|
+
}
|
|
2090
2569
|
});
|
|
2091
2570
|
if (result === true) {
|
|
2092
2571
|
theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
|
|
@@ -2129,12 +2608,7 @@
|
|
|
2129
2608
|
};
|
|
2130
2609
|
_self._addHook = function (hooks) {
|
|
2131
2610
|
if (hooks) {
|
|
2132
|
-
|
|
2133
|
-
_hooks = _hooks.concat(hooks);
|
|
2134
|
-
}
|
|
2135
|
-
else {
|
|
2136
|
-
_hooks[_DYN_PUSH ](hooks);
|
|
2137
|
-
}
|
|
2611
|
+
arrAppend(_hooks, hooks);
|
|
2138
2612
|
}
|
|
2139
2613
|
};
|
|
2140
2614
|
proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
|
|
@@ -2175,9 +2649,7 @@
|
|
|
2175
2649
|
return itemCtx;
|
|
2176
2650
|
}
|
|
2177
2651
|
function _setDefaults(config, core, pluginChain) {
|
|
2178
|
-
|
|
2179
|
-
setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);
|
|
2180
|
-
}
|
|
2652
|
+
createDynamicConfig(config, defaultValues$1, core[_DYN_LOGGER ]);
|
|
2181
2653
|
if (!pluginChain && core) {
|
|
2182
2654
|
pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
|
|
2183
2655
|
}
|
|
@@ -2216,7 +2688,7 @@
|
|
|
2216
2688
|
var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
|
|
2217
2689
|
function _normalizeNamespace(name) {
|
|
2218
2690
|
if (name && name[_DYN_REPLACE ]) {
|
|
2219
|
-
return name
|
|
2691
|
+
return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
|
|
2220
2692
|
}
|
|
2221
2693
|
return name;
|
|
2222
2694
|
}
|
|
@@ -2612,7 +3084,7 @@
|
|
|
2612
3084
|
function dataSanitizeProperties(logger, properties) {
|
|
2613
3085
|
if (properties) {
|
|
2614
3086
|
var tempProps_1 = {};
|
|
2615
|
-
objForEachKey(properties, function (prop, value) {
|
|
3087
|
+
objForEachKey$1(properties, function (prop, value) {
|
|
2616
3088
|
if (isObject(value) && hasJSON()) {
|
|
2617
3089
|
try {
|
|
2618
3090
|
value = getJSON()[_DYN_STRINGIFY ](value);
|
|
@@ -2632,7 +3104,7 @@
|
|
|
2632
3104
|
function dataSanitizeMeasurements(logger, measurements) {
|
|
2633
3105
|
if (measurements) {
|
|
2634
3106
|
var tempMeasurements_1 = {};
|
|
2635
|
-
objForEachKey(measurements, function (measure, value) {
|
|
3107
|
+
objForEachKey$1(measurements, function (measure, value) {
|
|
2636
3108
|
measure = dataSanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements_1);
|
|
2637
3109
|
tempMeasurements_1[measure] = value;
|
|
2638
3110
|
});
|
|
@@ -2683,7 +3155,7 @@
|
|
|
2683
3155
|
function urlParseHost(url, inclPort) {
|
|
2684
3156
|
var fullHost = urlParseFullHost(url, inclPort) || "";
|
|
2685
3157
|
if (fullHost) {
|
|
2686
|
-
var match = fullHost.match(/(www
|
|
3158
|
+
var match = fullHost.match(/(www\d{0,5}\.)?([^\/:]{1,256})(:\d{1,20})?/i);
|
|
2687
3159
|
if (match != null && match[_DYN_LENGTH$1 ] > 3 && isString(match[2]) && match[2][_DYN_LENGTH$1 ] > 0) {
|
|
2688
3160
|
return match[2] + (match[3] || "");
|
|
2689
3161
|
}
|
|
@@ -2693,7 +3165,7 @@
|
|
|
2693
3165
|
function urlParseFullHost(url, inclPort) {
|
|
2694
3166
|
var result = null;
|
|
2695
3167
|
if (url) {
|
|
2696
|
-
var match = url.match(/(\w
|
|
3168
|
+
var match = url.match(/(\w{1,150}):\/\/([^\/:]{1,256})(:\d{1,20})?/i);
|
|
2697
3169
|
if (match != null && match[_DYN_LENGTH$1 ] > 2 && isString(match[2]) && match[2][_DYN_LENGTH$1 ] > 0) {
|
|
2698
3170
|
result = match[2] || "";
|
|
2699
3171
|
if (inclPort && match[_DYN_LENGTH$1 ] > 2) {
|
|
@@ -3496,7 +3968,7 @@
|
|
|
3496
3968
|
,
|
|
3497
3969
|
_a);
|
|
3498
3970
|
if (!isNullOrUndefined(customProperties)) {
|
|
3499
|
-
objForEachKey(customProperties, function (prop, value) {
|
|
3971
|
+
objForEachKey$1(customProperties, function (prop, value) {
|
|
3500
3972
|
telemetryItem.data[prop] = value;
|
|
3501
3973
|
});
|
|
3502
3974
|
}
|
|
@@ -3620,28 +4092,20 @@
|
|
|
3620
4092
|
var AnalyticsPluginIdentifier = "ApplicationInsightsAnalytics";
|
|
3621
4093
|
|
|
3622
4094
|
var _DYN_TO_STRING = "toString";
|
|
3623
|
-
var
|
|
3624
|
-
var
|
|
3625
|
-
var _DYN_OVERRIDE_PAGE_VIEW_D2 = "overridePageViewDuration";
|
|
3626
|
-
var _DYN_ENABLE_UNHANDLED_PRO3 = "enableUnhandledPromiseRejectionTracking";
|
|
3627
|
-
var _DYN_SAMPLING_PERCENTAGE = "samplingPercentage";
|
|
3628
|
-
var _DYN_IS_STORAGE_USE_DISAB4 = "isStorageUseDisabled";
|
|
3629
|
-
var _DYN_IS_BROWSER_LINK_TRAC5 = "isBrowserLinkTrackingEnabled";
|
|
3630
|
-
var _DYN_ENABLE_AUTO_ROUTE_TR6 = "enableAutoRouteTracking";
|
|
3631
|
-
var _DYN_NAME_PREFIX = "namePrefix";
|
|
3632
|
-
var _DYN_DISABLE_FLUSH_ON_BEF7 = "disableFlushOnBeforeUnload";
|
|
4095
|
+
var _DYN_IS_STORAGE_USE_DISAB0 = "isStorageUseDisabled";
|
|
4096
|
+
var _DYN__ADD_HOOK = "_addHook";
|
|
3633
4097
|
var _DYN_CORE = "core";
|
|
3634
4098
|
var _DYN_DATA_TYPE = "dataType";
|
|
3635
4099
|
var _DYN_ENVELOPE_TYPE = "envelopeType";
|
|
3636
4100
|
var _DYN_DIAG_LOG = "diagLog";
|
|
3637
4101
|
var _DYN_TRACK = "track";
|
|
3638
4102
|
var _DYN_TRACK_PAGE_VIEW = "trackPageView";
|
|
3639
|
-
var
|
|
3640
|
-
var
|
|
3641
|
-
var
|
|
3642
|
-
var
|
|
4103
|
+
var _DYN_TRACK_PREVIOUS_PAGE_1 = "trackPreviousPageVisit";
|
|
4104
|
+
var _DYN_SEND_PAGE_VIEW_INTER2 = "sendPageViewInternal";
|
|
4105
|
+
var _DYN_SEND_PAGE_VIEW_PERFO3 = "sendPageViewPerformanceInternal";
|
|
4106
|
+
var _DYN_POPULATE_PAGE_VIEW_P4 = "populatePageViewPerformanceEvent";
|
|
3643
4107
|
var _DYN_HREF = "href";
|
|
3644
|
-
var
|
|
4108
|
+
var _DYN_SEND_EXCEPTION_INTER5 = "sendExceptionInternal";
|
|
3645
4109
|
var _DYN_EXCEPTION = "exception";
|
|
3646
4110
|
var _DYN_ERROR = "error";
|
|
3647
4111
|
var _DYN__ONERROR = "_onerror";
|
|
@@ -3649,22 +4113,23 @@
|
|
|
3649
4113
|
var _DYN_LINE_NUMBER = "lineNumber";
|
|
3650
4114
|
var _DYN_COLUMN_NUMBER = "columnNumber";
|
|
3651
4115
|
var _DYN_MESSAGE = "message";
|
|
3652
|
-
var
|
|
3653
|
-
var
|
|
4116
|
+
var _DYN__CREATE_AUTO_EXCEPTI6 = "CreateAutoException";
|
|
4117
|
+
var _DYN_ADD_TELEMETRY_INITIA7 = "addTelemetryInitializer";
|
|
3654
4118
|
var _DYN_DURATION = "duration";
|
|
3655
4119
|
var _DYN_LENGTH = "length";
|
|
3656
|
-
var
|
|
3657
|
-
var
|
|
4120
|
+
var _DYN_AUTO_UNHANDLED_PROMI8 = "autoUnhandledPromiseInstrumented";
|
|
4121
|
+
var _DYN_IS_PERFORMANCE_TIMIN9 = "isPerformanceTimingSupported";
|
|
4122
|
+
var _DYN_GET_PERFORMANCE_TIMI10 = "getPerformanceTiming";
|
|
3658
4123
|
var _DYN_NAVIGATION_START = "navigationStart";
|
|
3659
|
-
var
|
|
3660
|
-
var
|
|
4124
|
+
var _DYN_SHOULD_COLLECT_DURAT11 = "shouldCollectDuration";
|
|
4125
|
+
var _DYN_IS_PERFORMANCE_TIMIN12 = "isPerformanceTimingDataReady";
|
|
3661
4126
|
var _DYN_GET_ENTRIES_BY_TYPE = "getEntriesByType";
|
|
3662
4127
|
var _DYN_RESPONSE_START = "responseStart";
|
|
3663
4128
|
var _DYN_REQUEST_START = "requestStart";
|
|
3664
4129
|
var _DYN_LOAD_EVENT_END = "loadEventEnd";
|
|
3665
4130
|
var _DYN_RESPONSE_END = "responseEnd";
|
|
3666
4131
|
var _DYN_CONNECT_END = "connectEnd";
|
|
3667
|
-
var
|
|
4132
|
+
var _DYN_PAGE_VISIT_START_TIM13 = "pageVisitStartTime";
|
|
3668
4133
|
|
|
3669
4134
|
var PageViewManager = /** @class */ (function () {
|
|
3670
4135
|
function PageViewManager(appInsights, overridePageViewDuration, core, pageViewPerformanceManager) {
|
|
@@ -3717,18 +4182,18 @@
|
|
|
3717
4182
|
var location_1 = getLocation();
|
|
3718
4183
|
uri = pageView.uri = location_1 && location_1[_DYN_HREF ] || "";
|
|
3719
4184
|
}
|
|
3720
|
-
if (!pageViewPerformanceManager[
|
|
3721
|
-
appInsights[
|
|
4185
|
+
if (!pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN9 ]()) {
|
|
4186
|
+
appInsights[_DYN_SEND_PAGE_VIEW_INTER2 ](pageView, customProperties);
|
|
3722
4187
|
_flushChannels(true);
|
|
3723
4188
|
_throwInternal(_logger, 2 , 25 , "trackPageView: navigation timing API used for calculation of page duration is not supported in this browser. This page view will be collected without duration and timing info.");
|
|
3724
4189
|
return;
|
|
3725
4190
|
}
|
|
3726
4191
|
var pageViewSent = false;
|
|
3727
4192
|
var customDuration;
|
|
3728
|
-
var start = pageViewPerformanceManager[
|
|
4193
|
+
var start = pageViewPerformanceManager[_DYN_GET_PERFORMANCE_TIMI10 ]()[_DYN_NAVIGATION_START ];
|
|
3729
4194
|
if (start > 0) {
|
|
3730
4195
|
customDuration = dateTimeUtilsDuration(start, +new Date);
|
|
3731
|
-
if (!pageViewPerformanceManager[
|
|
4196
|
+
if (!pageViewPerformanceManager[_DYN_SHOULD_COLLECT_DURAT11 ](customDuration)) {
|
|
3732
4197
|
customDuration = undefined;
|
|
3733
4198
|
}
|
|
3734
4199
|
}
|
|
@@ -3744,7 +4209,7 @@
|
|
|
3744
4209
|
}
|
|
3745
4210
|
customProperties[_DYN_DURATION ] = customDuration;
|
|
3746
4211
|
}
|
|
3747
|
-
appInsights[
|
|
4212
|
+
appInsights[_DYN_SEND_PAGE_VIEW_INTER2 ](pageView, customProperties);
|
|
3748
4213
|
_flushChannels(true);
|
|
3749
4214
|
pageViewSent = true;
|
|
3750
4215
|
}
|
|
@@ -3755,24 +4220,24 @@
|
|
|
3755
4220
|
_addQueue(function () {
|
|
3756
4221
|
var processed = false;
|
|
3757
4222
|
try {
|
|
3758
|
-
if (pageViewPerformanceManager[
|
|
4223
|
+
if (pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN12 ]()) {
|
|
3759
4224
|
processed = true;
|
|
3760
4225
|
var pageViewPerformance = {
|
|
3761
4226
|
name: name,
|
|
3762
4227
|
uri: uri
|
|
3763
4228
|
};
|
|
3764
|
-
pageViewPerformanceManager[
|
|
4229
|
+
pageViewPerformanceManager[_DYN_POPULATE_PAGE_VIEW_P4 ](pageViewPerformance);
|
|
3765
4230
|
if (!pageViewPerformance.isValid && !pageViewSent) {
|
|
3766
4231
|
customProperties[_DYN_DURATION ] = customDuration;
|
|
3767
|
-
appInsights[
|
|
4232
|
+
appInsights[_DYN_SEND_PAGE_VIEW_INTER2 ](pageView, customProperties);
|
|
3768
4233
|
}
|
|
3769
4234
|
else {
|
|
3770
4235
|
if (!pageViewSent) {
|
|
3771
4236
|
customProperties[_DYN_DURATION ] = pageViewPerformance.durationMs;
|
|
3772
|
-
appInsights[
|
|
4237
|
+
appInsights[_DYN_SEND_PAGE_VIEW_INTER2 ](pageView, customProperties);
|
|
3773
4238
|
}
|
|
3774
4239
|
if (!pageViewPerformanceSent) {
|
|
3775
|
-
appInsights[
|
|
4240
|
+
appInsights[_DYN_SEND_PAGE_VIEW_PERFO3 ](pageViewPerformance, customProperties);
|
|
3776
4241
|
pageViewPerformanceSent = true;
|
|
3777
4242
|
}
|
|
3778
4243
|
}
|
|
@@ -3781,7 +4246,7 @@
|
|
|
3781
4246
|
processed = true;
|
|
3782
4247
|
if (!pageViewSent) {
|
|
3783
4248
|
customProperties[_DYN_DURATION ] = maxDurationLimit;
|
|
3784
|
-
appInsights[
|
|
4249
|
+
appInsights[_DYN_SEND_PAGE_VIEW_INTER2 ](pageView, customProperties);
|
|
3785
4250
|
}
|
|
3786
4251
|
}
|
|
3787
4252
|
}
|
|
@@ -3873,7 +4338,7 @@
|
|
|
3873
4338
|
var _this = this;
|
|
3874
4339
|
var _logger = safeGetLogger(core);
|
|
3875
4340
|
dynamicProto(PageViewPerformanceManager, this, function (_self) {
|
|
3876
|
-
_self[
|
|
4341
|
+
_self[_DYN_POPULATE_PAGE_VIEW_P4 ] = function (pageViewPerformance) {
|
|
3877
4342
|
pageViewPerformance.isValid = false;
|
|
3878
4343
|
var navigationTiming = _getPerformanceNavigationTiming();
|
|
3879
4344
|
var timing = _getPerformanceTiming();
|
|
@@ -3900,7 +4365,7 @@
|
|
|
3900
4365
|
if (total === 0) {
|
|
3901
4366
|
_throwInternal(_logger, 2 , 10 , "error calculating page view performance.", { total: total, network: network, request: request, response: response, dom: dom });
|
|
3902
4367
|
}
|
|
3903
|
-
else if (!_this[
|
|
4368
|
+
else if (!_this[_DYN_SHOULD_COLLECT_DURAT11 ](total, network, request, response, dom)) {
|
|
3904
4369
|
_throwInternal(_logger, 2 , 45 , "Invalid page load duration value. Browser perf data won't be sent.", { total: total, network: network, request: request, response: response, dom: dom });
|
|
3905
4370
|
}
|
|
3906
4371
|
else if (total < Math.floor(network) + Math.floor(request) + Math.floor(response) + Math.floor(dom)) {
|
|
@@ -3917,10 +4382,10 @@
|
|
|
3917
4382
|
}
|
|
3918
4383
|
}
|
|
3919
4384
|
};
|
|
3920
|
-
_self[
|
|
3921
|
-
_self[
|
|
3922
|
-
_self[
|
|
3923
|
-
_self[
|
|
4385
|
+
_self[_DYN_GET_PERFORMANCE_TIMI10 ] = _getPerformanceTiming;
|
|
4386
|
+
_self[_DYN_IS_PERFORMANCE_TIMIN9 ] = _isPerformanceTimingSupported;
|
|
4387
|
+
_self[_DYN_IS_PERFORMANCE_TIMIN12 ] = _isPerformanceTimingDataReady;
|
|
4388
|
+
_self[_DYN_SHOULD_COLLECT_DURAT11 ] = _shouldCollectDuration;
|
|
3924
4389
|
});
|
|
3925
4390
|
}
|
|
3926
4391
|
PageViewPerformanceManager.__ieDyn=1;
|
|
@@ -3931,7 +4396,7 @@
|
|
|
3931
4396
|
function PageVisitTimeManager(logger, pageVisitTimeTrackingHandler) {
|
|
3932
4397
|
var prevPageVisitDataKeyName = "prevPageVisitData";
|
|
3933
4398
|
dynamicProto(PageVisitTimeManager, this, function (_self) {
|
|
3934
|
-
_self[
|
|
4399
|
+
_self[_DYN_TRACK_PREVIOUS_PAGE_1 ] = function (currentPageName, currentPageUrl) {
|
|
3935
4400
|
try {
|
|
3936
4401
|
var prevPageVisitTimeData = restartPageVisitTimer(currentPageName, currentPageUrl);
|
|
3937
4402
|
if (prevPageVisitTimeData) {
|
|
@@ -3977,7 +4442,7 @@
|
|
|
3977
4442
|
var pageVisitDataJsonStr = utlGetSessionStorage(logger, prevPageVisitDataKeyName);
|
|
3978
4443
|
if (pageVisitDataJsonStr && hasJSON()) {
|
|
3979
4444
|
prevPageVisitData = getJSON().parse(pageVisitDataJsonStr);
|
|
3980
|
-
prevPageVisitData.pageVisitTime = pageVisitEndTime - prevPageVisitData[
|
|
4445
|
+
prevPageVisitData.pageVisitTime = pageVisitEndTime - prevPageVisitData[_DYN_PAGE_VISIT_START_TIM13 ];
|
|
3981
4446
|
utlRemoveSessionStorage(logger, prevPageVisitDataKeyName);
|
|
3982
4447
|
}
|
|
3983
4448
|
}
|
|
@@ -3997,7 +4462,7 @@
|
|
|
3997
4462
|
}());
|
|
3998
4463
|
var PageVisitData = /** @class */ (function () {
|
|
3999
4464
|
function PageVisitData(pageName, pageUrl) {
|
|
4000
|
-
this[
|
|
4465
|
+
this[_DYN_PAGE_VISIT_START_TIM13 ] = dateNow();
|
|
4001
4466
|
this.pageName = pageName;
|
|
4002
4467
|
this.pageUrl = pageUrl;
|
|
4003
4468
|
}
|
|
@@ -4031,6 +4496,7 @@
|
|
|
4031
4496
|
return Timing;
|
|
4032
4497
|
}());
|
|
4033
4498
|
|
|
4499
|
+
var _a;
|
|
4034
4500
|
var strEvent = "event";
|
|
4035
4501
|
function _dispatchEvent(target, evnt) {
|
|
4036
4502
|
if (target && target.dispatchEvent && evnt) {
|
|
@@ -4048,38 +4514,37 @@
|
|
|
4048
4514
|
return error || "";
|
|
4049
4515
|
}
|
|
4050
4516
|
var MinMilliSeconds = 60000;
|
|
4051
|
-
|
|
4517
|
+
var defaultValues = objDeepFreeze((_a = {
|
|
4518
|
+
sessionRenewalMs: { set: _chkConfigMilliseconds, v: 30 * 60 * 1000 },
|
|
4519
|
+
sessionExpirationMs: { set: _chkConfigMilliseconds, v: 24 * 60 * 60 * 1000 },
|
|
4520
|
+
disableExceptionTracking: { set: stringToBoolOrDefault },
|
|
4521
|
+
autoTrackPageVisitTime: { set: stringToBoolOrDefault },
|
|
4522
|
+
overridePageViewDuration: { set: stringToBoolOrDefault },
|
|
4523
|
+
enableUnhandledPromiseRejectionTracking: { set: stringToBoolOrDefault }
|
|
4524
|
+
},
|
|
4525
|
+
_a[_DYN_AUTO_UNHANDLED_PROMI8 ] = false,
|
|
4526
|
+
_a.samplingPercentage = { isVal: _chkSampling, v: 100 },
|
|
4527
|
+
_a.isStorageUseDisabled = { set: stringToBoolOrDefault },
|
|
4528
|
+
_a.isBrowserLinkTrackingEnabled = { set: stringToBoolOrDefault },
|
|
4529
|
+
_a.enableAutoRouteTracking = { set: stringToBoolOrDefault },
|
|
4530
|
+
_a.namePrefix = "",
|
|
4531
|
+
_a.enableDebug = { set: stringToBoolOrDefault },
|
|
4532
|
+
_a.disableFlushOnBeforeUnload = { set: stringToBoolOrDefault },
|
|
4533
|
+
_a.disableFlushOnUnload = { set: stringToBoolOrDefault, fb: "disableFlushOnBeforeUnload" },
|
|
4534
|
+
_a));
|
|
4535
|
+
function _chkConfigMilliseconds(value, defValue) {
|
|
4052
4536
|
value = value || defValue;
|
|
4053
4537
|
if (value < MinMilliSeconds) {
|
|
4054
4538
|
value = MinMilliSeconds;
|
|
4055
4539
|
}
|
|
4056
|
-
return value;
|
|
4540
|
+
return +value;
|
|
4057
4541
|
}
|
|
4058
|
-
function
|
|
4059
|
-
|
|
4060
|
-
config = {};
|
|
4061
|
-
}
|
|
4062
|
-
config.sessionRenewalMs = _configMilliseconds(config.sessionRenewalMs, 30 * 60 * 1000);
|
|
4063
|
-
config.sessionExpirationMs = _configMilliseconds(config.sessionExpirationMs, 24 * 60 * 60 * 1000);
|
|
4064
|
-
config[_DYN_DISABLE_EXCEPTION_TR0 ] = stringToBoolOrDefault(config[_DYN_DISABLE_EXCEPTION_TR0 ]);
|
|
4065
|
-
config[_DYN_AUTO_TRACK_PAGE_VISI1 ] = stringToBoolOrDefault(config[_DYN_AUTO_TRACK_PAGE_VISI1 ]);
|
|
4066
|
-
config[_DYN_OVERRIDE_PAGE_VIEW_D2 ] = stringToBoolOrDefault(config[_DYN_OVERRIDE_PAGE_VIEW_D2 ]);
|
|
4067
|
-
config[_DYN_ENABLE_UNHANDLED_PRO3 ] = stringToBoolOrDefault(config[_DYN_ENABLE_UNHANDLED_PRO3 ]);
|
|
4068
|
-
if (isNaN(config[_DYN_SAMPLING_PERCENTAGE ]) || config[_DYN_SAMPLING_PERCENTAGE ] <= 0 || config[_DYN_SAMPLING_PERCENTAGE ] >= 100) {
|
|
4069
|
-
config[_DYN_SAMPLING_PERCENTAGE ] = 100;
|
|
4070
|
-
}
|
|
4071
|
-
config[_DYN_IS_STORAGE_USE_DISAB4 ] = stringToBoolOrDefault(config[_DYN_IS_STORAGE_USE_DISAB4 ]);
|
|
4072
|
-
config[_DYN_IS_BROWSER_LINK_TRAC5 ] = stringToBoolOrDefault(config[_DYN_IS_BROWSER_LINK_TRAC5 ]);
|
|
4073
|
-
config[_DYN_ENABLE_AUTO_ROUTE_TR6 ] = stringToBoolOrDefault(config[_DYN_ENABLE_AUTO_ROUTE_TR6 ]);
|
|
4074
|
-
config[_DYN_NAME_PREFIX ] = config[_DYN_NAME_PREFIX ] || "";
|
|
4075
|
-
config.enableDebug = stringToBoolOrDefault(config.enableDebug);
|
|
4076
|
-
config[_DYN_DISABLE_FLUSH_ON_BEF7 ] = stringToBoolOrDefault(config[_DYN_DISABLE_FLUSH_ON_BEF7 ]);
|
|
4077
|
-
config.disableFlushOnUnload = stringToBoolOrDefault(config.disableFlushOnUnload, config[_DYN_DISABLE_FLUSH_ON_BEF7 ]);
|
|
4078
|
-
return config;
|
|
4542
|
+
function _chkSampling(value) {
|
|
4543
|
+
return !isNaN(value) && value > 0 && value <= 100;
|
|
4079
4544
|
}
|
|
4080
4545
|
function _updateStorageUsage(extConfig) {
|
|
4081
|
-
if (!isUndefined(extConfig[
|
|
4082
|
-
if (extConfig[
|
|
4546
|
+
if (!isUndefined(extConfig[_DYN_IS_STORAGE_USE_DISAB0 ])) {
|
|
4547
|
+
if (extConfig[_DYN_IS_STORAGE_USE_DISAB0 ]) {
|
|
4083
4548
|
utlDisableStorage();
|
|
4084
4549
|
}
|
|
4085
4550
|
else {
|
|
@@ -4108,11 +4573,13 @@
|
|
|
4108
4573
|
var _autoExceptionInstrumented;
|
|
4109
4574
|
var _enableUnhandledPromiseRejectionTracking;
|
|
4110
4575
|
var _autoUnhandledPromiseInstrumented;
|
|
4576
|
+
var _extConfig;
|
|
4577
|
+
var _autoTrackPageVisitTime;
|
|
4111
4578
|
var _prevUri;
|
|
4112
4579
|
var _currUri;
|
|
4113
4580
|
var _evtNamespace;
|
|
4114
4581
|
dynamicProto(AnalyticsPlugin, _this, function (_self, _base) {
|
|
4115
|
-
var _addHook = _base
|
|
4582
|
+
var _addHook = _base[_DYN__ADD_HOOK ];
|
|
4116
4583
|
_initDefaults();
|
|
4117
4584
|
_self.getCookieMgr = function () {
|
|
4118
4585
|
return safeGetCookieMgr(_self[_DYN_CORE ]);
|
|
@@ -4167,15 +4634,15 @@
|
|
|
4167
4634
|
try {
|
|
4168
4635
|
var inPv = pageView || {};
|
|
4169
4636
|
_pageViewManager[_DYN_TRACK_PAGE_VIEW ](inPv, __assignFn(__assignFn(__assignFn({}, inPv.properties), inPv.measurements), customProperties));
|
|
4170
|
-
if (
|
|
4171
|
-
_pageVisitTimeManager[
|
|
4637
|
+
if (_autoTrackPageVisitTime) {
|
|
4638
|
+
_pageVisitTimeManager[_DYN_TRACK_PREVIOUS_PAGE_1 ](inPv.name, inPv.uri);
|
|
4172
4639
|
}
|
|
4173
4640
|
}
|
|
4174
4641
|
catch (e) {
|
|
4175
4642
|
_throwInternal(1 , 37 , "trackPageView failed, page view will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
4176
4643
|
}
|
|
4177
4644
|
};
|
|
4178
|
-
_self[
|
|
4645
|
+
_self[_DYN_SEND_PAGE_VIEW_INTER2 ] = function (pageView, properties, systemProperties) {
|
|
4179
4646
|
var doc = getDocument();
|
|
4180
4647
|
if (doc) {
|
|
4181
4648
|
pageView.refUri = pageView.refUri === undefined ? doc.referrer : pageView.refUri;
|
|
@@ -4183,15 +4650,15 @@
|
|
|
4183
4650
|
var telemetryItem = createTelemetryItem(pageView, PageView[_DYN_DATA_TYPE ], PageView[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), properties, systemProperties);
|
|
4184
4651
|
_self[_DYN_CORE ][_DYN_TRACK ](telemetryItem);
|
|
4185
4652
|
};
|
|
4186
|
-
_self[
|
|
4653
|
+
_self[_DYN_SEND_PAGE_VIEW_PERFO3 ] = function (pageViewPerformance, properties, systemProperties) {
|
|
4187
4654
|
var telemetryItem = createTelemetryItem(pageViewPerformance, PageViewPerformance[_DYN_DATA_TYPE ], PageViewPerformance[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), properties, systemProperties);
|
|
4188
4655
|
_self[_DYN_CORE ][_DYN_TRACK ](telemetryItem);
|
|
4189
4656
|
};
|
|
4190
4657
|
_self.trackPageViewPerformance = function (pageViewPerformance, customProperties) {
|
|
4191
4658
|
var inPvp = pageViewPerformance || {};
|
|
4192
4659
|
try {
|
|
4193
|
-
_pageViewPerformanceManager[
|
|
4194
|
-
_self[
|
|
4660
|
+
_pageViewPerformanceManager[_DYN_POPULATE_PAGE_VIEW_P4 ](inPvp);
|
|
4661
|
+
_self[_DYN_SEND_PAGE_VIEW_PERFO3 ](inPvp, customProperties);
|
|
4195
4662
|
}
|
|
4196
4663
|
catch (e) {
|
|
4197
4664
|
_throwInternal(1 , 37 , "trackPageViewPerformance failed, page view will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
@@ -4220,15 +4687,15 @@
|
|
|
4220
4687
|
url = loc && loc[_DYN_HREF ] || "";
|
|
4221
4688
|
}
|
|
4222
4689
|
_pageTracking.stop(name, url, properties, measurement);
|
|
4223
|
-
if (
|
|
4224
|
-
_pageVisitTimeManager[
|
|
4690
|
+
if (_autoTrackPageVisitTime) {
|
|
4691
|
+
_pageVisitTimeManager[_DYN_TRACK_PREVIOUS_PAGE_1 ](name, url);
|
|
4225
4692
|
}
|
|
4226
4693
|
}
|
|
4227
4694
|
catch (e) {
|
|
4228
4695
|
_throwInternal(1 , 32 , "stopTrackPage failed, page view will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
4229
4696
|
}
|
|
4230
4697
|
};
|
|
4231
|
-
_self[
|
|
4698
|
+
_self[_DYN_SEND_EXCEPTION_INTER5 ] = function (exception, customProperties, systemProperties) {
|
|
4232
4699
|
var theError = exception[_DYN_EXCEPTION ] || exception[_DYN_ERROR ] || new Error(strNotSpecified);
|
|
4233
4700
|
var exceptionPartB = new Exception(_self[_DYN_DIAG_LOG ](), theError, exception.properties || customProperties, exception.measurements, exception.severityLevel, exception.id).toInterface();
|
|
4234
4701
|
var telemetryItem = createTelemetryItem(exceptionPartB, Exception[_DYN_DATA_TYPE ], Exception[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), customProperties, systemProperties);
|
|
@@ -4239,7 +4706,7 @@
|
|
|
4239
4706
|
exception[_DYN_EXCEPTION ] = exception[_DYN_ERROR ];
|
|
4240
4707
|
}
|
|
4241
4708
|
try {
|
|
4242
|
-
_self[
|
|
4709
|
+
_self[_DYN_SEND_EXCEPTION_INTER5 ](exception, customProperties);
|
|
4243
4710
|
}
|
|
4244
4711
|
catch (e) {
|
|
4245
4712
|
_throwInternal(1 , 35 , "trackException failed, exception will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
@@ -4265,7 +4732,7 @@
|
|
|
4265
4732
|
message: exception[_DYN_MESSAGE ]
|
|
4266
4733
|
};
|
|
4267
4734
|
if (isCrossOriginError(exception.message, exception.url, exception.lineNumber, exception.columnNumber, exception[_DYN_ERROR ])) {
|
|
4268
|
-
_sendCORSException(Exception[
|
|
4735
|
+
_sendCORSException(Exception[_DYN__CREATE_AUTO_EXCEPTI6 ]("Script error: The browser's same-origin policy prevents us from getting the details of this exception. Consider using the 'crossorigin' attribute.", url, exception[_DYN_LINE_NUMBER ] || 0, exception[_DYN_COLUMN_NUMBER ] || 0, error, evt, null, errorSrc), properties);
|
|
4269
4736
|
}
|
|
4270
4737
|
else {
|
|
4271
4738
|
if (!exception[_DYN_ERROR_SRC ]) {
|
|
@@ -4280,9 +4747,9 @@
|
|
|
4280
4747
|
+ getExceptionName(e), { exception: dumpObj(e), errorString: errorString });
|
|
4281
4748
|
}
|
|
4282
4749
|
};
|
|
4283
|
-
_self[
|
|
4750
|
+
_self[_DYN_ADD_TELEMETRY_INITIA7 ] = function (telemetryInitializer) {
|
|
4284
4751
|
if (_self[_DYN_CORE ]) {
|
|
4285
|
-
return _self[_DYN_CORE ][
|
|
4752
|
+
return _self[_DYN_CORE ][_DYN_ADD_TELEMETRY_INITIA7 ](telemetryInitializer);
|
|
4286
4753
|
}
|
|
4287
4754
|
if (!_preInitTelemetryInitializers) {
|
|
4288
4755
|
_preInitTelemetryInitializers = [];
|
|
@@ -4301,16 +4768,14 @@
|
|
|
4301
4768
|
_evtNamespace = mergeEvtNamespace(createUniqueNamespace(_self.identifier), core.evtNamespace && core.evtNamespace());
|
|
4302
4769
|
if (_preInitTelemetryInitializers) {
|
|
4303
4770
|
arrForEach(_preInitTelemetryInitializers, function (initializer) {
|
|
4304
|
-
core[
|
|
4771
|
+
core[_DYN_ADD_TELEMETRY_INITIA7 ](initializer);
|
|
4305
4772
|
});
|
|
4306
4773
|
_preInitTelemetryInitializers = null;
|
|
4307
4774
|
}
|
|
4308
|
-
|
|
4309
|
-
_updateStorageUsage(extConfig);
|
|
4775
|
+
_populateDefaults(config);
|
|
4310
4776
|
_pageViewPerformanceManager = new PageViewPerformanceManager(_self[_DYN_CORE ]);
|
|
4311
|
-
_pageViewManager = new PageViewManager(_this,
|
|
4777
|
+
_pageViewManager = new PageViewManager(_this, _extConfig.overridePageViewDuration, _self[_DYN_CORE ], _pageViewPerformanceManager);
|
|
4312
4778
|
_pageVisitTimeManager = new PageVisitTimeManager(_self[_DYN_DIAG_LOG ](), function (pageName, pageUrl, pageVisitTime) { return trackPageVisitTime(pageName, pageUrl, pageVisitTime); });
|
|
4313
|
-
_updateBrowserLinkTracking(extConfig, config);
|
|
4314
4779
|
_eventTracking = new Timing(_self[_DYN_DIAG_LOG ](), "trackEvent");
|
|
4315
4780
|
_eventTracking.action =
|
|
4316
4781
|
function (name, url, duration, properties, measurements) {
|
|
@@ -4335,11 +4800,11 @@
|
|
|
4335
4800
|
properties: properties,
|
|
4336
4801
|
measurements: measurements
|
|
4337
4802
|
};
|
|
4338
|
-
_self[
|
|
4803
|
+
_self[_DYN_SEND_PAGE_VIEW_INTER2 ](pageViewItem, properties);
|
|
4339
4804
|
};
|
|
4340
4805
|
if (hasWindow()) {
|
|
4341
|
-
_updateExceptionTracking(
|
|
4342
|
-
_updateLocationChange(
|
|
4806
|
+
_updateExceptionTracking();
|
|
4807
|
+
_updateLocationChange();
|
|
4343
4808
|
}
|
|
4344
4809
|
}
|
|
4345
4810
|
catch (e) {
|
|
@@ -4353,23 +4818,16 @@
|
|
|
4353
4818
|
_initDefaults();
|
|
4354
4819
|
};
|
|
4355
4820
|
function _populateDefaults(config) {
|
|
4356
|
-
var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE ]);
|
|
4357
4821
|
var identifier = _self.identifier;
|
|
4358
|
-
var
|
|
4359
|
-
|
|
4360
|
-
|
|
4361
|
-
|
|
4362
|
-
|
|
4363
|
-
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
|
|
4367
|
-
}
|
|
4368
|
-
return extConfig;
|
|
4369
|
-
}
|
|
4370
|
-
function _updateBrowserLinkTracking(extConfig, config) {
|
|
4371
|
-
_isBrowserLinkTrackingEnabled = extConfig[_DYN_IS_BROWSER_LINK_TRAC5 ] || config[_DYN_IS_BROWSER_LINK_TRAC5 ];
|
|
4372
|
-
_addDefaultTelemetryInitializers();
|
|
4822
|
+
var core = _self[_DYN_CORE ];
|
|
4823
|
+
_self[_DYN__ADD_HOOK ](onConfigChange(config, function () {
|
|
4824
|
+
var ctx = createProcessTelemetryContext(null, config, core);
|
|
4825
|
+
_extConfig = ctx.getExtCfg(identifier, defaultValues);
|
|
4826
|
+
_autoTrackPageVisitTime = _extConfig.autoTrackPageVisitTime;
|
|
4827
|
+
_updateStorageUsage(_extConfig);
|
|
4828
|
+
_isBrowserLinkTrackingEnabled = _extConfig.isBrowserLinkTrackingEnabled;
|
|
4829
|
+
_addDefaultTelemetryInitializers();
|
|
4830
|
+
}));
|
|
4373
4831
|
}
|
|
4374
4832
|
function trackPageVisitTime(pageName, pageUrl, pageVisitTime) {
|
|
4375
4833
|
var properties = { PageName: pageName, PageUrl: pageUrl };
|
|
@@ -4397,7 +4855,7 @@
|
|
|
4397
4855
|
}
|
|
4398
4856
|
return true;
|
|
4399
4857
|
};
|
|
4400
|
-
_self[
|
|
4858
|
+
_self[_DYN__ADD_HOOK ](_self[_DYN_ADD_TELEMETRY_INITIA7 ](dropBrowserLinkRequests));
|
|
4401
4859
|
_browserLinkInitializerAdded = true;
|
|
4402
4860
|
}
|
|
4403
4861
|
}
|
|
@@ -4405,33 +4863,37 @@
|
|
|
4405
4863
|
var telemetryItem = createTelemetryItem(exception, Exception[_DYN_DATA_TYPE ], Exception[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), properties);
|
|
4406
4864
|
_self[_DYN_CORE ][_DYN_TRACK ](telemetryItem);
|
|
4407
4865
|
}
|
|
4408
|
-
function _updateExceptionTracking(
|
|
4866
|
+
function _updateExceptionTracking() {
|
|
4409
4867
|
var _window = getWindow();
|
|
4410
4868
|
var locn = getLocation(true);
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4417
|
-
|
|
4869
|
+
_self[_DYN__ADD_HOOK ](onConfigChange(_extConfig, function () {
|
|
4870
|
+
_disableExceptionTracking = _extConfig.disableExceptionTracking;
|
|
4871
|
+
if (!_disableExceptionTracking && !_autoExceptionInstrumented && !_extConfig.autoExceptionInstrumented) {
|
|
4872
|
+
_addHook(InstrumentEvent(_window, "onerror", {
|
|
4873
|
+
ns: _evtNamespace,
|
|
4874
|
+
rsp: function (callDetails, message, url, lineNumber, columnNumber, error) {
|
|
4875
|
+
if (!_disableExceptionTracking && callDetails.rslt !== true) {
|
|
4876
|
+
_self[_DYN__ONERROR ](Exception[_DYN__CREATE_AUTO_EXCEPTI6 ](message, url, lineNumber, columnNumber, error, callDetails.evt));
|
|
4877
|
+
}
|
|
4418
4878
|
}
|
|
4419
|
-
}
|
|
4420
|
-
|
|
4421
|
-
|
|
4422
|
-
}
|
|
4423
|
-
_addUnhandledPromiseRejectionTracking(
|
|
4879
|
+
}, false));
|
|
4880
|
+
_autoExceptionInstrumented = true;
|
|
4881
|
+
}
|
|
4882
|
+
}));
|
|
4883
|
+
_addUnhandledPromiseRejectionTracking(_window, locn);
|
|
4424
4884
|
}
|
|
4425
|
-
function _updateLocationChange(
|
|
4885
|
+
function _updateLocationChange() {
|
|
4426
4886
|
var win = getWindow();
|
|
4427
4887
|
var locn = getLocation(true);
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4888
|
+
_self[_DYN__ADD_HOOK ](onConfigChange(_extConfig, function () {
|
|
4889
|
+
_enableAutoRouteTracking = _extConfig.enableAutoRouteTracking === true;
|
|
4890
|
+
if (win && _enableAutoRouteTracking && !_historyListenerAdded && hasHistory()) {
|
|
4891
|
+
var _history = getHistory();
|
|
4892
|
+
if (isFunction(_history.pushState) && isFunction(_history.replaceState) && typeof Event !== strShimUndefined) {
|
|
4893
|
+
_addHistoryListener(win, _history, locn);
|
|
4894
|
+
}
|
|
4433
4895
|
}
|
|
4434
|
-
}
|
|
4896
|
+
}));
|
|
4435
4897
|
}
|
|
4436
4898
|
function _getDistributedTraceCtx() {
|
|
4437
4899
|
var distributedTraceCtx = null;
|
|
@@ -4449,8 +4911,11 @@
|
|
|
4449
4911
|
}
|
|
4450
4912
|
return distributedTraceCtx;
|
|
4451
4913
|
}
|
|
4452
|
-
function _addHistoryListener(
|
|
4453
|
-
|
|
4914
|
+
function _addHistoryListener(win, history, locn) {
|
|
4915
|
+
if (_historyListenerAdded) {
|
|
4916
|
+
return;
|
|
4917
|
+
}
|
|
4918
|
+
var namePrefix = _extConfig.namePrefix || "";
|
|
4454
4919
|
function _popstateHandler() {
|
|
4455
4920
|
if (_enableAutoRouteTracking) {
|
|
4456
4921
|
_dispatchEvent(win, createDomEvent(namePrefix + "locationchange"));
|
|
@@ -4479,44 +4944,44 @@
|
|
|
4479
4944
|
}).bind(this, _prevUri), _self.autoRoutePVDelay);
|
|
4480
4945
|
}
|
|
4481
4946
|
}
|
|
4482
|
-
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
|
|
4488
|
-
_dispatchEvent(win, createDomEvent(namePrefix + "locationchange"));
|
|
4489
|
-
}
|
|
4947
|
+
_addHook(InstrumentEvent(history, "pushState", {
|
|
4948
|
+
ns: _evtNamespace,
|
|
4949
|
+
rsp: function () {
|
|
4950
|
+
if (_enableAutoRouteTracking) {
|
|
4951
|
+
_dispatchEvent(win, createDomEvent(namePrefix + "pushState"));
|
|
4952
|
+
_dispatchEvent(win, createDomEvent(namePrefix + "locationchange"));
|
|
4490
4953
|
}
|
|
4491
|
-
}
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
|
-
|
|
4496
|
-
|
|
4497
|
-
|
|
4498
|
-
|
|
4954
|
+
}
|
|
4955
|
+
}, true));
|
|
4956
|
+
_addHook(InstrumentEvent(history, "replaceState", {
|
|
4957
|
+
ns: _evtNamespace,
|
|
4958
|
+
rsp: function () {
|
|
4959
|
+
if (_enableAutoRouteTracking) {
|
|
4960
|
+
_dispatchEvent(win, createDomEvent(namePrefix + "replaceState"));
|
|
4961
|
+
_dispatchEvent(win, createDomEvent(namePrefix + "locationchange"));
|
|
4499
4962
|
}
|
|
4500
|
-
}
|
|
4501
|
-
|
|
4502
|
-
|
|
4503
|
-
|
|
4504
|
-
|
|
4505
|
-
}
|
|
4506
|
-
function _addUnhandledPromiseRejectionTracking(
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
|
|
4511
|
-
|
|
4512
|
-
|
|
4513
|
-
|
|
4963
|
+
}
|
|
4964
|
+
}, true));
|
|
4965
|
+
eventOn(win, namePrefix + "popstate", _popstateHandler, _evtNamespace);
|
|
4966
|
+
eventOn(win, namePrefix + "locationchange", _locationChangeHandler, _evtNamespace);
|
|
4967
|
+
_historyListenerAdded = true;
|
|
4968
|
+
}
|
|
4969
|
+
function _addUnhandledPromiseRejectionTracking(_window, _location) {
|
|
4970
|
+
_self[_DYN__ADD_HOOK ](onConfigChange(_extConfig, function () {
|
|
4971
|
+
_enableUnhandledPromiseRejectionTracking = _extConfig.enableUnhandledPromiseRejectionTracking === true;
|
|
4972
|
+
_autoExceptionInstrumented = _autoExceptionInstrumented || _extConfig[_DYN_AUTO_UNHANDLED_PROMI8 ];
|
|
4973
|
+
if (_enableUnhandledPromiseRejectionTracking && !_autoUnhandledPromiseInstrumented) {
|
|
4974
|
+
_addHook(InstrumentEvent(_window, "onunhandledrejection", {
|
|
4975
|
+
ns: _evtNamespace,
|
|
4976
|
+
rsp: function (callDetails, error) {
|
|
4977
|
+
if (_enableUnhandledPromiseRejectionTracking && callDetails.rslt !== true) {
|
|
4978
|
+
_self[_DYN__ONERROR ](Exception[_DYN__CREATE_AUTO_EXCEPTI6 ](_getReason(error), _location ? _location[_DYN_HREF ] : "", 0, 0, error, callDetails.evt));
|
|
4979
|
+
}
|
|
4514
4980
|
}
|
|
4515
|
-
}
|
|
4516
|
-
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
}
|
|
4981
|
+
}, false));
|
|
4982
|
+
_extConfig[_DYN_AUTO_UNHANDLED_PROMI8 ] = _autoUnhandledPromiseInstrumented = true;
|
|
4983
|
+
}
|
|
4984
|
+
}));
|
|
4520
4985
|
}
|
|
4521
4986
|
function _throwInternal(severity, msgId, msg, properties, isUserAct) {
|
|
4522
4987
|
_self[_DYN_DIAG_LOG ]().throwInternal(severity, msgId, msg, properties, isUserAct);
|
|
@@ -4536,10 +5001,17 @@
|
|
|
4536
5001
|
_autoExceptionInstrumented = false;
|
|
4537
5002
|
_enableUnhandledPromiseRejectionTracking = false;
|
|
4538
5003
|
_autoUnhandledPromiseInstrumented = false;
|
|
5004
|
+
_autoTrackPageVisitTime = false;
|
|
4539
5005
|
var location = getLocation(true);
|
|
4540
5006
|
_prevUri = location && location[_DYN_HREF ] || "";
|
|
4541
5007
|
_currUri = null;
|
|
4542
5008
|
_evtNamespace = null;
|
|
5009
|
+
_extConfig = null;
|
|
5010
|
+
objDefineProp(_self, "config", {
|
|
5011
|
+
configurable: true,
|
|
5012
|
+
enumerable: true,
|
|
5013
|
+
get: function () { return _extConfig; }
|
|
5014
|
+
});
|
|
4543
5015
|
}
|
|
4544
5016
|
objDefineAccessors(_self, "_pageViewManager", function () { return _pageViewManager; });
|
|
4545
5017
|
objDefineAccessors(_self, "_pageViewPerformanceManager", function () { return _pageViewPerformanceManager; });
|
|
@@ -4548,8 +5020,7 @@
|
|
|
4548
5020
|
});
|
|
4549
5021
|
return _this;
|
|
4550
5022
|
}
|
|
4551
|
-
AnalyticsPlugin.Version = "3.0.0-beta.2210-
|
|
4552
|
-
AnalyticsPlugin.getDefaultConfig = _getDefaultConfig;
|
|
5023
|
+
AnalyticsPlugin.Version = "3.0.0-beta.2210-03";
|
|
4553
5024
|
return AnalyticsPlugin;
|
|
4554
5025
|
}(BaseTelemetryPlugin));
|
|
4555
5026
|
|