@microsoft/applicationinsights-dependencies-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-dependencies-js.integrity.json +9 -9
- package/browser/applicationinsights-dependencies-js.js +937 -504
- package/browser/applicationinsights-dependencies-js.js.map +1 -1
- package/browser/applicationinsights-dependencies-js.min.js +2 -2
- package/browser/applicationinsights-dependencies-js.min.js.map +1 -1
- package/dist/applicationinsights-dependencies-js.api.json +3 -80
- package/dist/applicationinsights-dependencies-js.api.md +1 -12
- package/dist/applicationinsights-dependencies-js.d.ts +5 -14
- package/dist/applicationinsights-dependencies-js.js +937 -504
- package/dist/applicationinsights-dependencies-js.js.map +1 -1
- package/dist/applicationinsights-dependencies-js.min.js +2 -2
- package/dist/applicationinsights-dependencies-js.min.js.map +1 -1
- package/dist/applicationinsights-dependencies-js.rollup.d.ts +5 -14
- package/dist-esm/DependencyInitializer.js +1 -1
- package/dist-esm/DependencyListener.js +1 -1
- package/dist-esm/InternalConstants.js +1 -1
- package/dist-esm/__DynamicConstants.js +11 -13
- package/dist-esm/__DynamicConstants.js.map +1 -1
- package/dist-esm/ajax.js +119 -128
- package/dist-esm/ajax.js.map +1 -1
- package/dist-esm/ajaxRecord.js +2 -3
- package/dist-esm/ajaxRecord.js.map +1 -1
- package/dist-esm/ajaxUtils.js +1 -1
- package/dist-esm/applicationinsights-dependencies-js.js +1 -1
- package/package.json +4 -4
- package/src/__DynamicConstants.ts +10 -12
- package/src/ajax.ts +87 -92
- package/types/__DynamicConstants.d.ts +10 -12
- package/types/ajax.d.ts +5 -11
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Dependencies Plugin, 3.0.0-beta.2210-
|
|
2
|
+
* Application Insights JavaScript SDK - Dependencies Plugin, 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
|
|
|
412
415
|
var DOCUMENT = "document";
|
|
@@ -466,7 +469,7 @@
|
|
|
466
469
|
return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
|
|
467
470
|
}
|
|
468
471
|
|
|
469
|
-
function objForEachKey(theObject, callbackfn, thisArg) {
|
|
472
|
+
function objForEachKey$1(theObject, callbackfn, thisArg) {
|
|
470
473
|
if (theObject && isObject(theObject)) {
|
|
471
474
|
for (var prop in theObject) {
|
|
472
475
|
if (objHasOwn(theObject, prop)) {
|
|
@@ -511,7 +514,7 @@
|
|
|
511
514
|
}
|
|
512
515
|
function objDeepFreeze(value) {
|
|
513
516
|
if (_objFreeze) {
|
|
514
|
-
objForEachKey(value, function (key, value) {
|
|
517
|
+
objForEachKey$1(value, function (key, value) {
|
|
515
518
|
if (isArray(value) || isObject(value)) {
|
|
516
519
|
_objFreeze(value);
|
|
517
520
|
}
|
|
@@ -524,7 +527,7 @@
|
|
|
524
527
|
|
|
525
528
|
function createSimpleMap(values) {
|
|
526
529
|
var mapClass = {};
|
|
527
|
-
objForEachKey(values, function (field, value) {
|
|
530
|
+
objForEachKey$1(values, function (field, value) {
|
|
528
531
|
mapClass[field] = value[1];
|
|
529
532
|
mapClass[value[0]] = value[1];
|
|
530
533
|
});
|
|
@@ -534,6 +537,65 @@
|
|
|
534
537
|
return createSimpleMap(values);
|
|
535
538
|
}
|
|
536
539
|
|
|
540
|
+
var POLY_GLOBAL_REGISTORT = "__polySymbols$ts_utils";
|
|
541
|
+
var _polySymbols;
|
|
542
|
+
function _globalSymbolRegistry() {
|
|
543
|
+
if (!_polySymbols) {
|
|
544
|
+
var gbl = getGlobal();
|
|
545
|
+
_polySymbols = gbl[POLY_GLOBAL_REGISTORT] = gbl[POLY_GLOBAL_REGISTORT] || { k: {}, s: {} };
|
|
546
|
+
}
|
|
547
|
+
return _polySymbols;
|
|
548
|
+
}
|
|
549
|
+
function polyNewSymbol(description) {
|
|
550
|
+
var theSymbol = {
|
|
551
|
+
description: "" + description,
|
|
552
|
+
toString: function () { return SYMBOL + "(" + description + ")"; }
|
|
553
|
+
};
|
|
554
|
+
theSymbol[POLYFILL_TAG] = true;
|
|
555
|
+
return theSymbol;
|
|
556
|
+
}
|
|
557
|
+
function polySymbolFor(key) {
|
|
558
|
+
var registry = _globalSymbolRegistry();
|
|
559
|
+
if (!objHasOwn(registry, key)) {
|
|
560
|
+
var newSymbol = polyNewSymbol(key);
|
|
561
|
+
registry.k[key] = newSymbol;
|
|
562
|
+
registry.s[newSymbol] = "" + key;
|
|
563
|
+
}
|
|
564
|
+
return registry.k[key];
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
var _hasSymbol = _safeCheck(function () { return isDefined(Symbol); }, false);
|
|
568
|
+
var _symbol = getInst(SYMBOL);
|
|
569
|
+
var _symbolFor = _symbol && _safeCheck(function () { return _symbol["for"]; }, null);
|
|
570
|
+
_symbol && _safeCheck(function () { return _symbol["keyFor"]; }, null);
|
|
571
|
+
function newSymbol(description, noPoly) {
|
|
572
|
+
return _hasSymbol ? Symbol(description) : (!noPoly ? polyNewSymbol(description) : null);
|
|
573
|
+
}
|
|
574
|
+
var symbolFor = _symbolFor || polySymbolFor;
|
|
575
|
+
|
|
576
|
+
function isIterator(value) {
|
|
577
|
+
return !!value && isFunction(value.next);
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
function arrAppend(target, elms) {
|
|
581
|
+
if (!isUndefined(elms) && target) {
|
|
582
|
+
if (isArray(elms)) {
|
|
583
|
+
ArrProto.push.apply(target, elms);
|
|
584
|
+
}
|
|
585
|
+
else if (isIterator(elms)) {
|
|
586
|
+
var value = elms.next();
|
|
587
|
+
while (!value[DONE]) {
|
|
588
|
+
target.push(value[VALUE]);
|
|
589
|
+
value = elms.next();
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
else {
|
|
593
|
+
target.push(elms);
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
return target;
|
|
597
|
+
}
|
|
598
|
+
|
|
537
599
|
function dumpObj(object, format) {
|
|
538
600
|
var objectTypeDump = objToString(object);
|
|
539
601
|
var propertyValueDump = "";
|
|
@@ -577,7 +639,7 @@
|
|
|
577
639
|
d.__proto__ = b;
|
|
578
640
|
}) ||
|
|
579
641
|
function (d, b) {
|
|
580
|
-
objForEachKey(b, function (key, value) {
|
|
642
|
+
objForEachKey$1(b, function (key, value) {
|
|
581
643
|
d[key] = value;
|
|
582
644
|
});
|
|
583
645
|
};
|
|
@@ -641,8 +703,33 @@
|
|
|
641
703
|
}
|
|
642
704
|
}
|
|
643
705
|
|
|
706
|
+
var mathMax = MathCls.max;
|
|
707
|
+
|
|
708
|
+
var strSlice = _unwrapFunction("slice");
|
|
709
|
+
|
|
710
|
+
var SUB_STR = "substr";
|
|
711
|
+
var strSubstr = StrProto[SUB_STR] ? _unwrapFunction(SUB_STR) : polyStrSubstr;
|
|
712
|
+
function polyStrSubstr(value, start, length) {
|
|
713
|
+
if (isNullOrUndefined(value)) {
|
|
714
|
+
throwTypeError("'polyStrSubstr called with invalid " + dumpObj(value));
|
|
715
|
+
}
|
|
716
|
+
if (length < 0) {
|
|
717
|
+
return EMPTY;
|
|
718
|
+
}
|
|
719
|
+
start = start || 0;
|
|
720
|
+
if (start < 0) {
|
|
721
|
+
start = mathMax(start + value[LENGTH], 0);
|
|
722
|
+
}
|
|
723
|
+
if (isUndefined(length)) {
|
|
724
|
+
return strSlice(value, start);
|
|
725
|
+
}
|
|
726
|
+
return strSlice(value, start, start + length);
|
|
727
|
+
}
|
|
728
|
+
|
|
644
729
|
var strIndexOf = _unwrapFunction(INDEX_OF);
|
|
645
730
|
|
|
731
|
+
var asString = StrCls;
|
|
732
|
+
|
|
646
733
|
function _createTrimFn(exp) {
|
|
647
734
|
return function _doTrim(value) {
|
|
648
735
|
if (isNullOrUndefined(value)) {
|
|
@@ -661,49 +748,57 @@
|
|
|
661
748
|
|
|
662
749
|
var createValueMap = createTypeMap;
|
|
663
750
|
|
|
751
|
+
var _DYN_LENGTH$2 = "length";
|
|
752
|
+
var _DYN_NOTIFY = "notify";
|
|
753
|
+
var _DYN_THROW_INTERNAL = "throwInternal";
|
|
754
|
+
var _DYN_WATCH = "watch";
|
|
755
|
+
var _DYN_LOGGER = "logger";
|
|
756
|
+
var _DYN_CONFIGURABLE = "configurable";
|
|
757
|
+
var _DYN_ENUMERABLE = "enumerable";
|
|
758
|
+
var _DYN_APPLY = "apply";
|
|
759
|
+
var _DYN_INDEX_OF$1 = "indexOf";
|
|
760
|
+
var _DYN_PUSH = "push";
|
|
664
761
|
var _DYN_INITIALIZE = "initialize";
|
|
665
|
-
var _DYN_NAME$2 = "name";
|
|
666
762
|
var _DYN_IDENTIFIER = "identifier";
|
|
667
|
-
var
|
|
763
|
+
var _DYN_SPLICE = "splice";
|
|
668
764
|
var _DYN_IS_INITIALIZED = "isInitialized";
|
|
669
|
-
var
|
|
670
|
-
var _DYN_LOGGER = "logger";
|
|
671
|
-
var _DYN_LENGTH$2 = "length";
|
|
765
|
+
var _DYN_NAME$2 = "name";
|
|
672
766
|
var _DYN_TIME = "time";
|
|
673
767
|
var _DYN_PROCESS_NEXT = "processNext";
|
|
674
768
|
var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
|
|
769
|
+
var _DYN_CALL = "call";
|
|
675
770
|
var _DYN_GET_PLUGIN = "getPlugin";
|
|
676
|
-
var
|
|
771
|
+
var _DYN_LOGGING_LEVEL_CONSOL4 = "loggingLevelConsole";
|
|
677
772
|
var _DYN_TEARDOWN = "teardown";
|
|
678
773
|
var _DYN_MESSAGE_ID = "messageId";
|
|
679
774
|
var _DYN_MESSAGE = "message";
|
|
680
775
|
var _DYN_IS_ASYNC = "isAsync";
|
|
776
|
+
var _DYN_DIAG_LOG = "diagLog";
|
|
681
777
|
var _DYN__DO_TEARDOWN = "_doTeardown";
|
|
682
778
|
var _DYN_UPDATE = "update";
|
|
683
779
|
var _DYN_GET_NEXT = "getNext";
|
|
684
|
-
var _DYN_DIAG_LOG = "diagLog";
|
|
685
780
|
var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
|
|
686
781
|
var _DYN_CREATE_NEW = "createNew";
|
|
782
|
+
var _DYN_CONFIG = "config";
|
|
687
783
|
var _DYN_USER_AGENT = "userAgent";
|
|
688
784
|
var _DYN_SPLIT$1 = "split";
|
|
689
|
-
var _DYN_SUBSTR = "substr";
|
|
690
785
|
var _DYN_NODE_TYPE = "nodeType";
|
|
691
|
-
var _DYN_APPLY = "apply";
|
|
692
786
|
var _DYN_REPLACE = "replace";
|
|
693
|
-
var
|
|
787
|
+
var _DYN_ENABLE_DEBUG_EXCEPTI5 = "enableDebugExceptions";
|
|
694
788
|
var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
|
|
695
789
|
var _DYN_TO_LOWER_CASE$2 = "toLowerCase";
|
|
696
790
|
var _DYN_TYPE = "type";
|
|
697
791
|
var _DYN_HANDLER = "handler";
|
|
698
|
-
var _DYN_CALL = "call";
|
|
699
792
|
var _DYN_IS_CHILD_EVT = "isChildEvt";
|
|
700
793
|
var _DYN_GET_CTX = "getCtx";
|
|
701
794
|
var _DYN_SET_CTX = "setCtx";
|
|
702
795
|
var _DYN_COMPLETE = "complete";
|
|
703
796
|
var _DYN_TRACE_ID$1 = "traceId";
|
|
797
|
+
var _DYN_SPAN_ID$1 = "spanId";
|
|
704
798
|
var _DYN_TRACE_FLAGS$1 = "traceFlags";
|
|
705
799
|
var _DYN_VERSION = "version";
|
|
706
800
|
|
|
801
|
+
var UNDEFINED_VALUE = undefined;
|
|
707
802
|
var STR_EMPTY = "";
|
|
708
803
|
var STR_CORE = "core";
|
|
709
804
|
var STR_DISABLED = "disabled";
|
|
@@ -713,42 +808,20 @@
|
|
|
713
808
|
var STR_ERROR_TO_CONSOLE = "errorToConsole";
|
|
714
809
|
var STR_WARN_TO_CONSOLE = "warnToConsole";
|
|
715
810
|
var STR_GET_PERF_MGR = "getPerfMgr";
|
|
811
|
+
var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
|
|
716
812
|
|
|
717
|
-
var _aiNamespace = null;
|
|
718
|
-
function _getExtensionNamespace() {
|
|
719
|
-
var target = getInst("Microsoft");
|
|
720
|
-
if (target) {
|
|
721
|
-
_aiNamespace = target["ApplicationInsights"];
|
|
722
|
-
}
|
|
723
|
-
return _aiNamespace;
|
|
724
|
-
}
|
|
725
|
-
function getDebugExt(config) {
|
|
726
|
-
var ns = _aiNamespace;
|
|
727
|
-
if (!ns && config.disableDbgExt !== true) {
|
|
728
|
-
ns = _aiNamespace || _getExtensionNamespace();
|
|
729
|
-
}
|
|
730
|
-
return ns ? ns["ChromeDbgExt"] : null;
|
|
731
|
-
}
|
|
732
|
-
|
|
733
|
-
var cString = "String";
|
|
734
|
-
var cObject = "Object";
|
|
735
|
-
var strToISOString = "toISOString";
|
|
736
813
|
var strToString = "toString";
|
|
737
814
|
var strGetPrototypeOf = "getPrototypeOf";
|
|
738
815
|
var strConstructor = "constructor";
|
|
739
|
-
var
|
|
740
|
-
var _dateToISOString = DateProto[strToISOString] || _polyfillRequired("Date", strToISOString);
|
|
741
|
-
var _fnToString = ObjHasOwnProperty[strToString] || _polyfillRequired(cString, strToString);
|
|
816
|
+
var _fnToString = ObjClass$1[strToString];
|
|
742
817
|
var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass$1);
|
|
743
818
|
var rCamelCase = /-([a-z])/g;
|
|
744
819
|
var rNormalizeInvalid = /([^\w\d_$])/g;
|
|
745
820
|
var rLeadingNumeric = /^(\d+[\w\d_$])/;
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
};
|
|
821
|
+
var _getObjProto = Object[strGetPrototypeOf];
|
|
822
|
+
function isNotNullOrUndefined(value) {
|
|
823
|
+
return !isNullOrUndefined(value);
|
|
750
824
|
}
|
|
751
|
-
var _getObjProto = Object[strGetPrototypeOf] || _polyfillRequired(cObject, strGetPrototypeOf);
|
|
752
825
|
function normalizeJsName(name) {
|
|
753
826
|
var value = name;
|
|
754
827
|
if (value && isString(value)) {
|
|
@@ -762,6 +835,7 @@
|
|
|
762
835
|
}
|
|
763
836
|
return value;
|
|
764
837
|
}
|
|
838
|
+
var objForEachKey = objForEachKey$1;
|
|
765
839
|
function strContains(value, search) {
|
|
766
840
|
if (value && search) {
|
|
767
841
|
return strIndexOf(value, search) !== -1;
|
|
@@ -776,7 +850,7 @@
|
|
|
776
850
|
result = true;
|
|
777
851
|
}
|
|
778
852
|
else {
|
|
779
|
-
if (proto[strConstructor] &&
|
|
853
|
+
if (proto[strConstructor] && objHasOwnProperty(proto, strConstructor)) {
|
|
780
854
|
proto = proto[strConstructor];
|
|
781
855
|
}
|
|
782
856
|
result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
|
|
@@ -785,7 +859,7 @@
|
|
|
785
859
|
return result;
|
|
786
860
|
}
|
|
787
861
|
function toISOString(date) {
|
|
788
|
-
return
|
|
862
|
+
return date && date.toISOString() || "";
|
|
789
863
|
}
|
|
790
864
|
function dateNow() {
|
|
791
865
|
var dt = Date;
|
|
@@ -797,20 +871,6 @@
|
|
|
797
871
|
}
|
|
798
872
|
return STR_EMPTY;
|
|
799
873
|
}
|
|
800
|
-
function setValue(target, field, value, valChk, srcChk) {
|
|
801
|
-
var theValue = value;
|
|
802
|
-
if (target) {
|
|
803
|
-
theValue = target[field];
|
|
804
|
-
if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
|
|
805
|
-
theValue = value;
|
|
806
|
-
target[field] = theValue;
|
|
807
|
-
}
|
|
808
|
-
}
|
|
809
|
-
return theValue;
|
|
810
|
-
}
|
|
811
|
-
function getCfgValue(theValue, defaultValue) {
|
|
812
|
-
return !isNullOrUndefined(theValue) ? theValue : defaultValue;
|
|
813
|
-
}
|
|
814
874
|
function _createProxyFunction(source, funcName) {
|
|
815
875
|
var srcFunc = null;
|
|
816
876
|
var src = null;
|
|
@@ -850,49 +910,121 @@
|
|
|
850
910
|
return class_1;
|
|
851
911
|
}());
|
|
852
912
|
}
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
913
|
+
|
|
914
|
+
var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
|
|
915
|
+
function _cfgDeepCopy(source) {
|
|
916
|
+
if (source) {
|
|
917
|
+
if (isArray(source)) {
|
|
918
|
+
var result_1 = [];
|
|
919
|
+
result_1[_DYN_LENGTH$2 ] = source[_DYN_LENGTH$2 ];
|
|
920
|
+
arrForEach(source, function (value, idx) {
|
|
921
|
+
result_1[idx] = _cfgDeepCopy(value);
|
|
922
|
+
});
|
|
923
|
+
return result_1;
|
|
924
|
+
}
|
|
925
|
+
if (isPlainObject(source)) {
|
|
926
|
+
var target_1 = {};
|
|
927
|
+
objForEachKey$1(source, function (key, value) {
|
|
928
|
+
target_1[key] = _cfgDeepCopy(value);
|
|
929
|
+
});
|
|
930
|
+
return target_1;
|
|
931
|
+
}
|
|
932
|
+
}
|
|
933
|
+
return source;
|
|
934
|
+
}
|
|
935
|
+
function getDynamicConfigHandler(value) {
|
|
936
|
+
if (value) {
|
|
937
|
+
var handler = value[CFG_HANDLER_LINK] || value;
|
|
938
|
+
if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
|
|
939
|
+
return handler;
|
|
940
|
+
}
|
|
941
|
+
}
|
|
942
|
+
return null;
|
|
943
|
+
}
|
|
944
|
+
function throwInvalidAccess(message) {
|
|
945
|
+
throwTypeError("InvalidAccess:" + message);
|
|
946
|
+
}
|
|
947
|
+
|
|
948
|
+
function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
|
|
949
|
+
var defValue;
|
|
950
|
+
var isDefaultValid = cfgDefaults.dfVal || isDefined;
|
|
951
|
+
if (theConfig && cfgDefaults.fb) {
|
|
952
|
+
var fallbacks = cfgDefaults.fb;
|
|
953
|
+
if (!isArray(fallbacks)) {
|
|
954
|
+
fallbacks = [fallbacks];
|
|
955
|
+
}
|
|
956
|
+
for (var lp = 0; lp < fallbacks[_DYN_LENGTH$2 ]; lp++) {
|
|
957
|
+
var fallback = fallbacks[lp];
|
|
958
|
+
var fbValue = theConfig[fallback];
|
|
959
|
+
if (isDefaultValid(fbValue)) {
|
|
960
|
+
defValue = fbValue;
|
|
961
|
+
}
|
|
962
|
+
else {
|
|
963
|
+
fbValue = dynamicHandler.cfg[fallback];
|
|
964
|
+
if (isDefaultValid(fbValue)) {
|
|
965
|
+
defValue = fbValue;
|
|
887
966
|
}
|
|
888
|
-
|
|
967
|
+
dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);
|
|
889
968
|
}
|
|
890
|
-
if (
|
|
891
|
-
|
|
969
|
+
if (isDefaultValid(defValue)) {
|
|
970
|
+
break;
|
|
892
971
|
}
|
|
893
972
|
}
|
|
894
973
|
}
|
|
895
|
-
|
|
974
|
+
if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {
|
|
975
|
+
defValue = cfgDefaults.v;
|
|
976
|
+
}
|
|
977
|
+
return defValue;
|
|
978
|
+
}
|
|
979
|
+
function _applyDefaultValue(theConfig, name, defaultValue) {
|
|
980
|
+
var dynamicHandler = theConfig[CFG_HANDLER_LINK];
|
|
981
|
+
if (!dynamicHandler) {
|
|
982
|
+
throwInvalidAccess(STR_NOT_DYNAMIC_ERROR + dumpObj(theConfig));
|
|
983
|
+
}
|
|
984
|
+
var isValid;
|
|
985
|
+
var setFn;
|
|
986
|
+
var defValue;
|
|
987
|
+
var cfgDefaults = defaultValue;
|
|
988
|
+
if (cfgDefaults && isObject(cfgDefaults) && (cfgDefaults.isVal || cfgDefaults.set || cfgDefaults.fb || objHasOwn(cfgDefaults, "v"))) {
|
|
989
|
+
isValid = cfgDefaults.isVal;
|
|
990
|
+
setFn = cfgDefaults.set;
|
|
991
|
+
defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
|
|
992
|
+
}
|
|
993
|
+
else {
|
|
994
|
+
defValue = defaultValue;
|
|
995
|
+
}
|
|
996
|
+
var theValue = defValue;
|
|
997
|
+
var usingDefault = true;
|
|
998
|
+
var cfgValue = theConfig[name];
|
|
999
|
+
if (cfgValue || !isNullOrUndefined(cfgValue)) {
|
|
1000
|
+
theValue = cfgValue;
|
|
1001
|
+
usingDefault = false;
|
|
1002
|
+
}
|
|
1003
|
+
if (!usingDefault) {
|
|
1004
|
+
if (isValid && theValue !== defValue && !isValid(theValue)) {
|
|
1005
|
+
theValue = defValue;
|
|
1006
|
+
usingDefault = true;
|
|
1007
|
+
}
|
|
1008
|
+
if (setFn) {
|
|
1009
|
+
theValue = setFn(theValue, defValue, theConfig);
|
|
1010
|
+
usingDefault = theValue === defValue;
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
1013
|
+
if (theValue && usingDefault && (isPlainObject(theValue) || isArray(theValue))) {
|
|
1014
|
+
theValue = _cfgDeepCopy(theValue);
|
|
1015
|
+
}
|
|
1016
|
+
dynamicHandler.set(theConfig, name, theValue);
|
|
1017
|
+
}
|
|
1018
|
+
function applyDefaults(theConfig, defaultValues) {
|
|
1019
|
+
if (defaultValues) {
|
|
1020
|
+
if (theConfig && !theConfig[CFG_HANDLER_LINK] && (isPlainObject(theConfig) || isArray(theConfig))) {
|
|
1021
|
+
throwInvalidAccess(STR_NOT_DYNAMIC_ERROR + dumpObj(theConfig));
|
|
1022
|
+
}
|
|
1023
|
+
objForEachKey(defaultValues, function (name, value) {
|
|
1024
|
+
_applyDefaultValue(theConfig, name, value);
|
|
1025
|
+
});
|
|
1026
|
+
}
|
|
1027
|
+
return theConfig;
|
|
896
1028
|
}
|
|
897
1029
|
|
|
898
1030
|
var strDocumentMode = "documentMode";
|
|
@@ -915,77 +1047,515 @@
|
|
|
915
1047
|
return mockLocation;
|
|
916
1048
|
}
|
|
917
1049
|
}
|
|
918
|
-
if (typeof location === strShimObject && location) {
|
|
919
|
-
return location;
|
|
1050
|
+
if (typeof location === strShimObject && location) {
|
|
1051
|
+
return location;
|
|
1052
|
+
}
|
|
1053
|
+
return getInst(strLocation);
|
|
1054
|
+
}
|
|
1055
|
+
function getConsole() {
|
|
1056
|
+
if (typeof console !== strShimUndefined) {
|
|
1057
|
+
return console;
|
|
1058
|
+
}
|
|
1059
|
+
return getInst(strConsole);
|
|
1060
|
+
}
|
|
1061
|
+
function getPerformance() {
|
|
1062
|
+
return getInst(strPerformance);
|
|
1063
|
+
}
|
|
1064
|
+
function hasJSON() {
|
|
1065
|
+
return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
|
|
1066
|
+
}
|
|
1067
|
+
function getJSON() {
|
|
1068
|
+
if (hasJSON()) {
|
|
1069
|
+
return JSON || getInst(strJSON);
|
|
1070
|
+
}
|
|
1071
|
+
return null;
|
|
1072
|
+
}
|
|
1073
|
+
function getCrypto() {
|
|
1074
|
+
return getInst(strCrypto);
|
|
1075
|
+
}
|
|
1076
|
+
function getMsCrypto() {
|
|
1077
|
+
return getInst(strMsCrypto);
|
|
1078
|
+
}
|
|
1079
|
+
function isIE() {
|
|
1080
|
+
var nav = getNavigator();
|
|
1081
|
+
if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
|
|
1082
|
+
_navUserAgentCheck = nav[_DYN_USER_AGENT ];
|
|
1083
|
+
var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$2 ]();
|
|
1084
|
+
_isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
|
|
1085
|
+
}
|
|
1086
|
+
return _isTrident;
|
|
1087
|
+
}
|
|
1088
|
+
function getIEVersion(userAgentStr) {
|
|
1089
|
+
if (userAgentStr === void 0) { userAgentStr = null; }
|
|
1090
|
+
if (!userAgentStr) {
|
|
1091
|
+
var navigator_1 = getNavigator() || {};
|
|
1092
|
+
userAgentStr = navigator_1 ? (navigator_1[_DYN_USER_AGENT ] || STR_EMPTY)[_DYN_TO_LOWER_CASE$2 ]() : STR_EMPTY;
|
|
1093
|
+
}
|
|
1094
|
+
var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE$2 ]();
|
|
1095
|
+
if (strContains(ua, strMsie)) {
|
|
1096
|
+
var doc = getDocument() || {};
|
|
1097
|
+
return Math.max(parseInt(ua[_DYN_SPLIT$1 ](strMsie)[1]), (doc[strDocumentMode] || 0));
|
|
1098
|
+
}
|
|
1099
|
+
else if (strContains(ua, strTrident)) {
|
|
1100
|
+
var tridentVer = parseInt(ua[_DYN_SPLIT$1 ](strTrident)[1]);
|
|
1101
|
+
if (tridentVer) {
|
|
1102
|
+
return tridentVer + 4;
|
|
1103
|
+
}
|
|
1104
|
+
}
|
|
1105
|
+
return null;
|
|
1106
|
+
}
|
|
1107
|
+
function isXhrSupported() {
|
|
1108
|
+
var isSupported = false;
|
|
1109
|
+
try {
|
|
1110
|
+
var xmlHttpRequest = getInst(strXMLHttpRequest);
|
|
1111
|
+
isSupported = !!xmlHttpRequest;
|
|
1112
|
+
}
|
|
1113
|
+
catch (e) {
|
|
1114
|
+
}
|
|
1115
|
+
return isSupported;
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1118
|
+
var UInt32Mask = 0x100000000;
|
|
1119
|
+
var MaxUInt32 = 0xffffffff;
|
|
1120
|
+
var _mwcSeeded = false;
|
|
1121
|
+
var _mwcW = 123456789;
|
|
1122
|
+
var _mwcZ = 987654321;
|
|
1123
|
+
function _mwcSeed(seedValue) {
|
|
1124
|
+
if (seedValue < 0) {
|
|
1125
|
+
seedValue >>>= 0;
|
|
1126
|
+
}
|
|
1127
|
+
_mwcW = (123456789 + seedValue) & MaxUInt32;
|
|
1128
|
+
_mwcZ = (987654321 - seedValue) & MaxUInt32;
|
|
1129
|
+
_mwcSeeded = true;
|
|
1130
|
+
}
|
|
1131
|
+
function _autoSeedMwc() {
|
|
1132
|
+
try {
|
|
1133
|
+
var now = dateNow() & 0x7fffffff;
|
|
1134
|
+
_mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
|
|
1135
|
+
}
|
|
1136
|
+
catch (e) {
|
|
1137
|
+
}
|
|
1138
|
+
}
|
|
1139
|
+
function random32(signed) {
|
|
1140
|
+
var value = 0;
|
|
1141
|
+
var c = getCrypto() || getMsCrypto();
|
|
1142
|
+
if (c && c.getRandomValues) {
|
|
1143
|
+
value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
|
|
1144
|
+
}
|
|
1145
|
+
if (value === 0 && isIE()) {
|
|
1146
|
+
if (!_mwcSeeded) {
|
|
1147
|
+
_autoSeedMwc();
|
|
1148
|
+
}
|
|
1149
|
+
value = mwcRandom32() & MaxUInt32;
|
|
1150
|
+
}
|
|
1151
|
+
if (value === 0) {
|
|
1152
|
+
value = Math.floor((UInt32Mask * Math.random()) | 0);
|
|
1153
|
+
}
|
|
1154
|
+
if (!signed) {
|
|
1155
|
+
value >>>= 0;
|
|
1156
|
+
}
|
|
1157
|
+
return value;
|
|
1158
|
+
}
|
|
1159
|
+
function mwcRandom32(signed) {
|
|
1160
|
+
_mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
|
|
1161
|
+
_mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
|
|
1162
|
+
var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
|
|
1163
|
+
if (!signed) {
|
|
1164
|
+
value >>>= 0;
|
|
1165
|
+
}
|
|
1166
|
+
return value;
|
|
1167
|
+
}
|
|
1168
|
+
function newId(maxLength) {
|
|
1169
|
+
if (maxLength === void 0) { maxLength = 22; }
|
|
1170
|
+
var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
1171
|
+
var number = random32() >>> 0;
|
|
1172
|
+
var chars = 0;
|
|
1173
|
+
var result = STR_EMPTY;
|
|
1174
|
+
while (result[_DYN_LENGTH$2 ] < maxLength) {
|
|
1175
|
+
chars++;
|
|
1176
|
+
result += base64chars.charAt(number & 0x3F);
|
|
1177
|
+
number >>>= 6;
|
|
1178
|
+
if (chars === 5) {
|
|
1179
|
+
number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
|
|
1180
|
+
chars = 0;
|
|
1181
|
+
}
|
|
1182
|
+
}
|
|
1183
|
+
return result;
|
|
1184
|
+
}
|
|
1185
|
+
|
|
1186
|
+
var _objDefineProperty = ObjDefineProperty;
|
|
1187
|
+
var version = "3.0.0-beta.2210-03";
|
|
1188
|
+
var instanceName = "." + newId(6);
|
|
1189
|
+
var _dataUid = 0;
|
|
1190
|
+
function _createAccessor(target, prop, value) {
|
|
1191
|
+
var _a;
|
|
1192
|
+
if (_objDefineProperty) {
|
|
1193
|
+
try {
|
|
1194
|
+
_objDefineProperty(target, prop, (_a = {
|
|
1195
|
+
value: value
|
|
1196
|
+
},
|
|
1197
|
+
_a[_DYN_ENUMERABLE ] = false,
|
|
1198
|
+
_a[_DYN_CONFIGURABLE ] = true,
|
|
1199
|
+
_a));
|
|
1200
|
+
return true;
|
|
1201
|
+
}
|
|
1202
|
+
catch (e) {
|
|
1203
|
+
}
|
|
1204
|
+
}
|
|
1205
|
+
return false;
|
|
1206
|
+
}
|
|
1207
|
+
function _canAcceptData(target) {
|
|
1208
|
+
return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
|
|
1209
|
+
}
|
|
1210
|
+
function _getCache(data, target) {
|
|
1211
|
+
var theCache = target[data.id];
|
|
1212
|
+
if (!theCache) {
|
|
1213
|
+
theCache = {};
|
|
1214
|
+
try {
|
|
1215
|
+
if (_canAcceptData(target)) {
|
|
1216
|
+
if (!_createAccessor(target, data.id, theCache)) {
|
|
1217
|
+
target[data.id] = theCache;
|
|
1218
|
+
}
|
|
1219
|
+
}
|
|
1220
|
+
}
|
|
1221
|
+
catch (e) {
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1224
|
+
return theCache;
|
|
1225
|
+
}
|
|
1226
|
+
function createUniqueNamespace(name, includeVersion) {
|
|
1227
|
+
if (includeVersion === void 0) { includeVersion = false; }
|
|
1228
|
+
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
|
|
1229
|
+
}
|
|
1230
|
+
function createElmNodeData(name) {
|
|
1231
|
+
var data = {
|
|
1232
|
+
id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
|
|
1233
|
+
accept: function (target) {
|
|
1234
|
+
return _canAcceptData(target);
|
|
1235
|
+
},
|
|
1236
|
+
get: function (target, name, defValue, addDefault) {
|
|
1237
|
+
var theCache = target[data.id];
|
|
1238
|
+
if (!theCache) {
|
|
1239
|
+
if (addDefault) {
|
|
1240
|
+
theCache = _getCache(data, target);
|
|
1241
|
+
theCache[normalizeJsName(name)] = defValue;
|
|
1242
|
+
}
|
|
1243
|
+
return defValue;
|
|
1244
|
+
}
|
|
1245
|
+
return theCache[normalizeJsName(name)];
|
|
1246
|
+
},
|
|
1247
|
+
kill: function (target, name) {
|
|
1248
|
+
if (target && target[name]) {
|
|
1249
|
+
try {
|
|
1250
|
+
delete target[name];
|
|
1251
|
+
}
|
|
1252
|
+
catch (e) {
|
|
1253
|
+
}
|
|
1254
|
+
}
|
|
1255
|
+
}
|
|
1256
|
+
};
|
|
1257
|
+
return data;
|
|
1258
|
+
}
|
|
1259
|
+
|
|
1260
|
+
var arrayMethodsToPatch = [
|
|
1261
|
+
"push",
|
|
1262
|
+
"pop",
|
|
1263
|
+
"shift",
|
|
1264
|
+
"unshift",
|
|
1265
|
+
"splice"
|
|
1266
|
+
];
|
|
1267
|
+
function _patchArray(state, target) {
|
|
1268
|
+
if (isArray(target)) {
|
|
1269
|
+
arrForEach(arrayMethodsToPatch, function (method) {
|
|
1270
|
+
var orgMethod = target[method];
|
|
1271
|
+
target[method] = function () {
|
|
1272
|
+
var args = [];
|
|
1273
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
1274
|
+
args[_i] = arguments[_i];
|
|
1275
|
+
}
|
|
1276
|
+
var result = orgMethod[_DYN_APPLY ](this, args);
|
|
1277
|
+
_makeDynamicObject(state, target);
|
|
1278
|
+
return result;
|
|
1279
|
+
};
|
|
1280
|
+
});
|
|
1281
|
+
}
|
|
1282
|
+
}
|
|
1283
|
+
function _makeDynamicProperty(state, theConfig, name, value) {
|
|
1284
|
+
var detail = {
|
|
1285
|
+
n: name,
|
|
1286
|
+
h: [],
|
|
1287
|
+
add: function (handler) {
|
|
1288
|
+
if (handler && handler.fn && detail.h[_DYN_INDEX_OF$1 ](handler) === -1) {
|
|
1289
|
+
detail.h[_DYN_PUSH ](handler);
|
|
1290
|
+
}
|
|
1291
|
+
}
|
|
1292
|
+
};
|
|
1293
|
+
var checkDynamic = true;
|
|
1294
|
+
function _getProperty() {
|
|
1295
|
+
if (checkDynamic) {
|
|
1296
|
+
if (value && !value[CFG_HANDLER_LINK] && (isPlainObject(value) || isArray(value))) {
|
|
1297
|
+
value = _makeDynamicObject(state, value);
|
|
1298
|
+
}
|
|
1299
|
+
checkDynamic = false;
|
|
1300
|
+
}
|
|
1301
|
+
var activeHandler = state.act;
|
|
1302
|
+
if (activeHandler) {
|
|
1303
|
+
detail.add(activeHandler);
|
|
1304
|
+
}
|
|
1305
|
+
return value;
|
|
1306
|
+
}
|
|
1307
|
+
_getProperty[state.prop] = true;
|
|
1308
|
+
function _setProperty(newValue) {
|
|
1309
|
+
if (value !== newValue) {
|
|
1310
|
+
if (!!_setProperty[state.ro] && state.upd) {
|
|
1311
|
+
throwInvalidAccess("[" + name + "] is sealed from " + dumpObj(theConfig));
|
|
1312
|
+
}
|
|
1313
|
+
if (value && value[CFG_HANDLER_LINK]) {
|
|
1314
|
+
if (isPlainObject(value)) {
|
|
1315
|
+
objForEachKey$1(value, function (key) {
|
|
1316
|
+
value[key] = UNDEFINED_VALUE;
|
|
1317
|
+
});
|
|
1318
|
+
}
|
|
1319
|
+
else if (isArray(value)) {
|
|
1320
|
+
arrForEach(value, function (propValue, idx) {
|
|
1321
|
+
value[idx] = UNDEFINED_VALUE;
|
|
1322
|
+
});
|
|
1323
|
+
}
|
|
1324
|
+
}
|
|
1325
|
+
checkDynamic = false;
|
|
1326
|
+
if (isPlainObject(newValue) || isArray(newValue)) {
|
|
1327
|
+
_makeDynamicObject(state, newValue);
|
|
1328
|
+
}
|
|
1329
|
+
value = newValue;
|
|
1330
|
+
state.add(detail);
|
|
1331
|
+
}
|
|
1332
|
+
}
|
|
1333
|
+
objDefineAccessors(theConfig, detail.n, _getProperty, _setProperty, true);
|
|
1334
|
+
}
|
|
1335
|
+
function _setDynamicProperty(state, target, name, value) {
|
|
1336
|
+
if (target) {
|
|
1337
|
+
var isDynamic = false;
|
|
1338
|
+
var propDesc = objGetOwnPropertyDescriptor(target, name);
|
|
1339
|
+
if (propDesc && propDesc.get) {
|
|
1340
|
+
isDynamic = !!propDesc.get[state.prop];
|
|
1341
|
+
}
|
|
1342
|
+
if (!isDynamic) {
|
|
1343
|
+
_makeDynamicProperty(state, target, name, value);
|
|
1344
|
+
}
|
|
1345
|
+
else {
|
|
1346
|
+
target[name] = value;
|
|
1347
|
+
}
|
|
1348
|
+
}
|
|
1349
|
+
return value;
|
|
1350
|
+
}
|
|
1351
|
+
function _makeDynamicObject(state, target ) {
|
|
1352
|
+
var _a;
|
|
1353
|
+
objForEachKey$1( target, function (key, value) {
|
|
1354
|
+
_setDynamicProperty(state, target, key, value);
|
|
1355
|
+
});
|
|
1356
|
+
if (!target[CFG_HANDLER_LINK]) {
|
|
1357
|
+
objDefineProp(target, CFG_HANDLER_LINK, (_a = {},
|
|
1358
|
+
_a[_DYN_CONFIGURABLE ] = false,
|
|
1359
|
+
_a[_DYN_ENUMERABLE ] = false,
|
|
1360
|
+
_a.get = function () {
|
|
1361
|
+
return state.hdlr;
|
|
1362
|
+
},
|
|
1363
|
+
_a));
|
|
1364
|
+
_patchArray(state, target);
|
|
1365
|
+
}
|
|
1366
|
+
return target;
|
|
1367
|
+
}
|
|
1368
|
+
|
|
1369
|
+
var symPrefix = "[[ai_";
|
|
1370
|
+
var symPostfix = "]]";
|
|
1371
|
+
function _insertWatcher(watchers, theDetail) {
|
|
1372
|
+
if (theDetail && theDetail.h && theDetail.h[_DYN_LENGTH$2 ] > 0) {
|
|
1373
|
+
arrForEach(theDetail.h, function (handler) {
|
|
1374
|
+
if (handler && handler.fn && watchers[_DYN_INDEX_OF$1 ](handler) === -1) {
|
|
1375
|
+
watchers[_DYN_PUSH ](handler);
|
|
1376
|
+
}
|
|
1377
|
+
});
|
|
1378
|
+
}
|
|
1379
|
+
}
|
|
1380
|
+
function _createState(cfgHandler) {
|
|
1381
|
+
var _a;
|
|
1382
|
+
var dynamicPropertySymbol = newSymbol(symPrefix + "get" + cfgHandler.uid + symPostfix);
|
|
1383
|
+
var dynamicPropertyReadOnly = newSymbol(symPrefix + "ro" + cfgHandler.uid + symPostfix);
|
|
1384
|
+
var _waitingHandlers = null;
|
|
1385
|
+
var _watcherTimer = null;
|
|
1386
|
+
var theState;
|
|
1387
|
+
function _useHandler(activeHandler, callback) {
|
|
1388
|
+
var prevWatcher = theState.act;
|
|
1389
|
+
try {
|
|
1390
|
+
theState.act = activeHandler;
|
|
1391
|
+
callback({
|
|
1392
|
+
cfg: cfgHandler.cfg,
|
|
1393
|
+
hdlr: cfgHandler
|
|
1394
|
+
});
|
|
1395
|
+
}
|
|
1396
|
+
catch (e) {
|
|
1397
|
+
var message = "Watcher [" + dumpObj(callback) + "] failed [" + dumpObj(e) + "]";
|
|
1398
|
+
var logger = cfgHandler[_DYN_LOGGER ];
|
|
1399
|
+
if (logger) {
|
|
1400
|
+
cfgHandler.logger[_DYN_THROW_INTERNAL ](1 , 107 , message);
|
|
1401
|
+
}
|
|
1402
|
+
else {
|
|
1403
|
+
throwInvalidAccess(message);
|
|
1404
|
+
}
|
|
1405
|
+
}
|
|
1406
|
+
finally {
|
|
1407
|
+
theState.act = prevWatcher || null;
|
|
1408
|
+
}
|
|
1409
|
+
}
|
|
1410
|
+
function _notifyWatchers() {
|
|
1411
|
+
if (_waitingHandlers) {
|
|
1412
|
+
var notifyHandlers = _waitingHandlers;
|
|
1413
|
+
_waitingHandlers = null;
|
|
1414
|
+
if (_watcherTimer) {
|
|
1415
|
+
clearTimeout(_watcherTimer);
|
|
1416
|
+
_watcherTimer = null;
|
|
1417
|
+
}
|
|
1418
|
+
arrForEach(notifyHandlers, function (handler) {
|
|
1419
|
+
if (handler.fn) {
|
|
1420
|
+
_useHandler(handler, handler.fn);
|
|
1421
|
+
}
|
|
1422
|
+
});
|
|
1423
|
+
if (_waitingHandlers) {
|
|
1424
|
+
_notifyWatchers();
|
|
1425
|
+
}
|
|
1426
|
+
}
|
|
1427
|
+
}
|
|
1428
|
+
function _addWatcher(detail) {
|
|
1429
|
+
if (detail && detail.h[_DYN_LENGTH$2 ] > 0) {
|
|
1430
|
+
if (!_waitingHandlers) {
|
|
1431
|
+
_waitingHandlers = [];
|
|
1432
|
+
}
|
|
1433
|
+
if (!_watcherTimer) {
|
|
1434
|
+
_watcherTimer = setTimeout(function () {
|
|
1435
|
+
_watcherTimer = null;
|
|
1436
|
+
_notifyWatchers();
|
|
1437
|
+
}, 0);
|
|
1438
|
+
}
|
|
1439
|
+
_insertWatcher(_waitingHandlers, detail);
|
|
1440
|
+
}
|
|
1441
|
+
}
|
|
1442
|
+
theState = (_a = {
|
|
1443
|
+
prop: dynamicPropertySymbol,
|
|
1444
|
+
ro: dynamicPropertyReadOnly,
|
|
1445
|
+
hdlr: cfgHandler,
|
|
1446
|
+
add: _addWatcher
|
|
1447
|
+
},
|
|
1448
|
+
_a[_DYN_NOTIFY ] = _notifyWatchers,
|
|
1449
|
+
_a.use = _useHandler,
|
|
1450
|
+
_a);
|
|
1451
|
+
return theState;
|
|
1452
|
+
}
|
|
1453
|
+
|
|
1454
|
+
function _createAndUseHandler(state, configHandler) {
|
|
1455
|
+
var handler = {
|
|
1456
|
+
fn: configHandler,
|
|
1457
|
+
rm: function () {
|
|
1458
|
+
handler.fn = null;
|
|
1459
|
+
state = null;
|
|
1460
|
+
configHandler = null;
|
|
1461
|
+
}
|
|
1462
|
+
};
|
|
1463
|
+
state.use(handler, configHandler);
|
|
1464
|
+
return handler;
|
|
1465
|
+
}
|
|
1466
|
+
function _createDynamicHandler(logger, target, inPlace) {
|
|
1467
|
+
var _a, _b;
|
|
1468
|
+
var dynamicConfig = getDynamicConfigHandler(target);
|
|
1469
|
+
if (dynamicConfig) {
|
|
1470
|
+
return dynamicConfig;
|
|
1471
|
+
}
|
|
1472
|
+
var uid = createUniqueNamespace("dyncfg", true);
|
|
1473
|
+
var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);
|
|
1474
|
+
var theState;
|
|
1475
|
+
function _notifyWatchers() {
|
|
1476
|
+
theState[_DYN_NOTIFY ]();
|
|
920
1477
|
}
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
function getConsole() {
|
|
924
|
-
if (typeof console !== strShimUndefined) {
|
|
925
|
-
return console;
|
|
1478
|
+
function _setValue(target, name, value) {
|
|
1479
|
+
return _setDynamicProperty(theState, target, name, value);
|
|
926
1480
|
}
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
function getPerformance() {
|
|
930
|
-
return getInst(strPerformance);
|
|
931
|
-
}
|
|
932
|
-
function hasJSON() {
|
|
933
|
-
return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
|
|
934
|
-
}
|
|
935
|
-
function getJSON() {
|
|
936
|
-
if (hasJSON()) {
|
|
937
|
-
return JSON || getInst(strJSON);
|
|
1481
|
+
function _watch(configHandler) {
|
|
1482
|
+
return _createAndUseHandler(theState, configHandler);
|
|
938
1483
|
}
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
function getCrypto() {
|
|
942
|
-
return getInst(strCrypto);
|
|
943
|
-
}
|
|
944
|
-
function getMsCrypto() {
|
|
945
|
-
return getInst(strMsCrypto);
|
|
946
|
-
}
|
|
947
|
-
function isIE() {
|
|
948
|
-
var nav = getNavigator();
|
|
949
|
-
if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
|
|
950
|
-
_navUserAgentCheck = nav[_DYN_USER_AGENT ];
|
|
951
|
-
var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$2 ]();
|
|
952
|
-
_isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
|
|
1484
|
+
function _block(configHandler) {
|
|
1485
|
+
theState.use(null, configHandler);
|
|
953
1486
|
}
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
1487
|
+
var cfgHandler = (_a = {
|
|
1488
|
+
uid: null,
|
|
1489
|
+
cfg: newTarget
|
|
1490
|
+
},
|
|
1491
|
+
_a[_DYN_LOGGER ] = logger,
|
|
1492
|
+
_a[_DYN_NOTIFY ] = _notifyWatchers,
|
|
1493
|
+
_a.set = _setValue,
|
|
1494
|
+
_a[_DYN_WATCH ] = _watch,
|
|
1495
|
+
_a._block = _block,
|
|
1496
|
+
_a);
|
|
1497
|
+
objDefineProp(cfgHandler, "uid", (_b = {},
|
|
1498
|
+
_b[_DYN_CONFIGURABLE ] = false,
|
|
1499
|
+
_b[_DYN_ENUMERABLE ] = false,
|
|
1500
|
+
_b.writable = false,
|
|
1501
|
+
_b.value = uid,
|
|
1502
|
+
_b));
|
|
1503
|
+
theState = _createState(cfgHandler);
|
|
1504
|
+
_makeDynamicObject(theState, newTarget);
|
|
1505
|
+
return cfgHandler;
|
|
1506
|
+
}
|
|
1507
|
+
function _logInvalidAccess(logger, message) {
|
|
1508
|
+
if (logger) {
|
|
1509
|
+
logger[STR_WARN_TO_CONSOLE ](message);
|
|
1510
|
+
logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
|
|
961
1511
|
}
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
var doc = getDocument() || {};
|
|
965
|
-
return Math.max(parseInt(ua[_DYN_SPLIT$1 ](strMsie)[1]), (doc[strDocumentMode] || 0));
|
|
1512
|
+
else {
|
|
1513
|
+
throwInvalidAccess(message);
|
|
966
1514
|
}
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
1515
|
+
}
|
|
1516
|
+
function createDynamicConfig(config, defaultConfig, logger, inPlace) {
|
|
1517
|
+
var dynamic = _createDynamicHandler(logger, config || {}, inPlace);
|
|
1518
|
+
if (defaultConfig) {
|
|
1519
|
+
applyDefaults(dynamic.cfg, defaultConfig);
|
|
972
1520
|
}
|
|
973
|
-
return
|
|
1521
|
+
return dynamic;
|
|
974
1522
|
}
|
|
975
|
-
function
|
|
976
|
-
var
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
isSupported = !!xmlHttpRequest;
|
|
1523
|
+
function onConfigChange(config, configHandler, logger) {
|
|
1524
|
+
var handler = config[CFG_HANDLER_LINK] || config;
|
|
1525
|
+
if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
|
|
1526
|
+
return handler[_DYN_WATCH ](configHandler);
|
|
980
1527
|
}
|
|
981
|
-
|
|
1528
|
+
_logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
|
|
1529
|
+
createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
|
|
1530
|
+
}
|
|
1531
|
+
|
|
1532
|
+
var _aiNamespace = null;
|
|
1533
|
+
function _getExtensionNamespace() {
|
|
1534
|
+
var target = getInst("Microsoft");
|
|
1535
|
+
if (target) {
|
|
1536
|
+
_aiNamespace = target["ApplicationInsights"];
|
|
982
1537
|
}
|
|
983
|
-
return
|
|
1538
|
+
return _aiNamespace;
|
|
1539
|
+
}
|
|
1540
|
+
function getDebugExt(config) {
|
|
1541
|
+
var ns = _aiNamespace;
|
|
1542
|
+
if (!ns && config.disableDbgExt !== true) {
|
|
1543
|
+
ns = _aiNamespace || _getExtensionNamespace();
|
|
1544
|
+
}
|
|
1545
|
+
return ns ? ns["ChromeDbgExt"] : null;
|
|
984
1546
|
}
|
|
985
1547
|
|
|
1548
|
+
var _a$1;
|
|
986
1549
|
var AiNonUserActionablePrefix = "AI (Internal): ";
|
|
987
1550
|
var AiUserActionablePrefix = "AI: ";
|
|
988
1551
|
var AIInternalMessagePrefix = "AITR_";
|
|
1552
|
+
var defaultValues$1 = (_a$1 = {
|
|
1553
|
+
loggingLevelConsole: 0,
|
|
1554
|
+
loggingLevelTelemetry: 1,
|
|
1555
|
+
maxMessageLimit: 25
|
|
1556
|
+
},
|
|
1557
|
+
_a$1[_DYN_ENABLE_DEBUG_EXCEPTI5 ] = false,
|
|
1558
|
+
_a$1);
|
|
989
1559
|
function _sanitizeDiagnosticText(text) {
|
|
990
1560
|
if (text) {
|
|
991
1561
|
return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
|
|
@@ -1041,8 +1611,8 @@
|
|
|
1041
1611
|
_self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
|
|
1042
1612
|
_self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };
|
|
1043
1613
|
_self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
|
|
1044
|
-
_self[
|
|
1045
|
-
_self
|
|
1614
|
+
_self[_DYN_ENABLE_DEBUG_EXCEPTI5 ] = function () { return _enableDebugExceptions; };
|
|
1615
|
+
_self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
|
|
1046
1616
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
1047
1617
|
var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
|
|
1048
1618
|
if (_enableDebugExceptions) {
|
|
@@ -1115,10 +1685,14 @@
|
|
|
1115
1685
|
}
|
|
1116
1686
|
}
|
|
1117
1687
|
function _setDefaultsFromConfig(config) {
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1688
|
+
var handler = createDynamicConfig(config, defaultValues$1, _self);
|
|
1689
|
+
handler[_DYN_WATCH ](function (details) {
|
|
1690
|
+
var config = details.cfg;
|
|
1691
|
+
_loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
|
|
1692
|
+
_loggingLevelTelemetry = config.loggingLevelTelemetry;
|
|
1693
|
+
_maxInternalMessageLimit = config.maxMessageLimit;
|
|
1694
|
+
_enableDebugExceptions = config[_DYN_ENABLE_DEBUG_EXCEPTI5 ];
|
|
1695
|
+
});
|
|
1122
1696
|
}
|
|
1123
1697
|
function _areInternalMessagesThrottled() {
|
|
1124
1698
|
return _messageCount >= _maxInternalMessageLimit;
|
|
@@ -1139,7 +1713,7 @@
|
|
|
1139
1713
|
}
|
|
1140
1714
|
function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
|
|
1141
1715
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
1142
|
-
_getLogger(logger)
|
|
1716
|
+
_getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
|
|
1143
1717
|
}
|
|
1144
1718
|
|
|
1145
1719
|
var strExecutionContextKey = "ctx";
|
|
@@ -1252,146 +1826,6 @@
|
|
|
1252
1826
|
return func();
|
|
1253
1827
|
}
|
|
1254
1828
|
|
|
1255
|
-
var UInt32Mask = 0x100000000;
|
|
1256
|
-
var MaxUInt32 = 0xffffffff;
|
|
1257
|
-
var _mwcSeeded = false;
|
|
1258
|
-
var _mwcW = 123456789;
|
|
1259
|
-
var _mwcZ = 987654321;
|
|
1260
|
-
function _mwcSeed(seedValue) {
|
|
1261
|
-
if (seedValue < 0) {
|
|
1262
|
-
seedValue >>>= 0;
|
|
1263
|
-
}
|
|
1264
|
-
_mwcW = (123456789 + seedValue) & MaxUInt32;
|
|
1265
|
-
_mwcZ = (987654321 - seedValue) & MaxUInt32;
|
|
1266
|
-
_mwcSeeded = true;
|
|
1267
|
-
}
|
|
1268
|
-
function _autoSeedMwc() {
|
|
1269
|
-
try {
|
|
1270
|
-
var now = dateNow() & 0x7fffffff;
|
|
1271
|
-
_mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
|
|
1272
|
-
}
|
|
1273
|
-
catch (e) {
|
|
1274
|
-
}
|
|
1275
|
-
}
|
|
1276
|
-
function random32(signed) {
|
|
1277
|
-
var value = 0;
|
|
1278
|
-
var c = getCrypto() || getMsCrypto();
|
|
1279
|
-
if (c && c.getRandomValues) {
|
|
1280
|
-
value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
|
|
1281
|
-
}
|
|
1282
|
-
if (value === 0 && isIE()) {
|
|
1283
|
-
if (!_mwcSeeded) {
|
|
1284
|
-
_autoSeedMwc();
|
|
1285
|
-
}
|
|
1286
|
-
value = mwcRandom32() & MaxUInt32;
|
|
1287
|
-
}
|
|
1288
|
-
if (value === 0) {
|
|
1289
|
-
value = Math.floor((UInt32Mask * Math.random()) | 0);
|
|
1290
|
-
}
|
|
1291
|
-
if (!signed) {
|
|
1292
|
-
value >>>= 0;
|
|
1293
|
-
}
|
|
1294
|
-
return value;
|
|
1295
|
-
}
|
|
1296
|
-
function mwcRandom32(signed) {
|
|
1297
|
-
_mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
|
|
1298
|
-
_mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
|
|
1299
|
-
var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
|
|
1300
|
-
if (!signed) {
|
|
1301
|
-
value >>>= 0;
|
|
1302
|
-
}
|
|
1303
|
-
return value;
|
|
1304
|
-
}
|
|
1305
|
-
function newId(maxLength) {
|
|
1306
|
-
if (maxLength === void 0) { maxLength = 22; }
|
|
1307
|
-
var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
1308
|
-
var number = random32() >>> 0;
|
|
1309
|
-
var chars = 0;
|
|
1310
|
-
var result = STR_EMPTY;
|
|
1311
|
-
while (result[_DYN_LENGTH$2 ] < maxLength) {
|
|
1312
|
-
chars++;
|
|
1313
|
-
result += base64chars.charAt(number & 0x3F);
|
|
1314
|
-
number >>>= 6;
|
|
1315
|
-
if (chars === 5) {
|
|
1316
|
-
number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
|
|
1317
|
-
chars = 0;
|
|
1318
|
-
}
|
|
1319
|
-
}
|
|
1320
|
-
return result;
|
|
1321
|
-
}
|
|
1322
|
-
|
|
1323
|
-
var _objDefineProperty = ObjDefineProperty;
|
|
1324
|
-
var version = "3.0.0-beta.2210-01";
|
|
1325
|
-
var instanceName = "." + newId(6);
|
|
1326
|
-
var _dataUid = 0;
|
|
1327
|
-
function _createAccessor(target, prop, value) {
|
|
1328
|
-
if (_objDefineProperty) {
|
|
1329
|
-
try {
|
|
1330
|
-
_objDefineProperty(target, prop, {
|
|
1331
|
-
value: value,
|
|
1332
|
-
enumerable: false,
|
|
1333
|
-
configurable: true
|
|
1334
|
-
});
|
|
1335
|
-
return true;
|
|
1336
|
-
}
|
|
1337
|
-
catch (e) {
|
|
1338
|
-
}
|
|
1339
|
-
}
|
|
1340
|
-
return false;
|
|
1341
|
-
}
|
|
1342
|
-
function _canAcceptData(target) {
|
|
1343
|
-
return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
|
|
1344
|
-
}
|
|
1345
|
-
function _getCache(data, target) {
|
|
1346
|
-
var theCache = target[data.id];
|
|
1347
|
-
if (!theCache) {
|
|
1348
|
-
theCache = {};
|
|
1349
|
-
try {
|
|
1350
|
-
if (_canAcceptData(target)) {
|
|
1351
|
-
if (!_createAccessor(target, data.id, theCache)) {
|
|
1352
|
-
target[data.id] = theCache;
|
|
1353
|
-
}
|
|
1354
|
-
}
|
|
1355
|
-
}
|
|
1356
|
-
catch (e) {
|
|
1357
|
-
}
|
|
1358
|
-
}
|
|
1359
|
-
return theCache;
|
|
1360
|
-
}
|
|
1361
|
-
function createUniqueNamespace(name, includeVersion) {
|
|
1362
|
-
if (includeVersion === void 0) { includeVersion = false; }
|
|
1363
|
-
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
|
|
1364
|
-
}
|
|
1365
|
-
function createElmNodeData(name) {
|
|
1366
|
-
var data = {
|
|
1367
|
-
id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
|
|
1368
|
-
accept: function (target) {
|
|
1369
|
-
return _canAcceptData(target);
|
|
1370
|
-
},
|
|
1371
|
-
get: function (target, name, defValue, addDefault) {
|
|
1372
|
-
var theCache = target[data.id];
|
|
1373
|
-
if (!theCache) {
|
|
1374
|
-
if (addDefault) {
|
|
1375
|
-
theCache = _getCache(data, target);
|
|
1376
|
-
theCache[normalizeJsName(name)] = defValue;
|
|
1377
|
-
}
|
|
1378
|
-
return defValue;
|
|
1379
|
-
}
|
|
1380
|
-
return theCache[normalizeJsName(name)];
|
|
1381
|
-
},
|
|
1382
|
-
kill: function (target, name) {
|
|
1383
|
-
if (target && target[name]) {
|
|
1384
|
-
try {
|
|
1385
|
-
delete target[name];
|
|
1386
|
-
}
|
|
1387
|
-
catch (e) {
|
|
1388
|
-
}
|
|
1389
|
-
}
|
|
1390
|
-
}
|
|
1391
|
-
};
|
|
1392
|
-
return data;
|
|
1393
|
-
}
|
|
1394
|
-
|
|
1395
1829
|
function generateW3CId() {
|
|
1396
1830
|
var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
|
|
1397
1831
|
var oct = STR_EMPTY, tmp;
|
|
@@ -1408,7 +1842,7 @@
|
|
|
1408
1842
|
hexValues[tmp >> 28 & 0xF];
|
|
1409
1843
|
}
|
|
1410
1844
|
var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
|
|
1411
|
-
return oct
|
|
1845
|
+
return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + "4" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);
|
|
1412
1846
|
}
|
|
1413
1847
|
|
|
1414
1848
|
var DEFAULT_VERSION = "00";
|
|
@@ -1417,7 +1851,7 @@
|
|
|
1417
1851
|
var INVALID_SPAN_ID = "0000000000000000";
|
|
1418
1852
|
function _isValid(value, len, invalidValue) {
|
|
1419
1853
|
if (value && value[_DYN_LENGTH$2 ] === len && value !== invalidValue) {
|
|
1420
|
-
return !!value.match(/^[\da-f]*$/);
|
|
1854
|
+
return !!value.match(/^[\da-f]*$/i);
|
|
1421
1855
|
}
|
|
1422
1856
|
return false;
|
|
1423
1857
|
}
|
|
@@ -1442,7 +1876,7 @@
|
|
|
1442
1876
|
return _a = {},
|
|
1443
1877
|
_a[_DYN_VERSION ] = _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
|
|
1444
1878
|
_a[_DYN_TRACE_ID$1 ] = isValidTraceId(traceId) ? traceId : generateW3CId(),
|
|
1445
|
-
_a
|
|
1879
|
+
_a[_DYN_SPAN_ID$1 ] = isValidSpanId(spanId) ? spanId : generateW3CId().substr(0, 16),
|
|
1446
1880
|
_a.traceFlags = flags >= 0 && flags <= 0xFF ? flags : 1,
|
|
1447
1881
|
_a;
|
|
1448
1882
|
}
|
|
@@ -1462,7 +1896,7 @@
|
|
|
1462
1896
|
if (version !== "00" && version !== "ff") {
|
|
1463
1897
|
version = DEFAULT_VERSION;
|
|
1464
1898
|
}
|
|
1465
|
-
return "".concat(version, "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID), "-").concat(flags);
|
|
1899
|
+
return "".concat(version.toLowerCase(), "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID).toLowerCase(), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID).toLowerCase(), "-").concat(flags.toLowerCase());
|
|
1466
1900
|
}
|
|
1467
1901
|
return "";
|
|
1468
1902
|
}
|
|
@@ -1485,9 +1919,12 @@
|
|
|
1485
1919
|
}
|
|
1486
1920
|
return createTelemetryProxyChain([startAt], core[_DYN_CONFIG ] || {}, core);
|
|
1487
1921
|
}
|
|
1488
|
-
function _createInternalContext(telemetryChain,
|
|
1922
|
+
function _createInternalContext(telemetryChain, dynamicConfig, core, startAt) {
|
|
1489
1923
|
var _nextProxy = null;
|
|
1490
1924
|
var _onComplete = [];
|
|
1925
|
+
if (!dynamicConfig) {
|
|
1926
|
+
dynamicConfig = createDynamicConfig({}, null, core[_DYN_LOGGER ]);
|
|
1927
|
+
}
|
|
1491
1928
|
if (startAt !== null) {
|
|
1492
1929
|
_nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;
|
|
1493
1930
|
}
|
|
@@ -1498,12 +1935,12 @@
|
|
|
1498
1935
|
return core;
|
|
1499
1936
|
},
|
|
1500
1937
|
diagLog: function () {
|
|
1501
|
-
return safeGetLogger(core,
|
|
1938
|
+
return safeGetLogger(core, dynamicConfig.cfg);
|
|
1502
1939
|
},
|
|
1503
1940
|
getCfg: function () {
|
|
1504
|
-
return
|
|
1941
|
+
return dynamicConfig.cfg;
|
|
1505
1942
|
},
|
|
1506
|
-
getExtCfg:
|
|
1943
|
+
getExtCfg: _resolveExtCfg,
|
|
1507
1944
|
getConfig: _getConfig,
|
|
1508
1945
|
hasNext: function () {
|
|
1509
1946
|
return !!_nextProxy;
|
|
@@ -1550,48 +1987,51 @@
|
|
|
1550
1987
|
}
|
|
1551
1988
|
return nextProxy;
|
|
1552
1989
|
}
|
|
1553
|
-
function _getExtCfg(identifier,
|
|
1554
|
-
|
|
1555
|
-
if (
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
else if (isObject(defaultValue)) {
|
|
1567
|
-
if (mergeDefault !== 0 ) {
|
|
1568
|
-
var newConfig_1 = objExtend(true, defaultValue, theConfig);
|
|
1569
|
-
if (config && mergeDefault === 2 ) {
|
|
1570
|
-
objForEachKey(defaultValue, function (field) {
|
|
1571
|
-
if (isNullOrUndefined(newConfig_1[field])) {
|
|
1572
|
-
var cfgValue = config[field];
|
|
1573
|
-
if (!isNullOrUndefined(cfgValue)) {
|
|
1574
|
-
newConfig_1[field] = cfgValue;
|
|
1575
|
-
}
|
|
1576
|
-
}
|
|
1577
|
-
});
|
|
1990
|
+
function _getExtCfg(identifier, createIfMissing) {
|
|
1991
|
+
var idCfg = null;
|
|
1992
|
+
if (dynamicConfig.cfg && identifier) {
|
|
1993
|
+
var extCfg = dynamicConfig.cfg[STR_EXTENSION_CONFIG ];
|
|
1994
|
+
if (!extCfg && createIfMissing) {
|
|
1995
|
+
dynamicConfig.set(dynamicConfig.cfg, "extensionConfig", {});
|
|
1996
|
+
extCfg = dynamicConfig.cfg[STR_EXTENSION_CONFIG ];
|
|
1997
|
+
}
|
|
1998
|
+
if (extCfg) {
|
|
1999
|
+
idCfg = extCfg[identifier];
|
|
2000
|
+
if (!idCfg && createIfMissing) {
|
|
2001
|
+
dynamicConfig.set(extCfg, identifier, {});
|
|
2002
|
+
idCfg = extCfg[identifier];
|
|
1578
2003
|
}
|
|
1579
|
-
theConfig = newConfig_1;
|
|
1580
2004
|
}
|
|
1581
2005
|
}
|
|
1582
|
-
return
|
|
2006
|
+
return idCfg;
|
|
2007
|
+
}
|
|
2008
|
+
function _resolveExtCfg(identifier, defaultValues) {
|
|
2009
|
+
var newConfig = _getExtCfg(identifier, true);
|
|
2010
|
+
if (defaultValues) {
|
|
2011
|
+
objForEachKey(defaultValues, function (field, defaultValue) {
|
|
2012
|
+
if (isNullOrUndefined(newConfig[field])) {
|
|
2013
|
+
var cfgValue = dynamicConfig.cfg[field];
|
|
2014
|
+
if (cfgValue || !isNullOrUndefined(cfgValue)) {
|
|
2015
|
+
newConfig[field] = cfgValue;
|
|
2016
|
+
}
|
|
2017
|
+
}
|
|
2018
|
+
_applyDefaultValue(newConfig, field, defaultValue);
|
|
2019
|
+
});
|
|
2020
|
+
}
|
|
2021
|
+
return applyDefaults(newConfig, defaultValues);
|
|
1583
2022
|
}
|
|
1584
2023
|
function _getConfig(identifier, field, defaultValue) {
|
|
1585
2024
|
if (defaultValue === void 0) { defaultValue = false; }
|
|
1586
2025
|
var theValue;
|
|
1587
|
-
var extConfig = _getExtCfg(identifier,
|
|
1588
|
-
|
|
2026
|
+
var extConfig = _getExtCfg(identifier, false);
|
|
2027
|
+
var rootConfig = dynamicConfig.cfg;
|
|
2028
|
+
if (extConfig && (extConfig[field] || !isNullOrUndefined(extConfig[field]))) {
|
|
1589
2029
|
theValue = extConfig[field];
|
|
1590
2030
|
}
|
|
1591
|
-
else if (
|
|
1592
|
-
theValue =
|
|
2031
|
+
else if (rootConfig[field] || !isNullOrUndefined(rootConfig[field])) {
|
|
2032
|
+
theValue = rootConfig[field];
|
|
1593
2033
|
}
|
|
1594
|
-
return !isNullOrUndefined(theValue) ? theValue : defaultValue;
|
|
2034
|
+
return (theValue || !isNullOrUndefined(theValue)) ? theValue : defaultValue;
|
|
1595
2035
|
}
|
|
1596
2036
|
function _iterateChain(cb) {
|
|
1597
2037
|
var nextPlugin;
|
|
@@ -1604,27 +2044,30 @@
|
|
|
1604
2044
|
}
|
|
1605
2045
|
return context;
|
|
1606
2046
|
}
|
|
1607
|
-
function createProcessTelemetryContext(telemetryChain,
|
|
2047
|
+
function createProcessTelemetryContext(telemetryChain, cfg, core, startAt) {
|
|
2048
|
+
var config = createDynamicConfig(cfg);
|
|
1608
2049
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1609
2050
|
var context = internalContext.ctx;
|
|
1610
2051
|
function _processNext(env) {
|
|
1611
2052
|
var nextPlugin = internalContext._next();
|
|
1612
|
-
|
|
2053
|
+
if (nextPlugin) {
|
|
2054
|
+
nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
|
|
2055
|
+
}
|
|
1613
2056
|
return !nextPlugin;
|
|
1614
2057
|
}
|
|
1615
2058
|
function _createNew(plugins, startAt) {
|
|
1616
2059
|
if (plugins === void 0) { plugins = null; }
|
|
1617
2060
|
if (isArray(plugins)) {
|
|
1618
|
-
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
2061
|
+
plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
|
|
1619
2062
|
}
|
|
1620
|
-
return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config, core, startAt);
|
|
2063
|
+
return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config.cfg, core, startAt);
|
|
1621
2064
|
}
|
|
1622
2065
|
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1623
2066
|
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1624
2067
|
return context;
|
|
1625
2068
|
}
|
|
1626
2069
|
function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
|
|
1627
|
-
var config = core[_DYN_CONFIG ]
|
|
2070
|
+
var config = createDynamicConfig(core[_DYN_CONFIG ]);
|
|
1628
2071
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1629
2072
|
var context = internalContext.ctx;
|
|
1630
2073
|
function _processNext(unloadState) {
|
|
@@ -1635,7 +2078,7 @@
|
|
|
1635
2078
|
function _createNew(plugins, startAt) {
|
|
1636
2079
|
if (plugins === void 0) { plugins = null; }
|
|
1637
2080
|
if (isArray(plugins)) {
|
|
1638
|
-
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
2081
|
+
plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
|
|
1639
2082
|
}
|
|
1640
2083
|
return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
|
|
1641
2084
|
}
|
|
@@ -1644,7 +2087,7 @@
|
|
|
1644
2087
|
return context;
|
|
1645
2088
|
}
|
|
1646
2089
|
function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
|
|
1647
|
-
var config = core[_DYN_CONFIG ]
|
|
2090
|
+
var config = createDynamicConfig(core[_DYN_CONFIG ]);
|
|
1648
2091
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1649
2092
|
var context = internalContext.ctx;
|
|
1650
2093
|
function _processNext(updateState) {
|
|
@@ -1657,7 +2100,7 @@
|
|
|
1657
2100
|
function _createNew(plugins, startAt) {
|
|
1658
2101
|
if (plugins === void 0) { plugins = null; }
|
|
1659
2102
|
if (isArray(plugins)) {
|
|
1660
|
-
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
2103
|
+
plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
|
|
1661
2104
|
}
|
|
1662
2105
|
return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
|
|
1663
2106
|
}
|
|
@@ -1844,7 +2287,11 @@
|
|
|
1844
2287
|
};
|
|
1845
2288
|
}
|
|
1846
2289
|
|
|
2290
|
+
var _a;
|
|
1847
2291
|
var strGetPlugin = "getPlugin";
|
|
2292
|
+
var defaultValues = (_a = {},
|
|
2293
|
+
_a[STR_EXTENSION_CONFIG] = { isVal: isNotNullOrUndefined, v: [] },
|
|
2294
|
+
_a);
|
|
1848
2295
|
var BaseTelemetryPlugin = /** @class */ (function () {
|
|
1849
2296
|
function BaseTelemetryPlugin() {
|
|
1850
2297
|
var _self = this;
|
|
@@ -1880,7 +2327,12 @@
|
|
|
1880
2327
|
var oldHooks = _hooks;
|
|
1881
2328
|
_hooks = [];
|
|
1882
2329
|
arrForEach(oldHooks, function (fn) {
|
|
1883
|
-
|
|
2330
|
+
try {
|
|
2331
|
+
(fn.rm || fn.remove)[_DYN_CALL ](fn);
|
|
2332
|
+
}
|
|
2333
|
+
catch (e) {
|
|
2334
|
+
_throwInternal(theUnloadCtx[_DYN_DIAG_LOG ](), 2 , 73 , "Unloading:" + dumpObj(e));
|
|
2335
|
+
}
|
|
1884
2336
|
});
|
|
1885
2337
|
if (result === true) {
|
|
1886
2338
|
theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
|
|
@@ -1923,12 +2375,7 @@
|
|
|
1923
2375
|
};
|
|
1924
2376
|
_self._addHook = function (hooks) {
|
|
1925
2377
|
if (hooks) {
|
|
1926
|
-
|
|
1927
|
-
_hooks = _hooks.concat(hooks);
|
|
1928
|
-
}
|
|
1929
|
-
else {
|
|
1930
|
-
_hooks[_DYN_PUSH ](hooks);
|
|
1931
|
-
}
|
|
2378
|
+
arrAppend(_hooks, hooks);
|
|
1932
2379
|
}
|
|
1933
2380
|
};
|
|
1934
2381
|
proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
|
|
@@ -1969,9 +2416,7 @@
|
|
|
1969
2416
|
return itemCtx;
|
|
1970
2417
|
}
|
|
1971
2418
|
function _setDefaults(config, core, pluginChain) {
|
|
1972
|
-
|
|
1973
|
-
setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);
|
|
1974
|
-
}
|
|
2419
|
+
createDynamicConfig(config, defaultValues, core[_DYN_LOGGER ]);
|
|
1975
2420
|
if (!pluginChain && core) {
|
|
1976
2421
|
pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
|
|
1977
2422
|
}
|
|
@@ -2008,7 +2453,7 @@
|
|
|
2008
2453
|
var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
|
|
2009
2454
|
function _normalizeNamespace(name) {
|
|
2010
2455
|
if (name && name[_DYN_REPLACE ]) {
|
|
2011
|
-
return name
|
|
2456
|
+
return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
|
|
2012
2457
|
}
|
|
2013
2458
|
return name;
|
|
2014
2459
|
}
|
|
@@ -2333,7 +2778,7 @@
|
|
|
2333
2778
|
function dataSanitizeProperties(logger, properties) {
|
|
2334
2779
|
if (properties) {
|
|
2335
2780
|
var tempProps_1 = {};
|
|
2336
|
-
objForEachKey(properties, function (prop, value) {
|
|
2781
|
+
objForEachKey$1(properties, function (prop, value) {
|
|
2337
2782
|
if (isObject(value) && hasJSON()) {
|
|
2338
2783
|
try {
|
|
2339
2784
|
value = getJSON()[_DYN_STRINGIFY ](value);
|
|
@@ -2353,7 +2798,7 @@
|
|
|
2353
2798
|
function dataSanitizeMeasurements(logger, measurements) {
|
|
2354
2799
|
if (measurements) {
|
|
2355
2800
|
var tempMeasurements_1 = {};
|
|
2356
|
-
objForEachKey(measurements, function (measure, value) {
|
|
2801
|
+
objForEachKey$1(measurements, function (measure, value) {
|
|
2357
2802
|
measure = dataSanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements_1);
|
|
2358
2803
|
tempMeasurements_1[measure] = value;
|
|
2359
2804
|
});
|
|
@@ -2415,7 +2860,7 @@
|
|
|
2415
2860
|
function urlParseHost(url, inclPort) {
|
|
2416
2861
|
var fullHost = urlParseFullHost(url, inclPort) || "";
|
|
2417
2862
|
if (fullHost) {
|
|
2418
|
-
var match = fullHost.match(/(www
|
|
2863
|
+
var match = fullHost.match(/(www\d{0,5}\.)?([^\/:]{1,256})(:\d{1,20})?/i);
|
|
2419
2864
|
if (match != null && match[_DYN_LENGTH$1 ] > 3 && isString(match[2]) && match[2][_DYN_LENGTH$1 ] > 0) {
|
|
2420
2865
|
return match[2] + (match[3] || "");
|
|
2421
2866
|
}
|
|
@@ -2425,7 +2870,7 @@
|
|
|
2425
2870
|
function urlParseFullHost(url, inclPort) {
|
|
2426
2871
|
var result = null;
|
|
2427
2872
|
if (url) {
|
|
2428
|
-
var match = url.match(/(\w
|
|
2873
|
+
var match = url.match(/(\w{1,150}):\/\/([^\/:]{1,256})(:\d{1,20})?/i);
|
|
2429
2874
|
if (match != null && match[_DYN_LENGTH$1 ] > 2 && isString(match[2]) && match[2][_DYN_LENGTH$1 ] > 0) {
|
|
2430
2875
|
result = match[2] || "";
|
|
2431
2876
|
if (inclPort && match[_DYN_LENGTH$1 ] > 2) {
|
|
@@ -2768,7 +3213,7 @@
|
|
|
2768
3213
|
,
|
|
2769
3214
|
_a);
|
|
2770
3215
|
if (!isNullOrUndefined(customProperties)) {
|
|
2771
|
-
objForEachKey(customProperties, function (prop, value) {
|
|
3216
|
+
objForEachKey$1(customProperties, function (prop, value) {
|
|
2772
3217
|
telemetryItem.data[prop] = value;
|
|
2773
3218
|
});
|
|
2774
3219
|
}
|
|
@@ -2806,21 +3251,20 @@
|
|
|
2806
3251
|
var _DYN_GET_ABSOLUTE_URL = "getAbsoluteUrl";
|
|
2807
3252
|
var _DYN_HEADERS = "headers";
|
|
2808
3253
|
var _DYN_REQUEST_HEADERS = "requestHeaders";
|
|
2809
|
-
var _DYN_APP_ID = "appId";
|
|
2810
3254
|
var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
|
|
2811
3255
|
var _DYN_TRACK_DEPENDENCY_DAT3 = "trackDependencyDataInternal";
|
|
2812
|
-
var _DYN_DISTRIBUTED_TRACING_4 = "distributedTracingMode";
|
|
2813
3256
|
var _DYN_START_TIME = "startTime";
|
|
2814
3257
|
var _DYN_TO_LOWER_CASE = "toLowerCase";
|
|
2815
|
-
var
|
|
2816
|
-
var
|
|
2817
|
-
var
|
|
2818
|
-
var
|
|
2819
|
-
var
|
|
2820
|
-
var
|
|
3258
|
+
var _DYN_ENABLE_REQUEST_HEADE4 = "enableRequestHeaderTracking";
|
|
3259
|
+
var _DYN_ENABLE_AJAX_ERROR_ST5 = "enableAjaxErrorStatusText";
|
|
3260
|
+
var _DYN_ENABLE_AJAX_PERF_TRA6 = "enableAjaxPerfTracking";
|
|
3261
|
+
var _DYN_MAX_AJAX_CALLS_PER_V7 = "maxAjaxCallsPerView";
|
|
3262
|
+
var _DYN_ENABLE_RESPONSE_HEAD8 = "enableResponseHeaderTracking";
|
|
3263
|
+
var _DYN_EXCLUDE_REQUEST_FROM9 = "excludeRequestFromAutoTrackingPatterns";
|
|
2821
3264
|
var _DYN_ADD_REQUEST_CONTEXT = "addRequestContext";
|
|
2822
|
-
var
|
|
2823
|
-
var
|
|
3265
|
+
var _DYN_DISABLE_AJAX_TRACKIN10 = "disableAjaxTracking";
|
|
3266
|
+
var _DYN_DISABLE_FETCH_TRACKI11 = "disableFetchTracking";
|
|
3267
|
+
var _DYN_AJAX_PERF_LOOKUP_DEL12 = "ajaxPerfLookupDelay";
|
|
2824
3268
|
var _DYN_STATUS = "status";
|
|
2825
3269
|
var _DYN_STATUS_TEXT = "statusText";
|
|
2826
3270
|
var _DYN_HEADER_MAP = "headerMap";
|
|
@@ -2840,10 +3284,8 @@
|
|
|
2840
3284
|
var _DYN_GET_ALL_RESPONSE_HEA15 = "getAllResponseHeaders";
|
|
2841
3285
|
var _DYN_GET_PART_APROPS = "getPartAProps";
|
|
2842
3286
|
var _DYN_PERF_MARK = "perfMark";
|
|
2843
|
-
var _DYN_AJAX_PERF_LOOKUP_DEL16 = "ajaxPerfLookupDelay";
|
|
2844
3287
|
var _DYN_NAME = "name";
|
|
2845
3288
|
var _DYN_PERF_TIMING = "perfTiming";
|
|
2846
|
-
var _DYN_AJAX_DIAGNOSTICS_MES17 = "ajaxDiagnosticsMessage";
|
|
2847
3289
|
var _DYN_CORRELATION_CONTEXT = "correlationContext";
|
|
2848
3290
|
var _DYN_AJAX_TOTAL_DURATION = "ajaxTotalDuration";
|
|
2849
3291
|
var _DYN_EVENT_TRACE_CTX = "eventTraceCtx";
|
|
@@ -2922,7 +3364,7 @@
|
|
|
2922
3364
|
arrForEach(serverTiming, function (value, idx) {
|
|
2923
3365
|
var name = normalizeJsName(value[strName] || "" + idx);
|
|
2924
3366
|
var newValue = server_1[name] || {};
|
|
2925
|
-
objForEachKey(value, function (key, val) {
|
|
3367
|
+
objForEachKey$1(value, function (key, val) {
|
|
2926
3368
|
if (key !== strName && isString(val) || isNumber(val)) {
|
|
2927
3369
|
if (newValue[key]) {
|
|
2928
3370
|
val = newValue[key] + ";" + val;
|
|
@@ -3199,19 +3641,18 @@
|
|
|
3199
3641
|
return result;
|
|
3200
3642
|
}
|
|
3201
3643
|
function _processDependencyListeners(listeners, core, ajaxData, xhr, input, init) {
|
|
3202
|
-
var _a;
|
|
3203
3644
|
var initializersCount = listeners[_DYN_LENGTH ];
|
|
3204
3645
|
if (initializersCount > 0) {
|
|
3205
|
-
var details =
|
|
3206
|
-
|
|
3207
|
-
|
|
3208
|
-
|
|
3209
|
-
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
|
|
3646
|
+
var details = {
|
|
3647
|
+
core: core,
|
|
3648
|
+
xhr: xhr,
|
|
3649
|
+
input: input,
|
|
3650
|
+
init: init,
|
|
3651
|
+
traceId: ajaxData[_DYN_TRACE_ID ],
|
|
3652
|
+
spanId: ajaxData[_DYN_SPAN_ID ],
|
|
3653
|
+
traceFlags: ajaxData[_DYN_TRACE_FLAGS ],
|
|
3654
|
+
context: ajaxData[_DYN_CONTEXT ] || {}
|
|
3655
|
+
};
|
|
3215
3656
|
_processDependencyContainer(core, listeners, details, "listener");
|
|
3216
3657
|
ajaxData[_DYN_TRACE_ID ] = details[_DYN_TRACE_ID0 ];
|
|
3217
3658
|
ajaxData[_DYN_SPAN_ID ] = details[_DYN_SPAN_ID1 ];
|
|
@@ -3220,7 +3661,7 @@
|
|
|
3220
3661
|
}
|
|
3221
3662
|
}
|
|
3222
3663
|
var BLOB_CORE = "*.blob.core.";
|
|
3223
|
-
var DfltAjaxCorrelationHeaderExDomains =
|
|
3664
|
+
var DfltAjaxCorrelationHeaderExDomains = objFreeze([
|
|
3224
3665
|
BLOB_CORE + "windows.net",
|
|
3225
3666
|
BLOB_CORE + "chinacloudapi.cn",
|
|
3226
3667
|
BLOB_CORE + "cloudapi.de",
|
|
@@ -3229,43 +3670,32 @@
|
|
|
3229
3670
|
var _internalExcludeEndpoints = [
|
|
3230
3671
|
/https:\/\/[^\/]*(\.pipe\.aria|aria\.pipe|events\.data|collector\.azure)\.[^\/]+\/(OneCollector\/1|Collector\/3)\.0/i
|
|
3231
3672
|
];
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
_a.addIntEndpoints = true,
|
|
3259
|
-
_a);
|
|
3260
|
-
return config;
|
|
3261
|
-
}
|
|
3262
|
-
function _getEmptyConfig() {
|
|
3263
|
-
var emptyConfig = _getDefaultConfig();
|
|
3264
|
-
objForEachKey(emptyConfig, function (value) {
|
|
3265
|
-
emptyConfig[value] = undefined;
|
|
3266
|
-
});
|
|
3267
|
-
return emptyConfig;
|
|
3268
|
-
}
|
|
3673
|
+
var _defaultConfig = objFreeze({
|
|
3674
|
+
maxAjaxCallsPerView: 500,
|
|
3675
|
+
disableAjaxTracking: false,
|
|
3676
|
+
disableFetchTracking: false,
|
|
3677
|
+
excludeRequestFromAutoTrackingPatterns: undefined,
|
|
3678
|
+
disableCorrelationHeaders: false,
|
|
3679
|
+
distributedTracingMode: 1 ,
|
|
3680
|
+
correlationHeaderExcludedDomains: DfltAjaxCorrelationHeaderExDomains,
|
|
3681
|
+
correlationHeaderDomains: undefined,
|
|
3682
|
+
correlationHeaderExcludePatterns: undefined,
|
|
3683
|
+
appId: undefined,
|
|
3684
|
+
enableCorsCorrelation: false,
|
|
3685
|
+
enableRequestHeaderTracking: false,
|
|
3686
|
+
enableResponseHeaderTracking: false,
|
|
3687
|
+
enableAjaxErrorStatusText: false,
|
|
3688
|
+
enableAjaxPerfTracking: false,
|
|
3689
|
+
maxAjaxPerfLookupAttempts: 3,
|
|
3690
|
+
ajaxPerfLookupDelay: 25,
|
|
3691
|
+
ignoreHeaders: [
|
|
3692
|
+
"Authorization",
|
|
3693
|
+
"X-API-Key",
|
|
3694
|
+
"WWW-Authenticate"
|
|
3695
|
+
],
|
|
3696
|
+
addRequestContext: undefined,
|
|
3697
|
+
addIntEndpoints: true
|
|
3698
|
+
});
|
|
3269
3699
|
var AjaxMonitor = /** @class */ (function (_super) {
|
|
3270
3700
|
__extendsFn(AjaxMonitor, _super);
|
|
3271
3701
|
function AjaxMonitor() {
|
|
@@ -3275,7 +3705,7 @@
|
|
|
3275
3705
|
var _fetchInitialized;
|
|
3276
3706
|
var _xhrInitialized;
|
|
3277
3707
|
var _currentWindowHost;
|
|
3278
|
-
var
|
|
3708
|
+
var _extensionConfig;
|
|
3279
3709
|
var _enableRequestHeaderTracking;
|
|
3280
3710
|
var _enableAjaxErrorStatusText;
|
|
3281
3711
|
var _trackAjaxAttempts;
|
|
@@ -3295,6 +3725,11 @@
|
|
|
3295
3725
|
var _dependencyHandlerId;
|
|
3296
3726
|
var _dependencyListeners;
|
|
3297
3727
|
var _dependencyInitializers;
|
|
3728
|
+
var _ignoreHeaders;
|
|
3729
|
+
var _maxAjaxPerfLookupAttempts;
|
|
3730
|
+
var _ajaxPerfLookupDelay;
|
|
3731
|
+
var _distributedTracingMode;
|
|
3732
|
+
var _appId;
|
|
3298
3733
|
dynamicProto(AjaxMonitor, _this, function (_self, _base) {
|
|
3299
3734
|
var _addHook = _base._addHook;
|
|
3300
3735
|
_initDefaults();
|
|
@@ -3318,7 +3753,7 @@
|
|
|
3318
3753
|
var currentWindowHost = _self["_currentWindowHost"] || _currentWindowHost;
|
|
3319
3754
|
_processDependencyListeners(_dependencyListeners, _self[_DYN_CORE ], ajaxData, xhr, input, init);
|
|
3320
3755
|
if (input) {
|
|
3321
|
-
if (correlationIdCanIncludeCorrelationHeader(
|
|
3756
|
+
if (correlationIdCanIncludeCorrelationHeader(_extensionConfig, ajaxData[_DYN_GET_ABSOLUTE_URL ](), currentWindowHost)) {
|
|
3322
3757
|
if (!init) {
|
|
3323
3758
|
init = {};
|
|
3324
3759
|
}
|
|
@@ -3330,7 +3765,7 @@
|
|
|
3330
3765
|
ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[3 ]] = id;
|
|
3331
3766
|
}
|
|
3332
3767
|
}
|
|
3333
|
-
var appId =
|
|
3768
|
+
var appId = _appId || (_context && _context.appId());
|
|
3334
3769
|
if (appId) {
|
|
3335
3770
|
headers.set(RequestHeaders[0 ], RequestHeaders[2 ] + appId);
|
|
3336
3771
|
if (_enableRequestHeaderTracking) {
|
|
@@ -3353,7 +3788,7 @@
|
|
|
3353
3788
|
return init;
|
|
3354
3789
|
}
|
|
3355
3790
|
else if (xhr) {
|
|
3356
|
-
if (correlationIdCanIncludeCorrelationHeader(
|
|
3791
|
+
if (correlationIdCanIncludeCorrelationHeader(_extensionConfig, ajaxData[_DYN_GET_ABSOLUTE_URL ](), currentWindowHost)) {
|
|
3357
3792
|
if (_isUsingAIHeaders) {
|
|
3358
3793
|
var id = "|" + ajaxData[_DYN_TRACE_ID ] + "." + ajaxData[_DYN_SPAN_ID ];
|
|
3359
3794
|
xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[3 ], id);
|
|
@@ -3361,7 +3796,7 @@
|
|
|
3361
3796
|
ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[3 ]] = id;
|
|
3362
3797
|
}
|
|
3363
3798
|
}
|
|
3364
|
-
var appId =
|
|
3799
|
+
var appId = _appId || (_context && _context.appId());
|
|
3365
3800
|
if (appId) {
|
|
3366
3801
|
xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[0 ], RequestHeaders[2 ] + appId);
|
|
3367
3802
|
if (_enableRequestHeaderTracking) {
|
|
@@ -3386,8 +3821,8 @@
|
|
|
3386
3821
|
};
|
|
3387
3822
|
_self[_DYN_TRACK_DEPENDENCY_DAT3 ] = function (dependency, properties, systemProperties) {
|
|
3388
3823
|
if (_maxAjaxCallsPerView === -1 || _trackAjaxAttempts < _maxAjaxCallsPerView) {
|
|
3389
|
-
if ((
|
|
3390
|
-
||
|
|
3824
|
+
if ((_distributedTracingMode === 2
|
|
3825
|
+
|| _distributedTracingMode === 1 )
|
|
3391
3826
|
&& typeof dependency.id === "string" && dependency.id[dependency.id[_DYN_LENGTH ] - 1] !== ".") {
|
|
3392
3827
|
dependency.id += ".";
|
|
3393
3828
|
}
|
|
@@ -3413,7 +3848,7 @@
|
|
|
3413
3848
|
_fetchInitialized = false;
|
|
3414
3849
|
_xhrInitialized = false;
|
|
3415
3850
|
_currentWindowHost = location && location.host && location.host[_DYN_TO_LOWER_CASE ]();
|
|
3416
|
-
|
|
3851
|
+
_extensionConfig = null;
|
|
3417
3852
|
_enableRequestHeaderTracking = false;
|
|
3418
3853
|
_enableAjaxErrorStatusText = false;
|
|
3419
3854
|
_trackAjaxAttempts = 0;
|
|
@@ -3433,35 +3868,43 @@
|
|
|
3433
3868
|
_dependencyHandlerId = 0;
|
|
3434
3869
|
_dependencyListeners = [];
|
|
3435
3870
|
_dependencyInitializers = [];
|
|
3871
|
+
_ignoreHeaders = null;
|
|
3872
|
+
_maxAjaxPerfLookupAttempts = 1;
|
|
3873
|
+
_ajaxPerfLookupDelay = 1;
|
|
3874
|
+
_distributedTracingMode = 1 ;
|
|
3875
|
+
_appId = null;
|
|
3436
3876
|
}
|
|
3437
3877
|
function _populateDefaults(config) {
|
|
3438
|
-
|
|
3439
|
-
|
|
3440
|
-
|
|
3441
|
-
|
|
3442
|
-
|
|
3443
|
-
|
|
3444
|
-
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
_markPrefix = AJAX_MONITOR_PREFIX + iKey + ".";
|
|
3878
|
+
_self._addHook(onConfigChange(config, function (details) {
|
|
3879
|
+
var config = details.cfg;
|
|
3880
|
+
var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE ]);
|
|
3881
|
+
_extensionConfig = ctx.getExtCfg(AjaxMonitor.identifier, _defaultConfig);
|
|
3882
|
+
_distributedTracingMode = _extensionConfig.distributedTracingMode;
|
|
3883
|
+
_enableRequestHeaderTracking = _extensionConfig[_DYN_ENABLE_REQUEST_HEADE4 ];
|
|
3884
|
+
_enableAjaxErrorStatusText = _extensionConfig[_DYN_ENABLE_AJAX_ERROR_ST5 ];
|
|
3885
|
+
_enableAjaxPerfTracking = _extensionConfig[_DYN_ENABLE_AJAX_PERF_TRA6 ];
|
|
3886
|
+
_maxAjaxCallsPerView = _extensionConfig[_DYN_MAX_AJAX_CALLS_PER_V7 ];
|
|
3887
|
+
_enableResponseHeaderTracking = _extensionConfig[_DYN_ENABLE_RESPONSE_HEAD8 ];
|
|
3888
|
+
_excludeRequestFromAutoTrackingPatterns = [].concat(_extensionConfig[_DYN_EXCLUDE_REQUEST_FROM9 ] || [], _extensionConfig.addIntEndpoints !== false ? _internalExcludeEndpoints : []);
|
|
3889
|
+
_addRequestContext = _extensionConfig[_DYN_ADD_REQUEST_CONTEXT ];
|
|
3890
|
+
_isUsingAIHeaders = _distributedTracingMode === 0 || _distributedTracingMode === 1 ;
|
|
3891
|
+
_isUsingW3CHeaders = _distributedTracingMode === 1 || _distributedTracingMode === 2 ;
|
|
3892
|
+
if (_enableAjaxPerfTracking) {
|
|
3893
|
+
var iKey = config.instrumentationKey || "unkwn";
|
|
3894
|
+
if (iKey[_DYN_LENGTH ] > 5) {
|
|
3895
|
+
_markPrefix = AJAX_MONITOR_PREFIX + iKey.substring(iKey[_DYN_LENGTH ] - 5) + ".";
|
|
3896
|
+
}
|
|
3897
|
+
else {
|
|
3898
|
+
_markPrefix = AJAX_MONITOR_PREFIX + iKey + ".";
|
|
3899
|
+
}
|
|
3461
3900
|
}
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3901
|
+
_disableAjaxTracking = !!_extensionConfig[_DYN_DISABLE_AJAX_TRACKIN10 ];
|
|
3902
|
+
_disableFetchTracking = !!_extensionConfig[_DYN_DISABLE_FETCH_TRACKI11 ];
|
|
3903
|
+
_maxAjaxPerfLookupAttempts = _extensionConfig.maxAjaxPerfLookupAttempts;
|
|
3904
|
+
_ajaxPerfLookupDelay = _extensionConfig[_DYN_AJAX_PERF_LOOKUP_DEL12 ];
|
|
3905
|
+
_ignoreHeaders = _extensionConfig.ignoreHeaders;
|
|
3906
|
+
_appId = _extensionConfig.appId;
|
|
3907
|
+
}));
|
|
3465
3908
|
}
|
|
3466
3909
|
function _populateContext() {
|
|
3467
3910
|
var propExt = _self[_DYN_CORE ].getPlugin(PropertiesPluginIdentifier);
|
|
@@ -3471,8 +3914,8 @@
|
|
|
3471
3914
|
}
|
|
3472
3915
|
function _canIncludeHeaders(header) {
|
|
3473
3916
|
var rlt = true;
|
|
3474
|
-
if (header ||
|
|
3475
|
-
arrForEach(
|
|
3917
|
+
if (header || _ignoreHeaders) {
|
|
3918
|
+
arrForEach(_ignoreHeaders, (function (key) {
|
|
3476
3919
|
if (key[_DYN_TO_LOWER_CASE ]() === header[_DYN_TO_LOWER_CASE ]()) {
|
|
3477
3920
|
rlt = false;
|
|
3478
3921
|
return -1;
|
|
@@ -3511,13 +3954,11 @@
|
|
|
3511
3954
|
if (fetchData_1) {
|
|
3512
3955
|
callDetails.rslt = callDetails.rslt.then(function (response) {
|
|
3513
3956
|
_reportFetchMetrics(callDetails, (response || {})[_DYN_STATUS ], input, response, fetchData_1, function () {
|
|
3514
|
-
var
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
3518
|
-
|
|
3519
|
-
_a[_DYN_CORRELATION_CONTEXT ] = _getFetchCorrelationContext(response),
|
|
3520
|
-
_a);
|
|
3957
|
+
var ajaxResponse = {
|
|
3958
|
+
statusText: response[_DYN_STATUS_TEXT ],
|
|
3959
|
+
headerMap: null,
|
|
3960
|
+
correlationContext: _getFetchCorrelationContext(response)
|
|
3961
|
+
};
|
|
3521
3962
|
if (_enableResponseHeaderTracking) {
|
|
3522
3963
|
var responseHeaderMap_1 = {};
|
|
3523
3964
|
response.headers.forEach(function (value, name) {
|
|
@@ -3701,7 +4142,6 @@
|
|
|
3701
4142
|
}
|
|
3702
4143
|
function _attachToOnReadyStateChange(xhr) {
|
|
3703
4144
|
xhr[strAjaxData].xhrMonitoringState[_DYN_STATE_CHANGE_ATTACHE13 ] = eventOn(xhr, "readystatechange", function () {
|
|
3704
|
-
var _a;
|
|
3705
4145
|
try {
|
|
3706
4146
|
if (xhr && xhr.readyState === 4 && _isMonitoredXhrInstance(xhr)) {
|
|
3707
4147
|
_onAjaxComplete(xhr);
|
|
@@ -3710,10 +4150,10 @@
|
|
|
3710
4150
|
catch (e) {
|
|
3711
4151
|
var exceptionText = dumpObj(e);
|
|
3712
4152
|
if (!exceptionText || _indexOf(exceptionText[_DYN_TO_LOWER_CASE ](), "c00c023f") === -1) {
|
|
3713
|
-
_throwInternalCritical(_self, 16 , ERROR_HEADER + " 'readystatechange' event handler" + ERROR_POSTFIX,
|
|
3714
|
-
|
|
3715
|
-
|
|
3716
|
-
|
|
4153
|
+
_throwInternalCritical(_self, 16 , ERROR_HEADER + " 'readystatechange' event handler" + ERROR_POSTFIX, {
|
|
4154
|
+
ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr),
|
|
4155
|
+
exception: exceptionText
|
|
4156
|
+
});
|
|
3717
4157
|
}
|
|
3718
4158
|
}
|
|
3719
4159
|
}, _evtNamespace);
|
|
@@ -3744,16 +4184,14 @@
|
|
|
3744
4184
|
_findPerfResourceEntry("xmlhttprequest", ajaxData, function () {
|
|
3745
4185
|
try {
|
|
3746
4186
|
var dependency = ajaxData[_DYN__CREATE_TRACK_ITEM ]("Ajax", _enableRequestHeaderTracking, function () {
|
|
3747
|
-
var
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
_a.response = xhr[_DYN_RESPONSE ],
|
|
3756
|
-
_a);
|
|
4187
|
+
var ajaxResponse = {
|
|
4188
|
+
statusText: xhr[_DYN_STATUS_TEXT ],
|
|
4189
|
+
headerMap: null,
|
|
4190
|
+
correlationContext: _getAjaxCorrelationContext(xhr),
|
|
4191
|
+
type: xhr.responseType,
|
|
4192
|
+
responseText: _getResponseText(xhr),
|
|
4193
|
+
response: xhr[_DYN_RESPONSE ]
|
|
4194
|
+
};
|
|
3757
4195
|
if (_enableResponseHeaderTracking) {
|
|
3758
4196
|
var headers = xhr[_DYN_GET_ALL_RESPONSE_HEA15 ]();
|
|
3759
4197
|
if (headers) {
|
|
@@ -3807,7 +4245,6 @@
|
|
|
3807
4245
|
});
|
|
3808
4246
|
}
|
|
3809
4247
|
function _getAjaxCorrelationContext(xhr) {
|
|
3810
|
-
var _a;
|
|
3811
4248
|
try {
|
|
3812
4249
|
var responseHeadersString = xhr[_DYN_GET_ALL_RESPONSE_HEA15 ]();
|
|
3813
4250
|
if (responseHeadersString !== null) {
|
|
@@ -3819,10 +4256,10 @@
|
|
|
3819
4256
|
}
|
|
3820
4257
|
}
|
|
3821
4258
|
catch (e) {
|
|
3822
|
-
_throwInternalWarning(_self, 18 , CORRELATION_HEADER_ERROR,
|
|
3823
|
-
|
|
3824
|
-
|
|
3825
|
-
|
|
4259
|
+
_throwInternalWarning(_self, 18 , CORRELATION_HEADER_ERROR, {
|
|
4260
|
+
ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr),
|
|
4261
|
+
exception: dumpObj(e)
|
|
4262
|
+
});
|
|
3826
4263
|
}
|
|
3827
4264
|
}
|
|
3828
4265
|
function _createMarkId(type, ajaxData) {
|
|
@@ -3842,8 +4279,8 @@
|
|
|
3842
4279
|
function _findPerfResourceEntry(initiatorType, ajaxData, trackCallback, reportError) {
|
|
3843
4280
|
var perfMark = ajaxData[_DYN_PERF_MARK ];
|
|
3844
4281
|
var performance = getPerformance();
|
|
3845
|
-
var maxAttempts =
|
|
3846
|
-
var retryDelay =
|
|
4282
|
+
var maxAttempts = _maxAjaxPerfLookupAttempts;
|
|
4283
|
+
var retryDelay = _ajaxPerfLookupDelay;
|
|
3847
4284
|
var requestUrl = ajaxData[_DYN_REQUEST_URL ];
|
|
3848
4285
|
var attempt = 0;
|
|
3849
4286
|
(function locateResourceTiming() {
|
|
@@ -4000,17 +4437,15 @@
|
|
|
4000
4437
|
}
|
|
4001
4438
|
}
|
|
4002
4439
|
function _reportDependencyInternal(initializers, core, ajaxData, dependency, properties, systemProperties) {
|
|
4003
|
-
var _a;
|
|
4004
4440
|
var result = true;
|
|
4005
4441
|
var initializersCount = initializers[_DYN_LENGTH ];
|
|
4006
4442
|
if (initializersCount > 0) {
|
|
4007
|
-
var details =
|
|
4008
|
-
|
|
4009
|
-
|
|
4010
|
-
|
|
4011
|
-
|
|
4012
|
-
|
|
4013
|
-
_a);
|
|
4443
|
+
var details = {
|
|
4444
|
+
item: dependency,
|
|
4445
|
+
properties: properties,
|
|
4446
|
+
sysProperties: systemProperties,
|
|
4447
|
+
context: ajaxData ? ajaxData[_DYN_CONTEXT ] : null
|
|
4448
|
+
};
|
|
4014
4449
|
result = _processDependencyContainer(core, initializers, details, "initializer");
|
|
4015
4450
|
}
|
|
4016
4451
|
if (result) {
|
|
@@ -4027,8 +4462,6 @@
|
|
|
4027
4462
|
return null;
|
|
4028
4463
|
};
|
|
4029
4464
|
AjaxMonitor.identifier = "AjaxDependencyPlugin";
|
|
4030
|
-
AjaxMonitor.getDefaultConfig = _getDefaultConfig;
|
|
4031
|
-
AjaxMonitor.getEmptyConfig = _getEmptyConfig;
|
|
4032
4465
|
return AjaxMonitor;
|
|
4033
4466
|
}(BaseTelemetryPlugin));
|
|
4034
4467
|
|