@microsoft/applicationinsights-core-js 3.0.0-beta.2208-03 → 3.0.0-beta.2208-16
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/README.md +7 -0
- package/browser/applicationinsights-core-js.integrity.json +9 -9
- package/browser/applicationinsights-core-js.js +2040 -2155
- package/browser/applicationinsights-core-js.js.map +1 -1
- package/browser/applicationinsights-core-js.min.js +2 -2
- package/browser/applicationinsights-core-js.min.js.map +1 -1
- package/dist/applicationinsights-core-js.api.json +6998 -10817
- package/dist/applicationinsights-core-js.api.md +88 -177
- package/dist/applicationinsights-core-js.d.ts +94 -494
- package/dist/applicationinsights-core-js.js +2040 -2155
- package/dist/applicationinsights-core-js.js.map +1 -1
- package/dist/applicationinsights-core-js.min.js +2 -2
- package/dist/applicationinsights-core-js.min.js.map +1 -1
- package/dist/applicationinsights-core-js.rollup.d.ts +94 -494
- package/dist-esm/JavaScriptSDK/AppInsightsCore.js +2 -2
- package/dist-esm/JavaScriptSDK/AppInsightsCore.js.map +1 -1
- package/dist-esm/JavaScriptSDK/BaseCore.js +11 -12
- package/dist-esm/JavaScriptSDK/BaseCore.js.map +1 -1
- package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js +3 -2
- package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js.map +1 -1
- package/dist-esm/JavaScriptSDK/ChannelController.js +2 -2
- package/dist-esm/JavaScriptSDK/ChannelController.js.map +1 -1
- package/dist-esm/JavaScriptSDK/CookieMgr.js +27 -26
- package/dist-esm/JavaScriptSDK/CookieMgr.js.map +1 -1
- package/dist-esm/JavaScriptSDK/CoreUtils.js +8 -140
- package/dist-esm/JavaScriptSDK/CoreUtils.js.map +1 -1
- package/dist-esm/JavaScriptSDK/DataCacheHelper.js +2 -2
- package/dist-esm/JavaScriptSDK/DataCacheHelper.js.map +1 -1
- package/dist-esm/JavaScriptSDK/DbgExtensionUtils.js +3 -3
- package/dist-esm/JavaScriptSDK/DbgExtensionUtils.js.map +1 -1
- package/dist-esm/JavaScriptSDK/DiagnosticLogger.js +4 -3
- package/dist-esm/JavaScriptSDK/DiagnosticLogger.js.map +1 -1
- package/dist-esm/JavaScriptSDK/EnvUtils.js +132 -136
- package/dist-esm/JavaScriptSDK/EnvUtils.js.map +1 -1
- package/dist-esm/JavaScriptSDK/EventHelpers.js +2 -3
- package/dist-esm/JavaScriptSDK/EventHelpers.js.map +1 -1
- package/dist-esm/JavaScriptSDK/HelperFuncs.js +23 -470
- package/dist-esm/JavaScriptSDK/HelperFuncs.js.map +1 -1
- package/dist-esm/JavaScriptSDK/InstrumentHooks.js +5 -5
- package/dist-esm/JavaScriptSDK/InstrumentHooks.js.map +1 -1
- package/dist-esm/JavaScriptSDK/InternalConstants.js +4 -4
- package/dist-esm/JavaScriptSDK/InternalConstants.js.map +1 -1
- package/dist-esm/JavaScriptSDK/NotificationManager.js +2 -2
- package/dist-esm/JavaScriptSDK/NotificationManager.js.map +1 -1
- package/dist-esm/JavaScriptSDK/PerfManager.js +4 -8
- package/dist-esm/JavaScriptSDK/PerfManager.js.map +1 -1
- package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js +3 -3
- package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js.map +1 -1
- package/dist-esm/JavaScriptSDK/RandomHelper.js +1 -1
- package/dist-esm/JavaScriptSDK/TelemetryHelpers.js +2 -2
- package/dist-esm/JavaScriptSDK/TelemetryHelpers.js.map +1 -1
- package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js +3 -3
- package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js.map +1 -1
- package/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js +2 -3
- package/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js.map +1 -1
- package/dist-esm/JavaScriptSDK/W3cTraceParent.js +2 -2
- package/dist-esm/JavaScriptSDK/W3cTraceParent.js.map +1 -1
- package/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js +5 -31
- package/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js.map +1 -1
- package/dist-esm/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
- package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
- package/dist-esm/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
- package/dist-esm/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
- package/dist-esm/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
- package/dist-esm/__DynamicConstants.js +11 -13
- package/dist-esm/__DynamicConstants.js.map +1 -1
- package/dist-esm/applicationinsights-core-js.js +6 -5
- package/dist-esm/applicationinsights-core-js.js.map +1 -1
- package/package.json +4 -3
- package/src/JavaScriptSDK/AppInsightsCore.ts +1 -1
- package/src/JavaScriptSDK/BaseCore.ts +2 -4
- package/src/JavaScriptSDK/BaseTelemetryPlugin.ts +2 -1
- package/src/JavaScriptSDK/ChannelController.ts +1 -1
- package/src/JavaScriptSDK/CookieMgr.ts +6 -5
- package/src/JavaScriptSDK/CoreUtils.ts +7 -423
- package/src/JavaScriptSDK/DbgExtensionUtils.ts +2 -2
- package/src/JavaScriptSDK/DiagnosticLogger.ts +3 -2
- package/src/JavaScriptSDK/EnvUtils.ts +145 -148
- package/src/JavaScriptSDK/EventHelpers.ts +1 -2
- package/src/JavaScriptSDK/HelperFuncs.ts +22 -536
- package/src/JavaScriptSDK/InstrumentHooks.ts +4 -4
- package/src/JavaScriptSDK/InternalConstants.ts +3 -3
- package/src/JavaScriptSDK/NotificationManager.ts +1 -1
- package/src/JavaScriptSDK/PerfManager.ts +3 -7
- package/src/JavaScriptSDK/ProcessTelemetryContext.ts +4 -4
- package/src/JavaScriptSDK/TelemetryHelpers.ts +1 -1
- package/src/JavaScriptSDK/TelemetryInitializerPlugin.ts +2 -2
- package/src/JavaScriptSDK/UnloadHandlerContainer.ts +1 -2
- package/src/JavaScriptSDK/W3cTraceParent.ts +1 -1
- package/src/JavaScriptSDK.Enums/EnumHelperFuncs.ts +5 -36
- package/src/JavaScriptSDK.Interfaces/ITelemetryPlugin.ts +7 -0
- package/tsconfig.json +1 -1
- package/types/JavaScriptSDK/CoreUtils.d.ts +0 -270
- package/types/JavaScriptSDK/EnvUtils.d.ts +0 -65
- package/types/JavaScriptSDK/HelperFuncs.d.ts +3 -154
- package/types/JavaScriptSDK.Enums/EnumHelperFuncs.d.ts +6 -18
- package/types/JavaScriptSDK.Interfaces/ITelemetryPlugin.d.ts +6 -0
- package/types/__DynamicConstants.d.ts +2 -4
- package/types/applicationinsights-core-js.d.ts +5 -4
- package/types/tsdoc-metadata.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Core, 3.0.0-beta.2208-
|
|
2
|
+
* Application Insights JavaScript SDK - Core, 3.0.0-beta.2208-16
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
(function (global, factory) {
|
|
@@ -10,6 +10,398 @@
|
|
|
10
10
|
|
|
11
11
|
var MinChannelPriorty = 100;
|
|
12
12
|
|
|
13
|
+
var UNDEF_VALUE = undefined;
|
|
14
|
+
var EMPTY = "";
|
|
15
|
+
var BOOLEAN = "boolean";
|
|
16
|
+
var FUNCTION = "function";
|
|
17
|
+
var NUMBER = "number";
|
|
18
|
+
var OBJECT = "object";
|
|
19
|
+
var PROTOTYPE = "prototype";
|
|
20
|
+
var STRING = "string";
|
|
21
|
+
var UNDEFINED = "undefined";
|
|
22
|
+
var HAS_OWN_PROPERTY = "hasOwnProperty";
|
|
23
|
+
var SYMBOL = "Symbol";
|
|
24
|
+
var INDEX_OF = "indexOf";
|
|
25
|
+
var LENGTH = "length";
|
|
26
|
+
var ObjClass$1 = Object;
|
|
27
|
+
var ObjProto$1 = ObjClass$1[PROTOTYPE];
|
|
28
|
+
var StrCls = String;
|
|
29
|
+
var StrProto = StrCls[PROTOTYPE];
|
|
30
|
+
var ArrCls = Array;
|
|
31
|
+
|
|
32
|
+
function _safeCheck(cb, defValue) {
|
|
33
|
+
var result = defValue;
|
|
34
|
+
try {
|
|
35
|
+
result = cb();
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
}
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function _createIs(theType) {
|
|
43
|
+
return function (value) {
|
|
44
|
+
return typeof value === theType;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function _createObjIs(theType) {
|
|
48
|
+
return function (value) {
|
|
49
|
+
return !!(value && objToString(value) === theType);
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function objToString(value) {
|
|
53
|
+
return ObjProto$1.toString.call(value);
|
|
54
|
+
}
|
|
55
|
+
function isTypeof(value, theType) {
|
|
56
|
+
return typeof value === theType;
|
|
57
|
+
}
|
|
58
|
+
function isUndefined(value) {
|
|
59
|
+
return typeof value === UNDEFINED || value === UNDEFINED;
|
|
60
|
+
}
|
|
61
|
+
function isNullOrUndefined(value) {
|
|
62
|
+
return value === null || isUndefined(value);
|
|
63
|
+
}
|
|
64
|
+
function isDefined(arg) {
|
|
65
|
+
return !!arg || arg !== UNDEF_VALUE;
|
|
66
|
+
}
|
|
67
|
+
var isString = _createIs(STRING);
|
|
68
|
+
var isFunction = _createIs(FUNCTION);
|
|
69
|
+
function isObject(value) {
|
|
70
|
+
if (isNullOrUndefined(value)) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
return !!value && typeof value === OBJECT;
|
|
74
|
+
}
|
|
75
|
+
var isArray = ArrCls.isArray;
|
|
76
|
+
var isDate = _createObjIs("[object Date]");
|
|
77
|
+
var isNumber = _createIs(NUMBER);
|
|
78
|
+
var isBoolean = _createIs(BOOLEAN);
|
|
79
|
+
var isError = _createObjIs("[object Error]");
|
|
80
|
+
function isNotTruthy(value) {
|
|
81
|
+
return !value || !_safeCheck(function () { return (value && (0 + value)); }, value);
|
|
82
|
+
}
|
|
83
|
+
function isTruthy(value) {
|
|
84
|
+
return !(!value || _safeCheck(function () { return !(value && (0 + value)); }, !value));
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
var DOCUMENT = "document";
|
|
88
|
+
var HISTORY = "history";
|
|
89
|
+
var NAVIGATOR = "navigator";
|
|
90
|
+
var WINDOW = "window";
|
|
91
|
+
var _cachedGlobal$1 = null;
|
|
92
|
+
var _hasWindow = _safeCheck(function () { return isDefined(window); }, false);
|
|
93
|
+
var _hasDocument = _safeCheck(function () { return isDefined(document); }, false);
|
|
94
|
+
var _hasNavigator = _safeCheck(function () { return isDefined(navigator); }, false);
|
|
95
|
+
var _hasHistory = _safeCheck(function () { return isDefined(history); }, false);
|
|
96
|
+
_safeCheck(function () { return !!(self && self instanceof WorkerGlobalScope); }, false);
|
|
97
|
+
_safeCheck(function () { return !!(process && (process.versions || {}).node); }, false);
|
|
98
|
+
function getGlobal$1(useCached) {
|
|
99
|
+
var result = useCached === false ? null : _cachedGlobal$1;
|
|
100
|
+
if (!result) {
|
|
101
|
+
if (!result && typeof globalThis !== UNDEFINED) {
|
|
102
|
+
result = globalThis;
|
|
103
|
+
}
|
|
104
|
+
if (!result && typeof self !== UNDEFINED) {
|
|
105
|
+
result = self;
|
|
106
|
+
}
|
|
107
|
+
if (!result && typeof window !== UNDEFINED) {
|
|
108
|
+
result = window;
|
|
109
|
+
}
|
|
110
|
+
if (!result && typeof global !== UNDEFINED) {
|
|
111
|
+
result = global;
|
|
112
|
+
}
|
|
113
|
+
_cachedGlobal$1 = result;
|
|
114
|
+
}
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
function getInst(name, useCached) {
|
|
118
|
+
var gbl = getGlobal$1(useCached);
|
|
119
|
+
if (gbl && gbl[name]) {
|
|
120
|
+
return gbl[name];
|
|
121
|
+
}
|
|
122
|
+
if (name === WINDOW && _hasWindow) {
|
|
123
|
+
return window;
|
|
124
|
+
}
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
function hasDocument() {
|
|
128
|
+
return !!getDocument();
|
|
129
|
+
}
|
|
130
|
+
function getDocument() {
|
|
131
|
+
return _hasDocument ? document : getInst(DOCUMENT);
|
|
132
|
+
}
|
|
133
|
+
function hasWindow() {
|
|
134
|
+
return !!getWindow();
|
|
135
|
+
}
|
|
136
|
+
function getWindow() {
|
|
137
|
+
return _hasWindow ? window : getInst(WINDOW);
|
|
138
|
+
}
|
|
139
|
+
function hasNavigator() {
|
|
140
|
+
return !!getNavigator();
|
|
141
|
+
}
|
|
142
|
+
function getNavigator() {
|
|
143
|
+
return _hasNavigator ? navigator : getInst(NAVIGATOR);
|
|
144
|
+
}
|
|
145
|
+
function hasHistory() {
|
|
146
|
+
return !!getHistory();
|
|
147
|
+
}
|
|
148
|
+
function getHistory() {
|
|
149
|
+
return _hasHistory ? history : getInst(HISTORY);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
function objHasOwnProperty(obj, prop) {
|
|
153
|
+
return obj && ObjProto$1[HAS_OWN_PROPERTY].call(obj, prop);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
function objForEachKey(theObject, callbackfn, thisArg) {
|
|
157
|
+
if (theObject && isObject(theObject)) {
|
|
158
|
+
for (var prop in theObject) {
|
|
159
|
+
if (objHasOwnProperty(theObject, prop)) {
|
|
160
|
+
if (callbackfn.call(thisArg || theObject, prop, theObject[prop]) === -1) {
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
function arrForEach(arr, callbackfn, thisArg) {
|
|
169
|
+
if (arr) {
|
|
170
|
+
var len = arr[LENGTH];
|
|
171
|
+
for (var idx = 0; idx < len; idx++) {
|
|
172
|
+
if (idx in arr) {
|
|
173
|
+
if (callbackfn.call(thisArg || arr, arr[idx], idx, arr) === -1) {
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
function throwError(message) {
|
|
182
|
+
throw new Error(message);
|
|
183
|
+
}
|
|
184
|
+
function throwTypeError$1(message) {
|
|
185
|
+
throw new TypeError(message);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
var _objFreeze = ObjClass$1["freeze"];
|
|
189
|
+
function _doNothing(value) {
|
|
190
|
+
return value;
|
|
191
|
+
}
|
|
192
|
+
function objKeys(value) {
|
|
193
|
+
if (!isObject(value) || value === null) {
|
|
194
|
+
throwTypeError$1("objKeys called on non-object");
|
|
195
|
+
}
|
|
196
|
+
return ObjClass$1.keys(value);
|
|
197
|
+
}
|
|
198
|
+
function objDeepFreeze(value) {
|
|
199
|
+
if (_objFreeze) {
|
|
200
|
+
objForEachKey(value, function (key, value) {
|
|
201
|
+
if (isArray(value) || isObject(value)) {
|
|
202
|
+
_objFreeze(value);
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
return objFreeze(value);
|
|
207
|
+
}
|
|
208
|
+
var objFreeze = _objFreeze || _doNothing;
|
|
209
|
+
var objSeal = ObjClass$1["seal"] || _doNothing;
|
|
210
|
+
|
|
211
|
+
function createEnum(values) {
|
|
212
|
+
var theEnum = {};
|
|
213
|
+
objForEachKey(values, function (field, value) {
|
|
214
|
+
theEnum[field] = value;
|
|
215
|
+
theEnum[value] = field;
|
|
216
|
+
});
|
|
217
|
+
return objDeepFreeze(theEnum);
|
|
218
|
+
}
|
|
219
|
+
function createSimpleMap(values) {
|
|
220
|
+
var mapClass = {};
|
|
221
|
+
objForEachKey(values, function (field, value) {
|
|
222
|
+
mapClass[field] = value[1];
|
|
223
|
+
mapClass[value[0]] = value[1];
|
|
224
|
+
});
|
|
225
|
+
return objDeepFreeze(mapClass);
|
|
226
|
+
}
|
|
227
|
+
function createTypeMap(values) {
|
|
228
|
+
return createSimpleMap(values);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
_safeCheck(function () { return isDefined(Symbol); }, false);
|
|
232
|
+
var _symbol = getInst(SYMBOL);
|
|
233
|
+
_symbol && _safeCheck(function () { return _symbol["for"]; }, null);
|
|
234
|
+
_symbol && _safeCheck(function () { return _symbol["keyFor"]; }, null);
|
|
235
|
+
var isSymbol = _createIs("symbol");
|
|
236
|
+
|
|
237
|
+
function dumpObj(object, format) {
|
|
238
|
+
var objectTypeDump = objToString(object);
|
|
239
|
+
var propertyValueDump = "";
|
|
240
|
+
if (objectTypeDump === "[object Error]") {
|
|
241
|
+
propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
if (format) {
|
|
245
|
+
if (isNumber(format)) {
|
|
246
|
+
propertyValueDump = JSON.stringify(object, null, format);
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
propertyValueDump = JSON.stringify(object, null, format ? 4 : 0);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
propertyValueDump = JSON.stringify(object);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return objectTypeDump + ": " + propertyValueDump;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
function _unwrapFunction(funcName) {
|
|
260
|
+
return function (thisArg) {
|
|
261
|
+
var args = [];
|
|
262
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
263
|
+
args[_i - 1] = arguments[_i];
|
|
264
|
+
}
|
|
265
|
+
if ((thisArg || thisArg === EMPTY) && thisArg[funcName]) {
|
|
266
|
+
return thisArg[funcName].apply(thisArg, args);
|
|
267
|
+
}
|
|
268
|
+
throwTypeError$1("'" + funcName + "' not defined for " + dumpObj(thisArg));
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
var arrIndexOf = _unwrapFunction(INDEX_OF);
|
|
273
|
+
|
|
274
|
+
var arrMap = _unwrapFunction("map");
|
|
275
|
+
|
|
276
|
+
var arrReduce = _unwrapFunction("reduce");
|
|
277
|
+
|
|
278
|
+
function objSetPrototypeOf(obj, proto) {
|
|
279
|
+
var fn = ObjClass$1["setPrototypeOf"] ||
|
|
280
|
+
({ __proto__: [] } instanceof Array && function (d, b) {
|
|
281
|
+
d.__proto__ = b;
|
|
282
|
+
}) ||
|
|
283
|
+
function (d, b) {
|
|
284
|
+
objForEachKey(b, function (key, value) {
|
|
285
|
+
d[key] = value;
|
|
286
|
+
});
|
|
287
|
+
};
|
|
288
|
+
return fn(obj, proto);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
function _createCustomError(name, d, b) {
|
|
292
|
+
objSetPrototypeOf(d, b);
|
|
293
|
+
function __() {
|
|
294
|
+
this.constructor = d;
|
|
295
|
+
}
|
|
296
|
+
__[PROTOTYPE] = b[PROTOTYPE];
|
|
297
|
+
__[PROTOTYPE].name = name;
|
|
298
|
+
d[PROTOTYPE] = new __();
|
|
299
|
+
return d;
|
|
300
|
+
}
|
|
301
|
+
function createCustomError(name, constructCb) {
|
|
302
|
+
var baseClass = Error;
|
|
303
|
+
var customError = _createCustomError(name, function () {
|
|
304
|
+
var _this = this;
|
|
305
|
+
_this = baseClass.apply(_this, arguments) || _this;
|
|
306
|
+
constructCb && constructCb(_this, arguments);
|
|
307
|
+
return _this;
|
|
308
|
+
}, baseClass);
|
|
309
|
+
return customError;
|
|
310
|
+
}
|
|
311
|
+
var _unsupportedError;
|
|
312
|
+
function throwUnsupported(message) {
|
|
313
|
+
if (!_unsupportedError) {
|
|
314
|
+
_unsupportedError = createCustomError("UnsupportedError");
|
|
315
|
+
}
|
|
316
|
+
throw new _unsupportedError(message);
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
var _objDefineProperty$1 = ObjClass$1["defineProperty"];
|
|
320
|
+
function objDefineProp(target, key, descriptor) {
|
|
321
|
+
if (_objDefineProperty$1) {
|
|
322
|
+
_objDefineProperty$1(target, key, descriptor);
|
|
323
|
+
return target;
|
|
324
|
+
}
|
|
325
|
+
throwUnsupported("Unable to define property [" + objToString(key) + "] on " + dumpObj(target));
|
|
326
|
+
}
|
|
327
|
+
function objDefineAccessors(target, prop, getProp, setProp, configurable) {
|
|
328
|
+
if (_objDefineProperty$1) {
|
|
329
|
+
try {
|
|
330
|
+
var descriptor = {
|
|
331
|
+
enumerable: true,
|
|
332
|
+
configurable: isUndefined(configurable) ? true : configurable
|
|
333
|
+
};
|
|
334
|
+
if (getProp) {
|
|
335
|
+
descriptor.get = getProp;
|
|
336
|
+
}
|
|
337
|
+
if (setProp) {
|
|
338
|
+
descriptor.set = setProp;
|
|
339
|
+
}
|
|
340
|
+
return objDefineProp(target, prop, descriptor);
|
|
341
|
+
}
|
|
342
|
+
catch (e) {
|
|
343
|
+
throwUnsupported("Unable to define accessors for [" + objToString(prop) + "] on " + dumpObj(target));
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
var strSubstring = _unwrapFunction("substring");
|
|
349
|
+
|
|
350
|
+
var ENDS_WITH = "endsWith";
|
|
351
|
+
var strEndsWith = StrProto[ENDS_WITH] ? _unwrapFunction(ENDS_WITH) : polyStrEndsWith;
|
|
352
|
+
function polyStrEndsWith(value, searchString, length) {
|
|
353
|
+
if (!isString(value)) {
|
|
354
|
+
throwTypeError$1("'" + dumpObj(value) + "' is not a string");
|
|
355
|
+
}
|
|
356
|
+
var searchValue = isString(searchString) ? searchString : "" + searchString;
|
|
357
|
+
var chkLen = searchValue[LENGTH];
|
|
358
|
+
var len = value[LENGTH];
|
|
359
|
+
var end = !isUndefined(length) && length < len ? length : len;
|
|
360
|
+
return strSubstring(value, end - chkLen, end) === searchValue;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
var strIndexOf = _unwrapFunction(INDEX_OF);
|
|
364
|
+
|
|
365
|
+
var STARTS_WITH = "startsWith";
|
|
366
|
+
var strStartsWith = StrProto[STARTS_WITH] ? _unwrapFunction(STARTS_WITH) : polyStrStartsWith;
|
|
367
|
+
function polyStrStartsWith(value, searchString, position) {
|
|
368
|
+
if (!isString(value)) {
|
|
369
|
+
throwTypeError$1("'" + dumpObj(value) + "' is not a string");
|
|
370
|
+
}
|
|
371
|
+
var searchValue = isString(searchString) ? searchString : "" + searchString;
|
|
372
|
+
var chkLen = searchValue[LENGTH];
|
|
373
|
+
var pos = position > 0 ? position : 0;
|
|
374
|
+
return strSubstring(value, pos, pos + chkLen) === searchValue;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
function _createTrimFn(exp) {
|
|
378
|
+
return function _doTrim(value) {
|
|
379
|
+
if (isNullOrUndefined(value)) {
|
|
380
|
+
throwTypeError$1("strTrim called [" + dumpObj(value) + "]");
|
|
381
|
+
}
|
|
382
|
+
if (value && value.replace) {
|
|
383
|
+
value = value.replace(exp, "");
|
|
384
|
+
}
|
|
385
|
+
return value;
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
var polyStrTrim = _createTrimFn(/^\s+|(?=\s)\s+$/g);
|
|
389
|
+
|
|
390
|
+
var TRIM = "trim";
|
|
391
|
+
var strTrim = StrProto[TRIM] ? _unwrapFunction(TRIM) : polyStrTrim;
|
|
392
|
+
|
|
393
|
+
var createEnumStyle = createEnum;
|
|
394
|
+
var createValueMap = createTypeMap;
|
|
395
|
+
|
|
396
|
+
var EventsDiscardedReason = createEnumStyle({
|
|
397
|
+
Unknown: 0 ,
|
|
398
|
+
NonRetryableStatus: 1 ,
|
|
399
|
+
InvalidEvent: 2 ,
|
|
400
|
+
SizeLimitExceeded: 3 ,
|
|
401
|
+
KillSwitch: 4 ,
|
|
402
|
+
QueueFull: 5
|
|
403
|
+
});
|
|
404
|
+
|
|
13
405
|
var strShimFunction = "function";
|
|
14
406
|
var strShimObject = "object";
|
|
15
407
|
var strShimUndefined = "undefined";
|
|
@@ -94,436 +486,428 @@
|
|
|
94
486
|
return to;
|
|
95
487
|
}
|
|
96
488
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
var
|
|
102
|
-
var
|
|
103
|
-
var
|
|
104
|
-
var
|
|
105
|
-
var
|
|
106
|
-
var
|
|
107
|
-
var
|
|
108
|
-
var
|
|
109
|
-
var
|
|
110
|
-
var
|
|
111
|
-
var
|
|
112
|
-
var
|
|
113
|
-
var
|
|
114
|
-
var
|
|
115
|
-
var
|
|
116
|
-
var
|
|
117
|
-
var
|
|
118
|
-
var
|
|
119
|
-
var
|
|
120
|
-
var
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
var _DYN_UPDATE = "update";
|
|
124
|
-
var _DYN_GET_NEXT = "getNext";
|
|
125
|
-
var _DYN_DIAG_LOG = "diagLog";
|
|
126
|
-
var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
|
|
127
|
-
var _DYN_CREATE_NEW = "createNew";
|
|
128
|
-
var _DYN_COOKIE_CFG = "cookieCfg";
|
|
129
|
-
var _DYN_INDEX_OF = "indexOf";
|
|
130
|
-
var _DYN_SUBSTRING = "substring";
|
|
131
|
-
var _DYN_USER_AGENT = "userAgent";
|
|
132
|
-
var _DYN_SPLIT = "split";
|
|
133
|
-
var _DYN_SET_ENABLED = "setEnabled";
|
|
134
|
-
var _DYN_REPLACE = "replace";
|
|
135
|
-
var _DYN_SUBSTR = "substr";
|
|
136
|
-
var _DYN_NODE_TYPE = "nodeType";
|
|
137
|
-
var _DYN_APPLY = "apply";
|
|
138
|
-
var _DYN_ENABLE_DEBUG_EXCEPTI4 = "enableDebugExceptions";
|
|
139
|
-
var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
|
|
140
|
-
var _DYN_TO_LOWER_CASE = "toLowerCase";
|
|
141
|
-
var _DYN_CALL = "call";
|
|
142
|
-
var _DYN_TYPE = "type";
|
|
143
|
-
var _DYN_HANDLER = "handler";
|
|
144
|
-
var _DYN_LISTENERS = "listeners";
|
|
145
|
-
var _DYN_IS_CHILD_EVT = "isChildEvt";
|
|
146
|
-
var _DYN_GET_CTX = "getCtx";
|
|
147
|
-
var _DYN_SET_CTX = "setCtx";
|
|
148
|
-
var _DYN_COMPLETE = "complete";
|
|
149
|
-
var _DYN_TRACE_ID = "traceId";
|
|
150
|
-
var _DYN_SPAN_ID = "spanId";
|
|
151
|
-
var _DYN_TRACE_FLAGS = "traceFlags";
|
|
152
|
-
var _DYN_VERSION = "version";
|
|
153
|
-
|
|
154
|
-
var STR_EMPTY = "";
|
|
155
|
-
var STR_CHANNELS = "channels";
|
|
156
|
-
var STR_CORE = "core";
|
|
157
|
-
var STR_CREATE_PERF_MGR = "createPerfMgr";
|
|
158
|
-
var STR_DISABLED = "disabled";
|
|
159
|
-
var STR_EXTENSION_CONFIG = "extensionConfig";
|
|
160
|
-
var STR_EXTENSIONS = "extensions";
|
|
161
|
-
var STR_PROCESS_TELEMETRY = "processTelemetry";
|
|
162
|
-
var STR_PRIORITY = "priority";
|
|
163
|
-
var STR_EVENTS_SENT = "eventsSent";
|
|
164
|
-
var STR_EVENTS_DISCARDED = "eventsDiscarded";
|
|
165
|
-
var STR_EVENTS_SEND_REQUEST = "eventsSendRequest";
|
|
166
|
-
var STR_PERF_EVENT = "perfEvent";
|
|
167
|
-
var STR_ERROR_TO_CONSOLE = "errorToConsole";
|
|
168
|
-
var STR_WARN_TO_CONSOLE = "warnToConsole";
|
|
169
|
-
var STR_GET_PERF_MGR = "getPerfMgr";
|
|
170
|
-
|
|
171
|
-
var strToISOString = "toISOString";
|
|
172
|
-
var cStrEndsWith = "endsWith";
|
|
173
|
-
var cStrStartsWith = "startsWith";
|
|
174
|
-
var strIndexOf = "indexOf";
|
|
175
|
-
var strMap = "map";
|
|
176
|
-
var strReduce = "reduce";
|
|
177
|
-
var cStrTrim = "trim";
|
|
178
|
-
var strToString = "toString";
|
|
179
|
-
var str__Proto$1 = "__proto__";
|
|
180
|
-
var strConstructor = "constructor";
|
|
181
|
-
var _objDefineProperty$1 = ObjDefineProperty;
|
|
182
|
-
var _objFreeze = ObjClass.freeze;
|
|
183
|
-
var _objSeal = ObjClass.seal;
|
|
184
|
-
var _objKeys = ObjClass.keys;
|
|
185
|
-
var StringProto = String[strShimPrototype];
|
|
186
|
-
var _strTrim = StringProto[cStrTrim];
|
|
187
|
-
var _strEndsWith = StringProto[cStrEndsWith];
|
|
188
|
-
var _strStartsWith = StringProto[cStrStartsWith];
|
|
189
|
-
var DateProto = Date[strShimPrototype];
|
|
190
|
-
var _dataToISOString = DateProto[strToISOString];
|
|
191
|
-
var _isArray = Array.isArray;
|
|
192
|
-
var _objToString = ObjProto[strToString];
|
|
193
|
-
var _fnToString = ObjHasOwnProperty[strToString];
|
|
194
|
-
var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass);
|
|
195
|
-
var rCamelCase = /-([a-z])/g;
|
|
196
|
-
var rNormalizeInvalid = /([^\w\d_$])/g;
|
|
197
|
-
var rLeadingNumeric = /^(\d+[\w\d_$])/;
|
|
198
|
-
var _objGetPrototypeOf$1 = Object["getPrototypeOf"];
|
|
199
|
-
function _getObjProto$1(target) {
|
|
200
|
-
if (target) {
|
|
201
|
-
if (_objGetPrototypeOf$1) {
|
|
202
|
-
return _objGetPrototypeOf$1(target);
|
|
203
|
-
}
|
|
204
|
-
var newProto = target[str__Proto$1] || target[strShimPrototype] || target[strConstructor];
|
|
205
|
-
if (newProto) {
|
|
206
|
-
return newProto;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
return null;
|
|
210
|
-
}
|
|
211
|
-
function objToString(obj) {
|
|
212
|
-
return _objToString[_DYN_CALL ](obj);
|
|
213
|
-
}
|
|
214
|
-
function isTypeof(value, theType) {
|
|
215
|
-
return typeof value === theType;
|
|
216
|
-
}
|
|
217
|
-
function isUndefined(value) {
|
|
218
|
-
return value === undefined || typeof value === strShimUndefined;
|
|
219
|
-
}
|
|
220
|
-
function isNotUndefined(value) {
|
|
221
|
-
return !isUndefined(value);
|
|
222
|
-
}
|
|
223
|
-
function isNullOrUndefined(value) {
|
|
224
|
-
return (value === null || isUndefined(value));
|
|
225
|
-
}
|
|
226
|
-
function isNotNullOrUndefined(value) {
|
|
227
|
-
return !isNullOrUndefined(value);
|
|
228
|
-
}
|
|
229
|
-
function hasOwnProperty(obj, prop) {
|
|
230
|
-
return !!(obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop));
|
|
231
|
-
}
|
|
232
|
-
function isObject(value) {
|
|
233
|
-
return !!(value && typeof value === strShimObject);
|
|
489
|
+
/*!
|
|
490
|
+
* Microsoft Dynamic Proto Utility, 1.1.6
|
|
491
|
+
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
492
|
+
*/
|
|
493
|
+
var Constructor = 'constructor';
|
|
494
|
+
var Prototype = 'prototype';
|
|
495
|
+
var strFunction = 'function';
|
|
496
|
+
var DynInstFuncTable = '_dynInstFuncs';
|
|
497
|
+
var DynProxyTag = '_isDynProxy';
|
|
498
|
+
var DynClassName = '_dynClass';
|
|
499
|
+
var DynClassNamePrefix = '_dynCls$';
|
|
500
|
+
var DynInstChkTag = '_dynInstChk';
|
|
501
|
+
var DynAllowInstChkTag = DynInstChkTag;
|
|
502
|
+
var DynProtoDefaultOptions = '_dfOpts';
|
|
503
|
+
var UnknownValue = '_unknown_';
|
|
504
|
+
var str__Proto = "__proto__";
|
|
505
|
+
var DynProtoBaseProto = "_dyn" + str__Proto;
|
|
506
|
+
var DynProtoCurrent = "_dynInstProto";
|
|
507
|
+
var strUseBaseInst = 'useBaseInst';
|
|
508
|
+
var strSetInstFuncs = 'setInstFuncs';
|
|
509
|
+
var Obj = Object;
|
|
510
|
+
var _objGetPrototypeOf = Obj["getPrototypeOf"];
|
|
511
|
+
var _objGetOwnProps = Obj["getOwnPropertyNames"];
|
|
512
|
+
var _dynamicNames = 0;
|
|
513
|
+
function _hasOwnProperty(obj, prop) {
|
|
514
|
+
return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);
|
|
234
515
|
}
|
|
235
|
-
function
|
|
236
|
-
return
|
|
516
|
+
function _isObjectOrArrayPrototype(target) {
|
|
517
|
+
return target && (target === Obj[Prototype] || target === Array[Prototype]);
|
|
237
518
|
}
|
|
238
|
-
function
|
|
239
|
-
|
|
240
|
-
if (value && isString(value)) {
|
|
241
|
-
value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
|
|
242
|
-
return letter.toUpperCase();
|
|
243
|
-
});
|
|
244
|
-
value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
|
|
245
|
-
value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
|
|
246
|
-
return "_" + match;
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
return value;
|
|
519
|
+
function _isObjectArrayOrFunctionPrototype(target) {
|
|
520
|
+
return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
|
|
250
521
|
}
|
|
251
|
-
function
|
|
522
|
+
function _getObjProto$1(target) {
|
|
523
|
+
var newProto;
|
|
252
524
|
if (target) {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
callbackfn[_DYN_CALL ](target, prop, target[prop]);
|
|
256
|
-
}
|
|
525
|
+
if (_objGetPrototypeOf) {
|
|
526
|
+
return _objGetPrototypeOf(target);
|
|
257
527
|
}
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
}
|
|
265
|
-
return result;
|
|
266
|
-
}
|
|
267
|
-
function _strEndsWithPoly(value, search) {
|
|
268
|
-
var result = false;
|
|
269
|
-
var searchLen = search ? search[_DYN_LENGTH ] : 0;
|
|
270
|
-
var valLen = value ? value[_DYN_LENGTH ] : 0;
|
|
271
|
-
if (searchLen && valLen && valLen >= searchLen && !(result = value === search)) {
|
|
272
|
-
var pos = valLen - 1;
|
|
273
|
-
for (var lp = searchLen - 1; lp >= 0; lp--) {
|
|
274
|
-
if (value[pos] != search[lp]) {
|
|
275
|
-
return false;
|
|
276
|
-
}
|
|
277
|
-
pos--;
|
|
528
|
+
var curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
|
|
529
|
+
newProto = target[DynProtoBaseProto] || curProto;
|
|
530
|
+
if (!_hasOwnProperty(target, DynProtoBaseProto)) {
|
|
531
|
+
delete target[DynProtoCurrent];
|
|
532
|
+
newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];
|
|
533
|
+
target[DynProtoCurrent] = curProto;
|
|
278
534
|
}
|
|
279
|
-
result = true;
|
|
280
535
|
}
|
|
281
|
-
return
|
|
536
|
+
return newProto;
|
|
282
537
|
}
|
|
283
|
-
function
|
|
284
|
-
var
|
|
285
|
-
if (
|
|
286
|
-
|
|
538
|
+
function _forEachProp(target, func) {
|
|
539
|
+
var props = [];
|
|
540
|
+
if (_objGetOwnProps) {
|
|
541
|
+
props = _objGetOwnProps(target);
|
|
287
542
|
}
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
var chkLen = checkValue ? checkValue[_DYN_LENGTH ] : 0;
|
|
293
|
-
if (value && chkLen && value[_DYN_LENGTH ] >= chkLen && !(result = value === checkValue)) {
|
|
294
|
-
for (var lp = 0; lp < chkLen; lp++) {
|
|
295
|
-
if (value[lp] !== checkValue[lp]) {
|
|
296
|
-
return false;
|
|
543
|
+
else {
|
|
544
|
+
for (var name_1 in target) {
|
|
545
|
+
if (typeof name_1 === "string" && _hasOwnProperty(target, name_1)) {
|
|
546
|
+
props.push(name_1);
|
|
297
547
|
}
|
|
298
548
|
}
|
|
299
|
-
result = true;
|
|
300
549
|
}
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
return value[_DYN_INDEX_OF ](search) !== -1;
|
|
550
|
+
if (props && props.length > 0) {
|
|
551
|
+
for (var lp = 0; lp < props.length; lp++) {
|
|
552
|
+
func(props[lp]);
|
|
553
|
+
}
|
|
306
554
|
}
|
|
307
|
-
return false;
|
|
308
|
-
}
|
|
309
|
-
function isDate(obj) {
|
|
310
|
-
return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Date]");
|
|
311
|
-
}
|
|
312
|
-
var isArray = _isArray || _isArrayPoly;
|
|
313
|
-
function _isArrayPoly(obj) {
|
|
314
|
-
return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Array]");
|
|
315
|
-
}
|
|
316
|
-
function isError(obj) {
|
|
317
|
-
return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Error]");
|
|
318
|
-
}
|
|
319
|
-
function isString(value) {
|
|
320
|
-
return typeof value === "string";
|
|
321
|
-
}
|
|
322
|
-
function isNumber(value) {
|
|
323
|
-
return typeof value === "number";
|
|
324
555
|
}
|
|
325
|
-
function
|
|
326
|
-
return typeof
|
|
556
|
+
function _isDynamicCandidate(target, funcName, skipOwn) {
|
|
557
|
+
return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || _hasOwnProperty(target, funcName)));
|
|
327
558
|
}
|
|
328
|
-
function
|
|
329
|
-
|
|
559
|
+
function _throwTypeError(message) {
|
|
560
|
+
throw new TypeError("DynamicProto: " + message);
|
|
330
561
|
}
|
|
331
|
-
function
|
|
332
|
-
var
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
result = true;
|
|
337
|
-
}
|
|
338
|
-
else {
|
|
339
|
-
if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL ](proto, strConstructor)) {
|
|
340
|
-
proto = proto[strConstructor];
|
|
341
|
-
}
|
|
342
|
-
result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
|
|
562
|
+
function _getInstanceFuncs(thisTarget) {
|
|
563
|
+
var instFuncs = {};
|
|
564
|
+
_forEachProp(thisTarget, function (name) {
|
|
565
|
+
if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
|
|
566
|
+
instFuncs[name] = thisTarget[name];
|
|
343
567
|
}
|
|
344
|
-
}
|
|
345
|
-
return
|
|
568
|
+
});
|
|
569
|
+
return instFuncs;
|
|
346
570
|
}
|
|
347
|
-
function
|
|
348
|
-
|
|
349
|
-
|
|
571
|
+
function _hasVisited(values, value) {
|
|
572
|
+
for (var lp = values.length - 1; lp >= 0; lp--) {
|
|
573
|
+
if (values[lp] === value) {
|
|
574
|
+
return true;
|
|
575
|
+
}
|
|
350
576
|
}
|
|
577
|
+
return false;
|
|
351
578
|
}
|
|
352
|
-
function
|
|
353
|
-
|
|
354
|
-
var
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
579
|
+
function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
|
|
580
|
+
function _instFuncProxy(target, funcHost, funcName) {
|
|
581
|
+
var theFunc = funcHost[funcName];
|
|
582
|
+
if (theFunc[DynProxyTag] && useBaseInst) {
|
|
583
|
+
var instFuncTable = target[DynInstFuncTable] || {};
|
|
584
|
+
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
585
|
+
theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;
|
|
358
586
|
}
|
|
359
|
-
|
|
587
|
+
}
|
|
588
|
+
return function () {
|
|
589
|
+
return theFunc.apply(target, arguments);
|
|
360
590
|
};
|
|
361
|
-
return date.getUTCFullYear()
|
|
362
|
-
+ "-" + pad(date.getUTCMonth() + 1)
|
|
363
|
-
+ "-" + pad(date.getUTCDate())
|
|
364
|
-
+ "T" + pad(date.getUTCHours())
|
|
365
|
-
+ ":" + pad(date.getUTCMinutes())
|
|
366
|
-
+ ":" + pad(date.getUTCSeconds())
|
|
367
|
-
+ "." + String((date.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5)
|
|
368
|
-
+ "Z";
|
|
369
591
|
}
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
592
|
+
var baseFuncs = {};
|
|
593
|
+
_forEachProp(instFuncs, function (name) {
|
|
594
|
+
baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
|
|
595
|
+
});
|
|
596
|
+
var baseProto = _getObjProto$1(classProto);
|
|
597
|
+
var visited = [];
|
|
598
|
+
while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {
|
|
599
|
+
_forEachProp(baseProto, function (name) {
|
|
600
|
+
if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {
|
|
601
|
+
baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);
|
|
379
602
|
}
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
|
|
603
|
+
});
|
|
604
|
+
visited.push(baseProto);
|
|
605
|
+
baseProto = _getObjProto$1(baseProto);
|
|
383
606
|
}
|
|
607
|
+
return baseFuncs;
|
|
384
608
|
}
|
|
385
|
-
function
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
609
|
+
function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
|
|
610
|
+
var instFunc = null;
|
|
611
|
+
if (target && _hasOwnProperty(proto, DynClassName)) {
|
|
612
|
+
var instFuncTable = target[DynInstFuncTable] || {};
|
|
613
|
+
instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
|
|
614
|
+
if (!instFunc) {
|
|
615
|
+
_throwTypeError("Missing [" + funcName + "] " + strFunction);
|
|
389
616
|
}
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
617
|
+
if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {
|
|
618
|
+
var canAddInst = !_hasOwnProperty(target, funcName);
|
|
619
|
+
var objProto = _getObjProto$1(target);
|
|
620
|
+
var visited = [];
|
|
621
|
+
while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {
|
|
622
|
+
var protoFunc = objProto[funcName];
|
|
623
|
+
if (protoFunc) {
|
|
624
|
+
canAddInst = (protoFunc === currentDynProtoProxy);
|
|
625
|
+
break;
|
|
396
626
|
}
|
|
627
|
+
visited.push(objProto);
|
|
628
|
+
objProto = _getObjProto$1(objProto);
|
|
397
629
|
}
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
}
|
|
402
|
-
return -1;
|
|
403
|
-
}
|
|
404
|
-
function arrMap(arr, callbackfn, thisArg) {
|
|
405
|
-
var results;
|
|
406
|
-
if (arr) {
|
|
407
|
-
if (arr[strMap]) {
|
|
408
|
-
return arr[strMap](callbackfn, thisArg);
|
|
409
|
-
}
|
|
410
|
-
var len = arr[_DYN_LENGTH ];
|
|
411
|
-
var _this = thisArg || arr;
|
|
412
|
-
results = new Array(len);
|
|
413
|
-
try {
|
|
414
|
-
for (var lp = 0; lp < len; lp++) {
|
|
415
|
-
if (lp in arr) {
|
|
416
|
-
results[lp] = callbackfn[_DYN_CALL ](_this, arr[lp], arr);
|
|
630
|
+
try {
|
|
631
|
+
if (canAddInst) {
|
|
632
|
+
target[funcName] = instFunc;
|
|
417
633
|
}
|
|
634
|
+
instFunc[DynInstChkTag] = 1;
|
|
418
635
|
}
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
return results;
|
|
424
|
-
}
|
|
425
|
-
function arrReduce(arr, callbackfn, initialValue) {
|
|
426
|
-
var value;
|
|
427
|
-
if (arr) {
|
|
428
|
-
if (arr[strReduce]) {
|
|
429
|
-
return arr[strReduce](callbackfn, initialValue);
|
|
430
|
-
}
|
|
431
|
-
var len = arr[_DYN_LENGTH ];
|
|
432
|
-
var lp = 0;
|
|
433
|
-
if (arguments[_DYN_LENGTH ] >= 3) {
|
|
434
|
-
value = arguments[2];
|
|
435
|
-
}
|
|
436
|
-
else {
|
|
437
|
-
while (lp < len && !(lp in arr)) {
|
|
438
|
-
lp++;
|
|
439
|
-
}
|
|
440
|
-
value = arr[lp++];
|
|
441
|
-
}
|
|
442
|
-
while (lp < len) {
|
|
443
|
-
if (lp in arr) {
|
|
444
|
-
value = callbackfn(value, arr[lp], lp, arr);
|
|
636
|
+
catch (e) {
|
|
637
|
+
instFuncTable[DynAllowInstChkTag] = false;
|
|
445
638
|
}
|
|
446
|
-
lp++;
|
|
447
639
|
}
|
|
448
640
|
}
|
|
449
|
-
return
|
|
641
|
+
return instFunc;
|
|
450
642
|
}
|
|
451
|
-
function
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
return str;
|
|
456
|
-
}
|
|
457
|
-
var _objKeysHasDontEnumBug = !({ toString: null }).propertyIsEnumerable("toString");
|
|
458
|
-
var _objKeysDontEnums = [
|
|
459
|
-
"toString",
|
|
460
|
-
"toLocaleString",
|
|
461
|
-
"valueOf",
|
|
462
|
-
"hasOwnProperty",
|
|
463
|
-
"isPrototypeOf",
|
|
464
|
-
"propertyIsEnumerable",
|
|
465
|
-
"constructor"
|
|
466
|
-
];
|
|
467
|
-
function objKeys(obj) {
|
|
468
|
-
var objType = typeof obj;
|
|
469
|
-
if (objType !== strShimFunction && (objType !== strShimObject || obj === null)) {
|
|
470
|
-
throwTypeError("objKeys called on non-object");
|
|
471
|
-
}
|
|
472
|
-
if (!_objKeysHasDontEnumBug && _objKeys) {
|
|
473
|
-
return _objKeys(obj);
|
|
474
|
-
}
|
|
475
|
-
var result = [];
|
|
476
|
-
for (var prop in obj) {
|
|
477
|
-
if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop)) {
|
|
478
|
-
result[_DYN_PUSH ](prop);
|
|
479
|
-
}
|
|
643
|
+
function _getProtoFunc(funcName, proto, currentDynProtoProxy) {
|
|
644
|
+
var protoFunc = proto[funcName];
|
|
645
|
+
if (protoFunc === currentDynProtoProxy) {
|
|
646
|
+
protoFunc = _getObjProto$1(proto)[funcName];
|
|
480
647
|
}
|
|
481
|
-
if (
|
|
482
|
-
|
|
483
|
-
for (var lp = 0; lp < dontEnumsLength; lp++) {
|
|
484
|
-
if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, _objKeysDontEnums[lp])) {
|
|
485
|
-
result[_DYN_PUSH ](_objKeysDontEnums[lp]);
|
|
486
|
-
}
|
|
487
|
-
}
|
|
648
|
+
if (typeof protoFunc !== strFunction) {
|
|
649
|
+
_throwTypeError("[" + funcName + "] is not a " + strFunction);
|
|
488
650
|
}
|
|
489
|
-
return
|
|
651
|
+
return protoFunc;
|
|
490
652
|
}
|
|
491
|
-
function
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
var
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
653
|
+
function _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {
|
|
654
|
+
function _createDynamicPrototype(proto, funcName) {
|
|
655
|
+
var dynProtoProxy = function () {
|
|
656
|
+
var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);
|
|
657
|
+
return instFunc.apply(this, arguments);
|
|
658
|
+
};
|
|
659
|
+
dynProtoProxy[DynProxyTag] = 1;
|
|
660
|
+
return dynProtoProxy;
|
|
661
|
+
}
|
|
662
|
+
if (!_isObjectOrArrayPrototype(proto)) {
|
|
663
|
+
var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
|
|
664
|
+
var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
|
|
665
|
+
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
666
|
+
instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
|
|
667
|
+
}
|
|
668
|
+
_forEachProp(target, function (name) {
|
|
669
|
+
if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
|
|
670
|
+
instFuncs_1[name] = target[name];
|
|
671
|
+
delete target[name];
|
|
672
|
+
if (!_hasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
|
|
673
|
+
proto[name] = _createDynamicPrototype(proto, name);
|
|
674
|
+
}
|
|
500
675
|
}
|
|
501
|
-
|
|
502
|
-
|
|
676
|
+
});
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
function _checkPrototype(classProto, thisTarget) {
|
|
680
|
+
if (_objGetPrototypeOf) {
|
|
681
|
+
var visited = [];
|
|
682
|
+
var thisProto = _getObjProto$1(thisTarget);
|
|
683
|
+
while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {
|
|
684
|
+
if (thisProto === classProto) {
|
|
685
|
+
return true;
|
|
503
686
|
}
|
|
504
|
-
|
|
505
|
-
|
|
687
|
+
visited.push(thisProto);
|
|
688
|
+
thisProto = _getObjProto$1(thisProto);
|
|
506
689
|
}
|
|
507
|
-
|
|
690
|
+
return false;
|
|
691
|
+
}
|
|
692
|
+
return true;
|
|
693
|
+
}
|
|
694
|
+
function _getObjName(target, unknownValue) {
|
|
695
|
+
if (_hasOwnProperty(target, Prototype)) {
|
|
696
|
+
return target.name || unknownValue || UnknownValue;
|
|
697
|
+
}
|
|
698
|
+
return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;
|
|
699
|
+
}
|
|
700
|
+
function dynamicProto(theClass, target, delegateFunc, options) {
|
|
701
|
+
if (!_hasOwnProperty(theClass, Prototype)) {
|
|
702
|
+
_throwTypeError("theClass is an invalid class definition.");
|
|
703
|
+
}
|
|
704
|
+
var classProto = theClass[Prototype];
|
|
705
|
+
if (!_checkPrototype(classProto, target)) {
|
|
706
|
+
_throwTypeError("[" + _getObjName(theClass) + "] is not in class hierarchy of [" + _getObjName(target) + "]");
|
|
707
|
+
}
|
|
708
|
+
var className = null;
|
|
709
|
+
if (_hasOwnProperty(classProto, DynClassName)) {
|
|
710
|
+
className = classProto[DynClassName];
|
|
711
|
+
}
|
|
712
|
+
else {
|
|
713
|
+
className = DynClassNamePrefix + _getObjName(theClass, "_") + "$" + _dynamicNames;
|
|
714
|
+
_dynamicNames++;
|
|
715
|
+
classProto[DynClassName] = className;
|
|
716
|
+
}
|
|
717
|
+
var perfOptions = dynamicProto[DynProtoDefaultOptions];
|
|
718
|
+
var useBaseInst = !!perfOptions[strUseBaseInst];
|
|
719
|
+
if (useBaseInst && options && options[strUseBaseInst] !== undefined) {
|
|
720
|
+
useBaseInst = !!options[strUseBaseInst];
|
|
721
|
+
}
|
|
722
|
+
var instFuncs = _getInstanceFuncs(target);
|
|
723
|
+
var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);
|
|
724
|
+
delegateFunc(target, baseFuncs);
|
|
725
|
+
var setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];
|
|
726
|
+
if (setInstanceFunc && options) {
|
|
727
|
+
setInstanceFunc = !!options[strSetInstFuncs];
|
|
728
|
+
}
|
|
729
|
+
_populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);
|
|
730
|
+
}
|
|
731
|
+
var perfDefaults = {
|
|
732
|
+
setInstFuncs: true,
|
|
733
|
+
useBaseInst: true
|
|
734
|
+
};
|
|
735
|
+
dynamicProto[DynProtoDefaultOptions] = perfDefaults;
|
|
736
|
+
|
|
737
|
+
var _DYN_INITIALIZE = "initialize";
|
|
738
|
+
var _DYN_NAME = "name";
|
|
739
|
+
var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
|
|
740
|
+
var _DYN_IDENTIFIER = "identifier";
|
|
741
|
+
var _DYN_PUSH = "push";
|
|
742
|
+
var _DYN_IS_INITIALIZED = "isInitialized";
|
|
743
|
+
var _DYN_CONFIG = "config";
|
|
744
|
+
var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
|
|
745
|
+
var _DYN_LOGGER = "logger";
|
|
746
|
+
var _DYN_LENGTH = "length";
|
|
747
|
+
var _DYN_TIME = "time";
|
|
748
|
+
var _DYN_PROCESS_NEXT = "processNext";
|
|
749
|
+
var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
|
|
750
|
+
var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
|
|
751
|
+
var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
|
|
752
|
+
var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
|
|
753
|
+
var _DYN_ON_COMPLETE = "onComplete";
|
|
754
|
+
var _DYN_GET_PLUGIN = "getPlugin";
|
|
755
|
+
var _DYN_FLUSH = "flush";
|
|
756
|
+
var _DYN__EXTENSIONS = "_extensions";
|
|
757
|
+
var _DYN_SPLICE = "splice";
|
|
758
|
+
var _DYN_TEARDOWN = "teardown";
|
|
759
|
+
var _DYN_MESSAGE_ID = "messageId";
|
|
760
|
+
var _DYN_MESSAGE = "message";
|
|
761
|
+
var _DYN_IS_ASYNC = "isAsync";
|
|
762
|
+
var _DYN__DO_TEARDOWN = "_doTeardown";
|
|
763
|
+
var _DYN_UPDATE = "update";
|
|
764
|
+
var _DYN_GET_NEXT = "getNext";
|
|
765
|
+
var _DYN_DIAG_LOG = "diagLog";
|
|
766
|
+
var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
|
|
767
|
+
var _DYN_CREATE_NEW = "createNew";
|
|
768
|
+
var _DYN_COOKIE_CFG = "cookieCfg";
|
|
769
|
+
var _DYN_SUBSTRING = "substring";
|
|
770
|
+
var _DYN_USER_AGENT = "userAgent";
|
|
771
|
+
var _DYN_SPLIT = "split";
|
|
772
|
+
var _DYN_SUBSTR = "substr";
|
|
773
|
+
var _DYN_NODE_TYPE = "nodeType";
|
|
774
|
+
var _DYN_APPLY = "apply";
|
|
775
|
+
var _DYN_REPLACE = "replace";
|
|
776
|
+
var _DYN_ENABLE_DEBUG_EXCEPTI4 = "enableDebugExceptions";
|
|
777
|
+
var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
|
|
778
|
+
var _DYN_TO_LOWER_CASE = "toLowerCase";
|
|
779
|
+
var _DYN_TYPE = "type";
|
|
780
|
+
var _DYN_HANDLER = "handler";
|
|
781
|
+
var _DYN_CALL = "call";
|
|
782
|
+
var _DYN_LISTENERS = "listeners";
|
|
783
|
+
var _DYN_IS_CHILD_EVT = "isChildEvt";
|
|
784
|
+
var _DYN_GET_CTX = "getCtx";
|
|
785
|
+
var _DYN_SET_CTX = "setCtx";
|
|
786
|
+
var _DYN_COMPLETE = "complete";
|
|
787
|
+
var _DYN_TRACE_ID = "traceId";
|
|
788
|
+
var _DYN_SPAN_ID = "spanId";
|
|
789
|
+
var _DYN_TRACE_FLAGS = "traceFlags";
|
|
790
|
+
var _DYN_VERSION = "version";
|
|
791
|
+
|
|
792
|
+
var STR_EMPTY = "";
|
|
793
|
+
var STR_CHANNELS = "channels";
|
|
794
|
+
var STR_CORE = "core";
|
|
795
|
+
var STR_CREATE_PERF_MGR = "createPerfMgr";
|
|
796
|
+
var STR_DISABLED = "disabled";
|
|
797
|
+
var STR_EXTENSION_CONFIG = "extensionConfig";
|
|
798
|
+
var STR_EXTENSIONS = "extensions";
|
|
799
|
+
var STR_PROCESS_TELEMETRY = "processTelemetry";
|
|
800
|
+
var STR_PRIORITY = "priority";
|
|
801
|
+
var STR_EVENTS_SENT = "eventsSent";
|
|
802
|
+
var STR_EVENTS_DISCARDED = "eventsDiscarded";
|
|
803
|
+
var STR_EVENTS_SEND_REQUEST = "eventsSendRequest";
|
|
804
|
+
var STR_PERF_EVENT = "perfEvent";
|
|
805
|
+
var STR_ERROR_TO_CONSOLE = "errorToConsole";
|
|
806
|
+
var STR_WARN_TO_CONSOLE = "warnToConsole";
|
|
807
|
+
var STR_GET_PERF_MGR = "getPerfMgr";
|
|
808
|
+
|
|
809
|
+
var listenerFuncs = ["eventsSent", "eventsDiscarded", "eventsSendRequest", "perfEvent"];
|
|
810
|
+
var _aiNamespace = null;
|
|
811
|
+
var _debugListener;
|
|
812
|
+
function _listenerProxyFunc(name, config) {
|
|
813
|
+
return function () {
|
|
814
|
+
var args = arguments;
|
|
815
|
+
var dbgExt = getDebugExt(config);
|
|
816
|
+
if (dbgExt) {
|
|
817
|
+
var listener = dbgExt.listener;
|
|
818
|
+
if (listener && listener[name]) {
|
|
819
|
+
listener[name][_DYN_APPLY ](listener, args);
|
|
820
|
+
}
|
|
508
821
|
}
|
|
822
|
+
};
|
|
823
|
+
}
|
|
824
|
+
function _getExtensionNamespace() {
|
|
825
|
+
var target = getInst("Microsoft");
|
|
826
|
+
if (target) {
|
|
827
|
+
_aiNamespace = target["ApplicationInsights"];
|
|
509
828
|
}
|
|
510
|
-
return
|
|
829
|
+
return _aiNamespace;
|
|
511
830
|
}
|
|
512
|
-
function
|
|
831
|
+
function getDebugExt(config) {
|
|
832
|
+
var ns = _aiNamespace;
|
|
833
|
+
if (!ns && config.disableDbgExt !== true) {
|
|
834
|
+
ns = _aiNamespace || _getExtensionNamespace();
|
|
835
|
+
}
|
|
836
|
+
return ns ? ns["ChromeDbgExt"] : null;
|
|
837
|
+
}
|
|
838
|
+
function getDebugListener(config) {
|
|
839
|
+
if (!_debugListener) {
|
|
840
|
+
_debugListener = {};
|
|
841
|
+
for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH ]; lp++) {
|
|
842
|
+
_debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
|
|
843
|
+
}
|
|
844
|
+
}
|
|
845
|
+
return _debugListener;
|
|
846
|
+
}
|
|
847
|
+
|
|
848
|
+
var cString = "String";
|
|
849
|
+
var cObject = "Object";
|
|
850
|
+
var strToISOString = "toISOString";
|
|
851
|
+
var strToString = "toString";
|
|
852
|
+
var strGetPrototypeOf = "getPrototypeOf";
|
|
853
|
+
var strConstructor = "constructor";
|
|
854
|
+
var DateProto = Date[strShimPrototype];
|
|
855
|
+
var _dateToISOString = DateProto[strToISOString] || _polyfillRequired("Date", strToISOString);
|
|
856
|
+
var _fnToString = ObjHasOwnProperty[strToString] || _polyfillRequired(cString, strToString);
|
|
857
|
+
var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass);
|
|
858
|
+
var rCamelCase = /-([a-z])/g;
|
|
859
|
+
var rNormalizeInvalid = /([^\w\d_$])/g;
|
|
860
|
+
var rLeadingNumeric = /^(\d+[\w\d_$])/;
|
|
861
|
+
function _polyfillRequired(object, name) {
|
|
862
|
+
return function () {
|
|
863
|
+
throwUnsupported("Polyfill required for [" + name + "]");
|
|
864
|
+
};
|
|
865
|
+
}
|
|
866
|
+
var _getObjProto = Object[strGetPrototypeOf] || _polyfillRequired(cObject, strGetPrototypeOf);
|
|
867
|
+
function isNotUndefined(value) {
|
|
868
|
+
return !isUndefined(value);
|
|
869
|
+
}
|
|
870
|
+
function isNotNullOrUndefined(value) {
|
|
871
|
+
return !isNullOrUndefined(value);
|
|
872
|
+
}
|
|
873
|
+
function normalizeJsName(name) {
|
|
874
|
+
var value = name;
|
|
875
|
+
if (value && isString(value)) {
|
|
876
|
+
value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
|
|
877
|
+
return letter.toUpperCase();
|
|
878
|
+
});
|
|
879
|
+
value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
|
|
880
|
+
value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
|
|
881
|
+
return "_" + match;
|
|
882
|
+
});
|
|
883
|
+
}
|
|
513
884
|
return value;
|
|
514
885
|
}
|
|
515
|
-
function
|
|
516
|
-
if (
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
886
|
+
function strContains(value, search) {
|
|
887
|
+
if (value && search) {
|
|
888
|
+
return strIndexOf(value, search) !== -1;
|
|
889
|
+
}
|
|
890
|
+
return false;
|
|
891
|
+
}
|
|
892
|
+
function isPlainObject(value) {
|
|
893
|
+
var result = false;
|
|
894
|
+
if (value && typeof value === "object") {
|
|
895
|
+
var proto = _getObjProto(value);
|
|
896
|
+
if (!proto) {
|
|
897
|
+
result = true;
|
|
898
|
+
}
|
|
899
|
+
else {
|
|
900
|
+
if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL ](proto, strConstructor)) {
|
|
901
|
+
proto = proto[strConstructor];
|
|
520
902
|
}
|
|
521
|
-
|
|
903
|
+
result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
|
|
904
|
+
}
|
|
522
905
|
}
|
|
523
|
-
return
|
|
906
|
+
return result;
|
|
907
|
+
}
|
|
908
|
+
function toISOString(date) {
|
|
909
|
+
return _dateToISOString[_DYN_CALL ](date);
|
|
524
910
|
}
|
|
525
|
-
var objFreeze = _objFreeze || _doNothing;
|
|
526
|
-
var objSeal = _objSeal || _doNothing;
|
|
527
911
|
function dateNow() {
|
|
528
912
|
var dt = Date;
|
|
529
913
|
return dt.now ? dt.now() : new dt().getTime();
|
|
@@ -562,15 +946,6 @@
|
|
|
562
946
|
function getCfgValue(theValue, defaultValue) {
|
|
563
947
|
return !isNullOrUndefined(theValue) ? theValue : defaultValue;
|
|
564
948
|
}
|
|
565
|
-
function isNotTruthy(value) {
|
|
566
|
-
return !value;
|
|
567
|
-
}
|
|
568
|
-
function isTruthy(value) {
|
|
569
|
-
return !!value;
|
|
570
|
-
}
|
|
571
|
-
function throwError(message) {
|
|
572
|
-
throw new Error(message);
|
|
573
|
-
}
|
|
574
949
|
function _createProxyFunction(source, funcName) {
|
|
575
950
|
var srcFunc = null;
|
|
576
951
|
var src = null;
|
|
@@ -601,7 +976,7 @@
|
|
|
601
976
|
}
|
|
602
977
|
}
|
|
603
978
|
else if (!chkSet || chkSet(field, false, source, target)) {
|
|
604
|
-
if (
|
|
979
|
+
if (objHasOwnProperty(target, field)) {
|
|
605
980
|
delete target[field];
|
|
606
981
|
}
|
|
607
982
|
if (!objDefineAccessors(target, field, function () {
|
|
@@ -640,10 +1015,10 @@
|
|
|
640
1015
|
function createClassFromInterface(defaults) {
|
|
641
1016
|
return /** @class */ (function () {
|
|
642
1017
|
function class_1() {
|
|
643
|
-
var
|
|
1018
|
+
var _this = this;
|
|
644
1019
|
if (defaults) {
|
|
645
1020
|
objForEachKey(defaults, function (field, value) {
|
|
646
|
-
|
|
1021
|
+
_this[field] = value;
|
|
647
1022
|
});
|
|
648
1023
|
}
|
|
649
1024
|
}
|
|
@@ -701,1738 +1076,704 @@
|
|
|
701
1076
|
return extended;
|
|
702
1077
|
}
|
|
703
1078
|
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
1079
|
+
var strDocumentMode = "documentMode";
|
|
1080
|
+
var strLocation = "location";
|
|
1081
|
+
var strConsole = "console";
|
|
1082
|
+
var strPerformance = "performance";
|
|
1083
|
+
var strJSON = "JSON";
|
|
1084
|
+
var strCrypto = "crypto";
|
|
1085
|
+
var strMsCrypto = "msCrypto";
|
|
1086
|
+
var strReactNative = "ReactNative";
|
|
1087
|
+
var strMsie = "msie";
|
|
1088
|
+
var strTrident = "trident/";
|
|
1089
|
+
var strXMLHttpRequest = "XMLHttpRequest";
|
|
1090
|
+
var _isTrident = null;
|
|
1091
|
+
var _navUserAgentCheck = null;
|
|
1092
|
+
var _enableMocks = false;
|
|
1093
|
+
var _useXDomainRequest = null;
|
|
1094
|
+
var _beaconsSupported = null;
|
|
1095
|
+
function _hasProperty(theClass, property) {
|
|
1096
|
+
var supported = false;
|
|
1097
|
+
if (theClass) {
|
|
1098
|
+
try {
|
|
1099
|
+
supported = property in theClass;
|
|
1100
|
+
if (!supported) {
|
|
1101
|
+
var proto = theClass[strShimPrototype];
|
|
1102
|
+
if (proto) {
|
|
1103
|
+
supported = property in proto;
|
|
1104
|
+
}
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
catch (e) {
|
|
1108
|
+
}
|
|
1109
|
+
if (!supported) {
|
|
1110
|
+
try {
|
|
1111
|
+
var tmp = new theClass();
|
|
1112
|
+
supported = !isUndefined(tmp[property]);
|
|
1113
|
+
}
|
|
1114
|
+
catch (e) {
|
|
1115
|
+
}
|
|
1116
|
+
}
|
|
1117
|
+
}
|
|
1118
|
+
return supported;
|
|
719
1119
|
}
|
|
720
|
-
function
|
|
721
|
-
|
|
722
|
-
objForEachKey(values, function (field, value) {
|
|
723
|
-
mapClass[field] = value[1];
|
|
724
|
-
mapClass[value[0]] = value[1];
|
|
725
|
-
});
|
|
726
|
-
return deepFreeze(mapClass);
|
|
1120
|
+
function setEnableEnvMocks(enabled) {
|
|
1121
|
+
_enableMocks = enabled;
|
|
727
1122
|
}
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
* Microsoft Dynamic Proto Utility, 1.1.6
|
|
740
|
-
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
741
|
-
*/
|
|
742
|
-
var Constructor = 'constructor';
|
|
743
|
-
var Prototype = 'prototype';
|
|
744
|
-
var strFunction = 'function';
|
|
745
|
-
var DynInstFuncTable = '_dynInstFuncs';
|
|
746
|
-
var DynProxyTag = '_isDynProxy';
|
|
747
|
-
var DynClassName = '_dynClass';
|
|
748
|
-
var DynClassNamePrefix = '_dynCls$';
|
|
749
|
-
var DynInstChkTag = '_dynInstChk';
|
|
750
|
-
var DynAllowInstChkTag = DynInstChkTag;
|
|
751
|
-
var DynProtoDefaultOptions = '_dfOpts';
|
|
752
|
-
var UnknownValue = '_unknown_';
|
|
753
|
-
var str__Proto = "__proto__";
|
|
754
|
-
var DynProtoBaseProto = "_dyn" + str__Proto;
|
|
755
|
-
var DynProtoCurrent = "_dynInstProto";
|
|
756
|
-
var strUseBaseInst = 'useBaseInst';
|
|
757
|
-
var strSetInstFuncs = 'setInstFuncs';
|
|
758
|
-
var Obj = Object;
|
|
759
|
-
var _objGetPrototypeOf = Obj["getPrototypeOf"];
|
|
760
|
-
var _objGetOwnProps = Obj["getOwnPropertyNames"];
|
|
761
|
-
var _dynamicNames = 0;
|
|
762
|
-
function _hasOwnProperty(obj, prop) {
|
|
763
|
-
return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);
|
|
1123
|
+
function getLocation(checkForMock) {
|
|
1124
|
+
if (checkForMock && _enableMocks) {
|
|
1125
|
+
var mockLocation = getInst("__mockLocation");
|
|
1126
|
+
if (mockLocation) {
|
|
1127
|
+
return mockLocation;
|
|
1128
|
+
}
|
|
1129
|
+
}
|
|
1130
|
+
if (typeof location === strShimObject && location) {
|
|
1131
|
+
return location;
|
|
1132
|
+
}
|
|
1133
|
+
return getInst(strLocation);
|
|
764
1134
|
}
|
|
765
|
-
function
|
|
766
|
-
|
|
1135
|
+
function getConsole() {
|
|
1136
|
+
if (typeof console !== strShimUndefined) {
|
|
1137
|
+
return console;
|
|
1138
|
+
}
|
|
1139
|
+
return getInst(strConsole);
|
|
767
1140
|
}
|
|
768
|
-
function
|
|
769
|
-
return
|
|
1141
|
+
function getPerformance() {
|
|
1142
|
+
return getInst(strPerformance);
|
|
770
1143
|
}
|
|
771
|
-
function
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
var curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
|
|
778
|
-
newProto = target[DynProtoBaseProto] || curProto;
|
|
779
|
-
if (!_hasOwnProperty(target, DynProtoBaseProto)) {
|
|
780
|
-
delete target[DynProtoCurrent];
|
|
781
|
-
newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];
|
|
782
|
-
target[DynProtoCurrent] = curProto;
|
|
783
|
-
}
|
|
1144
|
+
function hasJSON() {
|
|
1145
|
+
return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
|
|
1146
|
+
}
|
|
1147
|
+
function getJSON() {
|
|
1148
|
+
if (hasJSON()) {
|
|
1149
|
+
return JSON || getInst(strJSON);
|
|
784
1150
|
}
|
|
785
|
-
return
|
|
1151
|
+
return null;
|
|
786
1152
|
}
|
|
787
|
-
function
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
1153
|
+
function getCrypto() {
|
|
1154
|
+
return getInst(strCrypto);
|
|
1155
|
+
}
|
|
1156
|
+
function getMsCrypto() {
|
|
1157
|
+
return getInst(strMsCrypto);
|
|
1158
|
+
}
|
|
1159
|
+
function isReactNative() {
|
|
1160
|
+
var nav = getNavigator();
|
|
1161
|
+
if (nav && nav.product) {
|
|
1162
|
+
return nav.product === strReactNative;
|
|
791
1163
|
}
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
1164
|
+
return false;
|
|
1165
|
+
}
|
|
1166
|
+
function isIE() {
|
|
1167
|
+
var nav = getNavigator();
|
|
1168
|
+
if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
|
|
1169
|
+
_navUserAgentCheck = nav[_DYN_USER_AGENT ];
|
|
1170
|
+
var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
|
|
1171
|
+
_isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
|
|
798
1172
|
}
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
1173
|
+
return _isTrident;
|
|
1174
|
+
}
|
|
1175
|
+
function getIEVersion(userAgentStr) {
|
|
1176
|
+
if (userAgentStr === void 0) { userAgentStr = null; }
|
|
1177
|
+
if (!userAgentStr) {
|
|
1178
|
+
var navigator_1 = getNavigator() || {};
|
|
1179
|
+
userAgentStr = navigator_1 ? (navigator_1[_DYN_USER_AGENT ] || STR_EMPTY)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY;
|
|
1180
|
+
}
|
|
1181
|
+
var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
|
|
1182
|
+
if (strContains(ua, strMsie)) {
|
|
1183
|
+
var doc = getDocument() || {};
|
|
1184
|
+
return Math.max(parseInt(ua[_DYN_SPLIT ](strMsie)[1]), (doc[strDocumentMode] || 0));
|
|
1185
|
+
}
|
|
1186
|
+
else if (strContains(ua, strTrident)) {
|
|
1187
|
+
var tridentVer = parseInt(ua[_DYN_SPLIT ](strTrident)[1]);
|
|
1188
|
+
if (tridentVer) {
|
|
1189
|
+
return tridentVer + 4;
|
|
802
1190
|
}
|
|
803
1191
|
}
|
|
1192
|
+
return null;
|
|
804
1193
|
}
|
|
805
|
-
function
|
|
806
|
-
|
|
1194
|
+
function isSafari(userAgentStr) {
|
|
1195
|
+
if (!userAgentStr || !isString(userAgentStr)) {
|
|
1196
|
+
var navigator_2 = getNavigator() || {};
|
|
1197
|
+
userAgentStr = navigator_2 ? (navigator_2[_DYN_USER_AGENT ] || STR_EMPTY)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY;
|
|
1198
|
+
}
|
|
1199
|
+
var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
|
|
1200
|
+
return (ua.indexOf("safari") >= 0);
|
|
807
1201
|
}
|
|
808
|
-
function
|
|
809
|
-
|
|
1202
|
+
function isBeaconsSupported() {
|
|
1203
|
+
if (_beaconsSupported === null) {
|
|
1204
|
+
_beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);
|
|
1205
|
+
}
|
|
1206
|
+
return _beaconsSupported;
|
|
810
1207
|
}
|
|
811
|
-
function
|
|
812
|
-
var
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
1208
|
+
function isFetchSupported(withKeepAlive) {
|
|
1209
|
+
var isSupported = false;
|
|
1210
|
+
try {
|
|
1211
|
+
isSupported = !!getInst("fetch");
|
|
1212
|
+
var request = getInst("Request");
|
|
1213
|
+
if (isSupported && withKeepAlive && request) {
|
|
1214
|
+
isSupported = _hasProperty(request, "keepalive");
|
|
816
1215
|
}
|
|
817
|
-
}
|
|
818
|
-
|
|
1216
|
+
}
|
|
1217
|
+
catch (e) {
|
|
1218
|
+
}
|
|
1219
|
+
return isSupported;
|
|
819
1220
|
}
|
|
820
|
-
function
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
1221
|
+
function useXDomainRequest() {
|
|
1222
|
+
if (_useXDomainRequest === null) {
|
|
1223
|
+
_useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);
|
|
1224
|
+
if (_useXDomainRequest && isXhrSupported()) {
|
|
1225
|
+
_useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), "withCredentials");
|
|
824
1226
|
}
|
|
825
1227
|
}
|
|
826
|
-
return
|
|
1228
|
+
return _useXDomainRequest;
|
|
827
1229
|
}
|
|
828
|
-
function
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
834
|
-
theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;
|
|
835
|
-
}
|
|
836
|
-
}
|
|
837
|
-
return function () {
|
|
838
|
-
return theFunc.apply(target, arguments);
|
|
839
|
-
};
|
|
1230
|
+
function isXhrSupported() {
|
|
1231
|
+
var isSupported = false;
|
|
1232
|
+
try {
|
|
1233
|
+
var xmlHttpRequest = getInst(strXMLHttpRequest);
|
|
1234
|
+
isSupported = !!xmlHttpRequest;
|
|
840
1235
|
}
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
if (
|
|
850
|
-
|
|
1236
|
+
catch (e) {
|
|
1237
|
+
}
|
|
1238
|
+
return isSupported;
|
|
1239
|
+
}
|
|
1240
|
+
function _getNamedValue(values, name) {
|
|
1241
|
+
if (values) {
|
|
1242
|
+
for (var i = 0; i < values[_DYN_LENGTH ]; i++) {
|
|
1243
|
+
var value = values[i];
|
|
1244
|
+
if (value[_DYN_NAME ]) {
|
|
1245
|
+
if (value[_DYN_NAME ] === name) {
|
|
1246
|
+
return value;
|
|
1247
|
+
}
|
|
851
1248
|
}
|
|
852
|
-
}
|
|
853
|
-
visited.push(baseProto);
|
|
854
|
-
baseProto = _getObjProto(baseProto);
|
|
1249
|
+
}
|
|
855
1250
|
}
|
|
856
|
-
return
|
|
1251
|
+
return {};
|
|
857
1252
|
}
|
|
858
|
-
function
|
|
859
|
-
var
|
|
860
|
-
if (
|
|
861
|
-
|
|
862
|
-
instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
|
|
863
|
-
if (!instFunc) {
|
|
864
|
-
_throwTypeError("Missing [" + funcName + "] " + strFunction);
|
|
865
|
-
}
|
|
866
|
-
if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {
|
|
867
|
-
var canAddInst = !_hasOwnProperty(target, funcName);
|
|
868
|
-
var objProto = _getObjProto(target);
|
|
869
|
-
var visited = [];
|
|
870
|
-
while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {
|
|
871
|
-
var protoFunc = objProto[funcName];
|
|
872
|
-
if (protoFunc) {
|
|
873
|
-
canAddInst = (protoFunc === currentDynProtoProxy);
|
|
874
|
-
break;
|
|
875
|
-
}
|
|
876
|
-
visited.push(objProto);
|
|
877
|
-
objProto = _getObjProto(objProto);
|
|
878
|
-
}
|
|
879
|
-
try {
|
|
880
|
-
if (canAddInst) {
|
|
881
|
-
target[funcName] = instFunc;
|
|
882
|
-
}
|
|
883
|
-
instFunc[DynInstChkTag] = 1;
|
|
884
|
-
}
|
|
885
|
-
catch (e) {
|
|
886
|
-
instFuncTable[DynAllowInstChkTag] = false;
|
|
887
|
-
}
|
|
888
|
-
}
|
|
1253
|
+
function findMetaTag(name) {
|
|
1254
|
+
var doc = getDocument();
|
|
1255
|
+
if (doc && name) {
|
|
1256
|
+
return _getNamedValue(doc.querySelectorAll("meta"), name).content;
|
|
889
1257
|
}
|
|
890
|
-
return
|
|
1258
|
+
return null;
|
|
891
1259
|
}
|
|
892
|
-
function
|
|
893
|
-
var
|
|
894
|
-
|
|
895
|
-
|
|
1260
|
+
function findNamedServerTiming(name) {
|
|
1261
|
+
var value;
|
|
1262
|
+
var perf = getPerformance();
|
|
1263
|
+
if (perf) {
|
|
1264
|
+
var navPerf = perf.getEntriesByType("navigation") || [];
|
|
1265
|
+
value = _getNamedValue((navPerf[_DYN_LENGTH ] > 0 ? navPerf[0] : {}).serverTiming, name).description;
|
|
896
1266
|
}
|
|
897
|
-
|
|
898
|
-
|
|
1267
|
+
return value;
|
|
1268
|
+
}
|
|
1269
|
+
|
|
1270
|
+
var AiNonUserActionablePrefix = "AI (Internal): ";
|
|
1271
|
+
var AiUserActionablePrefix = "AI: ";
|
|
1272
|
+
var AIInternalMessagePrefix = "AITR_";
|
|
1273
|
+
function _sanitizeDiagnosticText(text) {
|
|
1274
|
+
if (text) {
|
|
1275
|
+
return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
|
|
899
1276
|
}
|
|
900
|
-
return
|
|
1277
|
+
return STR_EMPTY;
|
|
901
1278
|
}
|
|
902
|
-
function
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
1279
|
+
function _logToConsole(func, message) {
|
|
1280
|
+
var theConsole = getConsole();
|
|
1281
|
+
if (!!theConsole) {
|
|
1282
|
+
var logFunc = "log";
|
|
1283
|
+
if (theConsole[func]) {
|
|
1284
|
+
logFunc = func;
|
|
1285
|
+
}
|
|
1286
|
+
if (isFunction(theConsole[logFunc])) {
|
|
1287
|
+
theConsole[logFunc](message);
|
|
1288
|
+
}
|
|
910
1289
|
}
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
if (
|
|
915
|
-
|
|
1290
|
+
}
|
|
1291
|
+
var _InternalLogMessage = /** @class */ (function () {
|
|
1292
|
+
function _InternalLogMessage(msgId, msg, isUserAct, properties) {
|
|
1293
|
+
if (isUserAct === void 0) { isUserAct = false; }
|
|
1294
|
+
var _self = this;
|
|
1295
|
+
_self[_DYN_MESSAGE_ID ] = msgId;
|
|
1296
|
+
_self[_DYN_MESSAGE ] =
|
|
1297
|
+
(isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
|
|
1298
|
+
msgId;
|
|
1299
|
+
var strProps = STR_EMPTY;
|
|
1300
|
+
if (hasJSON()) {
|
|
1301
|
+
strProps = getJSON().stringify(properties);
|
|
916
1302
|
}
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
1303
|
+
var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
|
|
1304
|
+
(properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
|
|
1305
|
+
_self[_DYN_MESSAGE ] += diagnosticText;
|
|
1306
|
+
}
|
|
1307
|
+
_InternalLogMessage.dataType = "MessageData";
|
|
1308
|
+
return _InternalLogMessage;
|
|
1309
|
+
}());
|
|
1310
|
+
function safeGetLogger(core, config) {
|
|
1311
|
+
return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
|
|
1312
|
+
}
|
|
1313
|
+
var DiagnosticLogger = /** @class */ (function () {
|
|
1314
|
+
function DiagnosticLogger(config) {
|
|
1315
|
+
this.identifier = "DiagnosticLogger";
|
|
1316
|
+
this.queue = [];
|
|
1317
|
+
var _messageCount = 0;
|
|
1318
|
+
var _messageLogged = {};
|
|
1319
|
+
var _loggingLevelConsole;
|
|
1320
|
+
var _loggingLevelTelemetry;
|
|
1321
|
+
var _maxInternalMessageLimit;
|
|
1322
|
+
var _enableDebugExceptions;
|
|
1323
|
+
dynamicProto(DiagnosticLogger, this, function (_self) {
|
|
1324
|
+
_setDefaultsFromConfig(config || {});
|
|
1325
|
+
_self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
|
|
1326
|
+
_self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };
|
|
1327
|
+
_self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
|
|
1328
|
+
_self[_DYN_ENABLE_DEBUG_EXCEPTI4 ] = function () { return _enableDebugExceptions; };
|
|
1329
|
+
_self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
|
|
1330
|
+
if (isUserAct === void 0) { isUserAct = false; }
|
|
1331
|
+
var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
|
|
1332
|
+
if (_enableDebugExceptions) {
|
|
1333
|
+
throw dumpObj(message);
|
|
1334
|
+
}
|
|
1335
|
+
else {
|
|
1336
|
+
var logFunc = severity === 1 ? STR_ERROR_TO_CONSOLE : STR_WARN_TO_CONSOLE;
|
|
1337
|
+
if (!isUndefined(message[_DYN_MESSAGE ])) {
|
|
1338
|
+
if (isUserAct) {
|
|
1339
|
+
var messageKey = +message[_DYN_MESSAGE_ID ];
|
|
1340
|
+
if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
|
|
1341
|
+
_self[logFunc](message[_DYN_MESSAGE ]);
|
|
1342
|
+
_messageLogged[messageKey] = true;
|
|
1343
|
+
}
|
|
1344
|
+
}
|
|
1345
|
+
else {
|
|
1346
|
+
if (_loggingLevelConsole >= severity) {
|
|
1347
|
+
_self[logFunc](message[_DYN_MESSAGE ]);
|
|
1348
|
+
}
|
|
1349
|
+
}
|
|
1350
|
+
_logInternalMessage(severity, message);
|
|
1351
|
+
}
|
|
1352
|
+
else {
|
|
1353
|
+
_debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
|
|
1354
|
+
}
|
|
1355
|
+
}
|
|
1356
|
+
};
|
|
1357
|
+
_self[STR_WARN_TO_CONSOLE ] = function (message) {
|
|
1358
|
+
_logToConsole("warn", message);
|
|
1359
|
+
_debugExtMsg("warning", message);
|
|
1360
|
+
};
|
|
1361
|
+
_self[STR_ERROR_TO_CONSOLE ] = function (message) {
|
|
1362
|
+
_logToConsole("error", message);
|
|
1363
|
+
_debugExtMsg("error", message);
|
|
1364
|
+
};
|
|
1365
|
+
_self.resetInternalMessageCount = function () {
|
|
1366
|
+
_messageCount = 0;
|
|
1367
|
+
_messageLogged = {};
|
|
1368
|
+
};
|
|
1369
|
+
_self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
|
|
1370
|
+
function _logInternalMessage(severity, message) {
|
|
1371
|
+
if (_areInternalMessagesThrottled()) {
|
|
1372
|
+
return;
|
|
1373
|
+
}
|
|
1374
|
+
var logMessage = true;
|
|
1375
|
+
var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
|
|
1376
|
+
if (_messageLogged[messageKey]) {
|
|
1377
|
+
logMessage = false;
|
|
1378
|
+
}
|
|
1379
|
+
else {
|
|
1380
|
+
_messageLogged[messageKey] = true;
|
|
1381
|
+
}
|
|
1382
|
+
if (logMessage) {
|
|
1383
|
+
if (severity <= _loggingLevelTelemetry) {
|
|
1384
|
+
_self.queue[_DYN_PUSH ](message);
|
|
1385
|
+
_messageCount++;
|
|
1386
|
+
_debugExtMsg((severity === 1 ? "error" : "warn"), message);
|
|
1387
|
+
}
|
|
1388
|
+
if (_messageCount === _maxInternalMessageLimit) {
|
|
1389
|
+
var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
|
|
1390
|
+
var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
|
|
1391
|
+
_self.queue[_DYN_PUSH ](throttleMessage);
|
|
1392
|
+
if (severity === 1 ) {
|
|
1393
|
+
_self[STR_ERROR_TO_CONSOLE ](throttleLimitMessage);
|
|
1394
|
+
}
|
|
1395
|
+
else {
|
|
1396
|
+
_self[STR_WARN_TO_CONSOLE ](throttleLimitMessage);
|
|
1397
|
+
}
|
|
1398
|
+
}
|
|
1399
|
+
}
|
|
1400
|
+
}
|
|
1401
|
+
function _setDefaultsFromConfig(config) {
|
|
1402
|
+
_loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);
|
|
1403
|
+
_loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);
|
|
1404
|
+
_maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);
|
|
1405
|
+
_enableDebugExceptions = getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 ], false);
|
|
1406
|
+
}
|
|
1407
|
+
function _areInternalMessagesThrottled() {
|
|
1408
|
+
return _messageCount >= _maxInternalMessageLimit;
|
|
1409
|
+
}
|
|
1410
|
+
function _debugExtMsg(name, data) {
|
|
1411
|
+
var dbgExt = getDebugExt(config || {});
|
|
1412
|
+
if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
|
|
1413
|
+
dbgExt[_DYN_DIAG_LOG ](name, data);
|
|
923
1414
|
}
|
|
924
1415
|
}
|
|
925
1416
|
});
|
|
926
1417
|
}
|
|
1418
|
+
DiagnosticLogger.__ieDyn=1;
|
|
1419
|
+
return DiagnosticLogger;
|
|
1420
|
+
}());
|
|
1421
|
+
function _getLogger(logger) {
|
|
1422
|
+
return (logger || new DiagnosticLogger());
|
|
927
1423
|
}
|
|
928
|
-
function
|
|
929
|
-
if (
|
|
930
|
-
|
|
931
|
-
var thisProto = _getObjProto(thisTarget);
|
|
932
|
-
while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {
|
|
933
|
-
if (thisProto === classProto) {
|
|
934
|
-
return true;
|
|
935
|
-
}
|
|
936
|
-
visited.push(thisProto);
|
|
937
|
-
thisProto = _getObjProto(thisProto);
|
|
938
|
-
}
|
|
939
|
-
return false;
|
|
940
|
-
}
|
|
941
|
-
return true;
|
|
1424
|
+
function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
|
|
1425
|
+
if (isUserAct === void 0) { isUserAct = false; }
|
|
1426
|
+
_getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);
|
|
942
1427
|
}
|
|
943
|
-
function
|
|
944
|
-
|
|
945
|
-
return target.name || unknownValue || UnknownValue;
|
|
946
|
-
}
|
|
947
|
-
return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;
|
|
1428
|
+
function _warnToConsole(logger, message) {
|
|
1429
|
+
_getLogger(logger)[STR_WARN_TO_CONSOLE ](message);
|
|
948
1430
|
}
|
|
949
|
-
function
|
|
950
|
-
|
|
951
|
-
_throwTypeError("theClass is an invalid class definition.");
|
|
952
|
-
}
|
|
953
|
-
var classProto = theClass[Prototype];
|
|
954
|
-
if (!_checkPrototype(classProto, target)) {
|
|
955
|
-
_throwTypeError("[" + _getObjName(theClass) + "] is not in class hierarchy of [" + _getObjName(target) + "]");
|
|
956
|
-
}
|
|
957
|
-
var className = null;
|
|
958
|
-
if (_hasOwnProperty(classProto, DynClassName)) {
|
|
959
|
-
className = classProto[DynClassName];
|
|
960
|
-
}
|
|
961
|
-
else {
|
|
962
|
-
className = DynClassNamePrefix + _getObjName(theClass, "_") + "$" + _dynamicNames;
|
|
963
|
-
_dynamicNames++;
|
|
964
|
-
classProto[DynClassName] = className;
|
|
965
|
-
}
|
|
966
|
-
var perfOptions = dynamicProto[DynProtoDefaultOptions];
|
|
967
|
-
var useBaseInst = !!perfOptions[strUseBaseInst];
|
|
968
|
-
if (useBaseInst && options && options[strUseBaseInst] !== undefined) {
|
|
969
|
-
useBaseInst = !!options[strUseBaseInst];
|
|
970
|
-
}
|
|
971
|
-
var instFuncs = _getInstanceFuncs(target);
|
|
972
|
-
var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);
|
|
973
|
-
delegateFunc(target, baseFuncs);
|
|
974
|
-
var setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];
|
|
975
|
-
if (setInstanceFunc && options) {
|
|
976
|
-
setInstanceFunc = !!options[strSetInstFuncs];
|
|
977
|
-
}
|
|
978
|
-
_populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);
|
|
1431
|
+
function _logInternalMessage(logger, severity, message) {
|
|
1432
|
+
_getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
|
|
979
1433
|
}
|
|
980
|
-
var perfDefaults = {
|
|
981
|
-
setInstFuncs: true,
|
|
982
|
-
useBaseInst: true
|
|
983
|
-
};
|
|
984
|
-
dynamicProto[DynProtoDefaultOptions] = perfDefaults;
|
|
985
1434
|
|
|
986
|
-
var
|
|
987
|
-
var
|
|
988
|
-
var
|
|
989
|
-
var
|
|
990
|
-
var
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
var _enableMocks = false;
|
|
1004
|
-
var _useXDomainRequest = null;
|
|
1005
|
-
var _beaconsSupported = null;
|
|
1006
|
-
function _hasProperty(theClass, property) {
|
|
1007
|
-
var supported = false;
|
|
1008
|
-
if (theClass) {
|
|
1009
|
-
try {
|
|
1010
|
-
supported = property in theClass;
|
|
1011
|
-
if (!supported) {
|
|
1012
|
-
var proto = theClass[strShimPrototype];
|
|
1013
|
-
if (proto) {
|
|
1014
|
-
supported = property in proto;
|
|
1435
|
+
var strExecutionContextKey = "ctx";
|
|
1436
|
+
var strParentContextKey = "ParentContextKey";
|
|
1437
|
+
var strChildrenContextKey = "ChildrenContextKey";
|
|
1438
|
+
var _defaultPerfManager = null;
|
|
1439
|
+
var PerfEvent = /** @class */ (function () {
|
|
1440
|
+
function PerfEvent(name, payloadDetails, isAsync) {
|
|
1441
|
+
var _self = this;
|
|
1442
|
+
_self.start = dateNow();
|
|
1443
|
+
_self[_DYN_NAME ] = name;
|
|
1444
|
+
_self[_DYN_IS_ASYNC ] = isAsync;
|
|
1445
|
+
_self[_DYN_IS_CHILD_EVT ] = function () { return false; };
|
|
1446
|
+
if (isFunction(payloadDetails)) {
|
|
1447
|
+
var theDetails_1;
|
|
1448
|
+
objDefineAccessors(_self, "payload", function () {
|
|
1449
|
+
if (!theDetails_1 && isFunction(payloadDetails)) {
|
|
1450
|
+
theDetails_1 = payloadDetails();
|
|
1451
|
+
payloadDetails = null;
|
|
1015
1452
|
}
|
|
1016
|
-
|
|
1453
|
+
return theDetails_1;
|
|
1454
|
+
});
|
|
1017
1455
|
}
|
|
1018
|
-
|
|
1456
|
+
_self[_DYN_GET_CTX ] = function (key) {
|
|
1457
|
+
if (key) {
|
|
1458
|
+
if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {
|
|
1459
|
+
return _self[key];
|
|
1460
|
+
}
|
|
1461
|
+
return (_self[strExecutionContextKey] || {})[key];
|
|
1462
|
+
}
|
|
1463
|
+
return null;
|
|
1464
|
+
};
|
|
1465
|
+
_self[_DYN_SET_CTX ] = function (key, value) {
|
|
1466
|
+
if (key) {
|
|
1467
|
+
if (key === PerfEvent[strParentContextKey]) {
|
|
1468
|
+
if (!_self[key]) {
|
|
1469
|
+
_self[_DYN_IS_CHILD_EVT ] = function () { return true; };
|
|
1470
|
+
}
|
|
1471
|
+
_self[key] = value;
|
|
1472
|
+
}
|
|
1473
|
+
else if (key === PerfEvent[strChildrenContextKey]) {
|
|
1474
|
+
_self[key] = value;
|
|
1475
|
+
}
|
|
1476
|
+
else {
|
|
1477
|
+
var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};
|
|
1478
|
+
ctx[key] = value;
|
|
1479
|
+
}
|
|
1480
|
+
}
|
|
1481
|
+
};
|
|
1482
|
+
_self[_DYN_COMPLETE ] = function () {
|
|
1483
|
+
var childTime = 0;
|
|
1484
|
+
var childEvts = _self[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
|
|
1485
|
+
if (isArray(childEvts)) {
|
|
1486
|
+
for (var lp = 0; lp < childEvts[_DYN_LENGTH ]; lp++) {
|
|
1487
|
+
var childEvt = childEvts[lp];
|
|
1488
|
+
if (childEvt) {
|
|
1489
|
+
childTime += childEvt[_DYN_TIME ];
|
|
1490
|
+
}
|
|
1491
|
+
}
|
|
1492
|
+
}
|
|
1493
|
+
_self[_DYN_TIME ] = dateNow() - _self.start;
|
|
1494
|
+
_self.exTime = _self[_DYN_TIME ] - childTime;
|
|
1495
|
+
_self[_DYN_COMPLETE ] = function () { };
|
|
1496
|
+
};
|
|
1497
|
+
}
|
|
1498
|
+
PerfEvent.ParentContextKey = "parent";
|
|
1499
|
+
PerfEvent.ChildrenContextKey = "childEvts";
|
|
1500
|
+
return PerfEvent;
|
|
1501
|
+
}());
|
|
1502
|
+
var PerfManager = /** @class */ (function () {
|
|
1503
|
+
function PerfManager(manager) {
|
|
1504
|
+
this.ctx = {};
|
|
1505
|
+
dynamicProto(PerfManager, this, function (_self) {
|
|
1506
|
+
_self.create = function (src, payloadDetails, isAsync) {
|
|
1507
|
+
return new PerfEvent(src, payloadDetails, isAsync);
|
|
1508
|
+
};
|
|
1509
|
+
_self.fire = function (perfEvent) {
|
|
1510
|
+
if (perfEvent) {
|
|
1511
|
+
perfEvent[_DYN_COMPLETE ]();
|
|
1512
|
+
if (manager && isFunction(manager[STR_PERF_EVENT ])) {
|
|
1513
|
+
manager[STR_PERF_EVENT ](perfEvent);
|
|
1514
|
+
}
|
|
1515
|
+
}
|
|
1516
|
+
};
|
|
1517
|
+
_self[_DYN_SET_CTX ] = function (key, value) {
|
|
1518
|
+
if (key) {
|
|
1519
|
+
var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};
|
|
1520
|
+
ctx[key] = value;
|
|
1521
|
+
}
|
|
1522
|
+
};
|
|
1523
|
+
_self[_DYN_GET_CTX ] = function (key) {
|
|
1524
|
+
return (_self[strExecutionContextKey] || {})[key];
|
|
1525
|
+
};
|
|
1526
|
+
});
|
|
1527
|
+
}
|
|
1528
|
+
PerfManager.__ieDyn=1;
|
|
1529
|
+
return PerfManager;
|
|
1530
|
+
}());
|
|
1531
|
+
var doPerfActiveKey = "CoreUtils.doPerf";
|
|
1532
|
+
function doPerf(mgrSource, getSource, func, details, isAsync) {
|
|
1533
|
+
if (mgrSource) {
|
|
1534
|
+
var perfMgr = mgrSource;
|
|
1535
|
+
if (perfMgr[STR_GET_PERF_MGR]) {
|
|
1536
|
+
perfMgr = perfMgr[STR_GET_PERF_MGR]();
|
|
1019
1537
|
}
|
|
1020
|
-
if (
|
|
1538
|
+
if (perfMgr) {
|
|
1539
|
+
var perfEvt = void 0;
|
|
1540
|
+
var currentActive = perfMgr[_DYN_GET_CTX ](doPerfActiveKey);
|
|
1021
1541
|
try {
|
|
1022
|
-
|
|
1023
|
-
|
|
1542
|
+
perfEvt = perfMgr.create(getSource(), details, isAsync);
|
|
1543
|
+
if (perfEvt) {
|
|
1544
|
+
if (currentActive && perfEvt[_DYN_SET_CTX ]) {
|
|
1545
|
+
perfEvt[_DYN_SET_CTX ](PerfEvent[strParentContextKey], currentActive);
|
|
1546
|
+
if (currentActive[_DYN_GET_CTX ] && currentActive[_DYN_SET_CTX ]) {
|
|
1547
|
+
var children = currentActive[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
|
|
1548
|
+
if (!children) {
|
|
1549
|
+
children = [];
|
|
1550
|
+
currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
|
|
1551
|
+
}
|
|
1552
|
+
children[_DYN_PUSH ](perfEvt);
|
|
1553
|
+
}
|
|
1554
|
+
}
|
|
1555
|
+
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
|
|
1556
|
+
return func(perfEvt);
|
|
1557
|
+
}
|
|
1024
1558
|
}
|
|
1025
|
-
catch (
|
|
1559
|
+
catch (ex) {
|
|
1560
|
+
if (perfEvt && perfEvt[_DYN_SET_CTX ]) {
|
|
1561
|
+
perfEvt[_DYN_SET_CTX ]("exception", ex);
|
|
1562
|
+
}
|
|
1563
|
+
}
|
|
1564
|
+
finally {
|
|
1565
|
+
if (perfEvt) {
|
|
1566
|
+
perfMgr.fire(perfEvt);
|
|
1567
|
+
}
|
|
1568
|
+
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, currentActive);
|
|
1026
1569
|
}
|
|
1027
1570
|
}
|
|
1028
1571
|
}
|
|
1029
|
-
return
|
|
1030
|
-
}
|
|
1031
|
-
function setEnableEnvMocks(enabled) {
|
|
1032
|
-
_enableMocks = enabled;
|
|
1572
|
+
return func();
|
|
1033
1573
|
}
|
|
1034
|
-
function
|
|
1035
|
-
|
|
1036
|
-
if (gbl && gbl[name]) {
|
|
1037
|
-
return gbl[name];
|
|
1038
|
-
}
|
|
1039
|
-
if (name === strWindow && hasWindow()) {
|
|
1040
|
-
return window;
|
|
1041
|
-
}
|
|
1042
|
-
return null;
|
|
1574
|
+
function setGblPerfMgr(perfManager) {
|
|
1575
|
+
_defaultPerfManager = perfManager;
|
|
1043
1576
|
}
|
|
1044
|
-
function
|
|
1045
|
-
return
|
|
1577
|
+
function getGblPerfMgr() {
|
|
1578
|
+
return _defaultPerfManager;
|
|
1046
1579
|
}
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1580
|
+
|
|
1581
|
+
var UInt32Mask = 0x100000000;
|
|
1582
|
+
var MaxUInt32 = 0xffffffff;
|
|
1583
|
+
var _mwcSeeded = false;
|
|
1584
|
+
var _mwcW = 123456789;
|
|
1585
|
+
var _mwcZ = 987654321;
|
|
1586
|
+
function _mwcSeed(seedValue) {
|
|
1587
|
+
if (seedValue < 0) {
|
|
1588
|
+
seedValue >>>= 0;
|
|
1050
1589
|
}
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
return Boolean(typeof document === strShimObject && document);
|
|
1590
|
+
_mwcW = (123456789 + seedValue) & MaxUInt32;
|
|
1591
|
+
_mwcZ = (987654321 - seedValue) & MaxUInt32;
|
|
1592
|
+
_mwcSeeded = true;
|
|
1055
1593
|
}
|
|
1056
|
-
function
|
|
1057
|
-
|
|
1058
|
-
|
|
1594
|
+
function _autoSeedMwc() {
|
|
1595
|
+
try {
|
|
1596
|
+
var now = dateNow() & 0x7fffffff;
|
|
1597
|
+
_mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
|
|
1059
1598
|
}
|
|
1060
|
-
|
|
1061
|
-
}
|
|
1062
|
-
function hasNavigator() {
|
|
1063
|
-
return Boolean(typeof navigator === strShimObject && navigator);
|
|
1064
|
-
}
|
|
1065
|
-
function getNavigator() {
|
|
1066
|
-
if (hasNavigator()) {
|
|
1067
|
-
return navigator;
|
|
1599
|
+
catch (e) {
|
|
1068
1600
|
}
|
|
1069
|
-
return getGlobalInst(strNavigator);
|
|
1070
|
-
}
|
|
1071
|
-
function hasHistory() {
|
|
1072
|
-
return Boolean(typeof history === strShimObject && history);
|
|
1073
1601
|
}
|
|
1074
|
-
function
|
|
1075
|
-
if (
|
|
1076
|
-
return
|
|
1602
|
+
function randomValue(maxValue) {
|
|
1603
|
+
if (maxValue > 0) {
|
|
1604
|
+
return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;
|
|
1077
1605
|
}
|
|
1078
|
-
return
|
|
1606
|
+
return 0;
|
|
1079
1607
|
}
|
|
1080
|
-
function
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1608
|
+
function random32(signed) {
|
|
1609
|
+
var value = 0;
|
|
1610
|
+
var c = getCrypto() || getMsCrypto();
|
|
1611
|
+
if (c && c.getRandomValues) {
|
|
1612
|
+
value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
|
|
1613
|
+
}
|
|
1614
|
+
if (value === 0 && isIE()) {
|
|
1615
|
+
if (!_mwcSeeded) {
|
|
1616
|
+
_autoSeedMwc();
|
|
1085
1617
|
}
|
|
1618
|
+
value = mwcRandom32() & MaxUInt32;
|
|
1086
1619
|
}
|
|
1087
|
-
if (
|
|
1088
|
-
|
|
1620
|
+
if (value === 0) {
|
|
1621
|
+
value = Math.floor((UInt32Mask * Math.random()) | 0);
|
|
1089
1622
|
}
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
function getConsole() {
|
|
1093
|
-
if (typeof console !== strShimUndefined) {
|
|
1094
|
-
return console;
|
|
1623
|
+
if (!signed) {
|
|
1624
|
+
value >>>= 0;
|
|
1095
1625
|
}
|
|
1096
|
-
return
|
|
1097
|
-
}
|
|
1098
|
-
function getPerformance() {
|
|
1099
|
-
return getGlobalInst(strPerformance);
|
|
1100
|
-
}
|
|
1101
|
-
function hasJSON() {
|
|
1102
|
-
return Boolean((typeof JSON === strShimObject && JSON) || getGlobalInst(strJSON) !== null);
|
|
1626
|
+
return value;
|
|
1103
1627
|
}
|
|
1104
|
-
function
|
|
1105
|
-
if (
|
|
1106
|
-
|
|
1628
|
+
function mwcRandomSeed(value) {
|
|
1629
|
+
if (!value) {
|
|
1630
|
+
_autoSeedMwc();
|
|
1107
1631
|
}
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
function getCrypto() {
|
|
1111
|
-
return getGlobalInst(strCrypto);
|
|
1112
|
-
}
|
|
1113
|
-
function getMsCrypto() {
|
|
1114
|
-
return getGlobalInst(strMsCrypto);
|
|
1115
|
-
}
|
|
1116
|
-
function isReactNative() {
|
|
1117
|
-
var nav = getNavigator();
|
|
1118
|
-
if (nav && nav.product) {
|
|
1119
|
-
return nav.product === strReactNative;
|
|
1632
|
+
else {
|
|
1633
|
+
_mwcSeed(value);
|
|
1120
1634
|
}
|
|
1121
|
-
return false;
|
|
1122
1635
|
}
|
|
1123
|
-
function
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1636
|
+
function mwcRandom32(signed) {
|
|
1637
|
+
_mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
|
|
1638
|
+
_mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
|
|
1639
|
+
var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
|
|
1640
|
+
if (!signed) {
|
|
1641
|
+
value >>>= 0;
|
|
1129
1642
|
}
|
|
1130
|
-
return
|
|
1643
|
+
return value;
|
|
1131
1644
|
}
|
|
1132
|
-
function
|
|
1133
|
-
if (
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
if (tridentVer) {
|
|
1146
|
-
return tridentVer + 4;
|
|
1645
|
+
function newId(maxLength) {
|
|
1646
|
+
if (maxLength === void 0) { maxLength = 22; }
|
|
1647
|
+
var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
1648
|
+
var number = random32() >>> 0;
|
|
1649
|
+
var chars = 0;
|
|
1650
|
+
var result = STR_EMPTY;
|
|
1651
|
+
while (result[_DYN_LENGTH ] < maxLength) {
|
|
1652
|
+
chars++;
|
|
1653
|
+
result += base64chars.charAt(number & 0x3F);
|
|
1654
|
+
number >>>= 6;
|
|
1655
|
+
if (chars === 5) {
|
|
1656
|
+
number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
|
|
1657
|
+
chars = 0;
|
|
1147
1658
|
}
|
|
1148
1659
|
}
|
|
1149
|
-
return
|
|
1150
|
-
}
|
|
1151
|
-
function dumpObj(object) {
|
|
1152
|
-
var objectTypeDump = Object[strShimPrototype].toString[_DYN_CALL ](object);
|
|
1153
|
-
var propertyValueDump = STR_EMPTY;
|
|
1154
|
-
if (objectTypeDump === "[object Error]") {
|
|
1155
|
-
propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object[_DYN_NAME ] + "'";
|
|
1156
|
-
}
|
|
1157
|
-
else if (hasJSON()) {
|
|
1158
|
-
propertyValueDump = getJSON().stringify(object);
|
|
1159
|
-
}
|
|
1160
|
-
return objectTypeDump + propertyValueDump;
|
|
1161
|
-
}
|
|
1162
|
-
function isSafari(userAgentStr) {
|
|
1163
|
-
if (!userAgentStr || !isString(userAgentStr)) {
|
|
1164
|
-
var navigator_2 = getNavigator() || {};
|
|
1165
|
-
userAgentStr = navigator_2 ? (navigator_2[_DYN_USER_AGENT ] || STR_EMPTY)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY;
|
|
1166
|
-
}
|
|
1167
|
-
var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
|
|
1168
|
-
return (ua[_DYN_INDEX_OF ]("safari") >= 0);
|
|
1169
|
-
}
|
|
1170
|
-
function isBeaconsSupported() {
|
|
1171
|
-
if (_beaconsSupported === null) {
|
|
1172
|
-
_beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);
|
|
1173
|
-
}
|
|
1174
|
-
return _beaconsSupported;
|
|
1660
|
+
return result;
|
|
1175
1661
|
}
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1662
|
+
|
|
1663
|
+
var _objDefineProperty = ObjDefineProperty;
|
|
1664
|
+
var version = "3.0.0-beta.2208-16";
|
|
1665
|
+
var instanceName = "." + newId(6);
|
|
1666
|
+
var _dataUid = 0;
|
|
1667
|
+
function _createAccessor(target, prop, value) {
|
|
1668
|
+
if (_objDefineProperty) {
|
|
1669
|
+
try {
|
|
1670
|
+
_objDefineProperty(target, prop, {
|
|
1671
|
+
value: value,
|
|
1672
|
+
enumerable: false,
|
|
1673
|
+
configurable: true
|
|
1674
|
+
});
|
|
1675
|
+
return true;
|
|
1183
1676
|
}
|
|
1184
|
-
|
|
1185
|
-
catch (e) {
|
|
1186
|
-
}
|
|
1187
|
-
return isSupported;
|
|
1188
|
-
}
|
|
1189
|
-
function useXDomainRequest() {
|
|
1190
|
-
if (_useXDomainRequest === null) {
|
|
1191
|
-
_useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);
|
|
1192
|
-
if (_useXDomainRequest && isXhrSupported()) {
|
|
1193
|
-
_useXDomainRequest = _useXDomainRequest && !_hasProperty(getGlobalInst(strXMLHttpRequest), "withCredentials");
|
|
1677
|
+
catch (e) {
|
|
1194
1678
|
}
|
|
1195
1679
|
}
|
|
1196
|
-
return
|
|
1680
|
+
return false;
|
|
1197
1681
|
}
|
|
1198
|
-
function
|
|
1199
|
-
|
|
1200
|
-
try {
|
|
1201
|
-
var xmlHttpRequest = getGlobalInst(strXMLHttpRequest);
|
|
1202
|
-
isSupported = !!xmlHttpRequest;
|
|
1203
|
-
}
|
|
1204
|
-
catch (e) {
|
|
1205
|
-
}
|
|
1206
|
-
return isSupported;
|
|
1682
|
+
function _canAcceptData(target) {
|
|
1683
|
+
return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
|
|
1207
1684
|
}
|
|
1208
|
-
function
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1685
|
+
function _getCache(data, target) {
|
|
1686
|
+
var theCache = target[data.id];
|
|
1687
|
+
if (!theCache) {
|
|
1688
|
+
theCache = {};
|
|
1689
|
+
try {
|
|
1690
|
+
if (_canAcceptData(target)) {
|
|
1691
|
+
if (!_createAccessor(target, data.id, theCache)) {
|
|
1692
|
+
target[data.id] = theCache;
|
|
1215
1693
|
}
|
|
1216
1694
|
}
|
|
1217
1695
|
}
|
|
1696
|
+
catch (e) {
|
|
1697
|
+
}
|
|
1218
1698
|
}
|
|
1219
|
-
return
|
|
1220
|
-
}
|
|
1221
|
-
function findMetaTag(name) {
|
|
1222
|
-
var doc = getDocument();
|
|
1223
|
-
if (doc && name) {
|
|
1224
|
-
return _getNamedValue(doc.querySelectorAll("meta"), name).content;
|
|
1225
|
-
}
|
|
1226
|
-
return null;
|
|
1699
|
+
return theCache;
|
|
1227
1700
|
}
|
|
1228
|
-
function
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
if (perf) {
|
|
1232
|
-
var navPerf = perf.getEntriesByType("navigation") || [];
|
|
1233
|
-
value = _getNamedValue((navPerf[_DYN_LENGTH ] > 0 ? navPerf[0] : {}).serverTiming, name).description;
|
|
1234
|
-
}
|
|
1235
|
-
return value;
|
|
1701
|
+
function createUniqueNamespace(name, includeVersion) {
|
|
1702
|
+
if (includeVersion === void 0) { includeVersion = false; }
|
|
1703
|
+
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
|
|
1236
1704
|
}
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1705
|
+
function createElmNodeData(name) {
|
|
1706
|
+
var data = {
|
|
1707
|
+
id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
|
|
1708
|
+
accept: function (target) {
|
|
1709
|
+
return _canAcceptData(target);
|
|
1710
|
+
},
|
|
1711
|
+
get: function (target, name, defValue, addDefault) {
|
|
1712
|
+
var theCache = target[data.id];
|
|
1713
|
+
if (!theCache) {
|
|
1714
|
+
if (addDefault) {
|
|
1715
|
+
theCache = _getCache(data, target);
|
|
1716
|
+
theCache[normalizeJsName(name)] = defValue;
|
|
1717
|
+
}
|
|
1718
|
+
return defValue;
|
|
1719
|
+
}
|
|
1720
|
+
return theCache[normalizeJsName(name)];
|
|
1721
|
+
},
|
|
1722
|
+
kill: function (target, name) {
|
|
1723
|
+
if (target && target[name]) {
|
|
1724
|
+
try {
|
|
1725
|
+
delete target[name];
|
|
1726
|
+
}
|
|
1727
|
+
catch (e) {
|
|
1728
|
+
}
|
|
1249
1729
|
}
|
|
1250
1730
|
}
|
|
1251
1731
|
};
|
|
1732
|
+
return data;
|
|
1252
1733
|
}
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
return _aiNamespace;
|
|
1734
|
+
|
|
1735
|
+
var Undefined = strShimUndefined;
|
|
1736
|
+
function newGuid() {
|
|
1737
|
+
var uuid = generateW3CId();
|
|
1738
|
+
return uuid[_DYN_SUBSTRING ](0, 8) + "-" + uuid[_DYN_SUBSTRING ](8, 12) + "-" + uuid[_DYN_SUBSTRING ](12, 16) + "-" + uuid[_DYN_SUBSTRING ](16, 20) + "-" + uuid[_DYN_SUBSTRING ](20);
|
|
1259
1739
|
}
|
|
1260
|
-
function
|
|
1261
|
-
var
|
|
1262
|
-
if (
|
|
1263
|
-
|
|
1740
|
+
function perfNow() {
|
|
1741
|
+
var perf = getPerformance();
|
|
1742
|
+
if (perf && perf.now) {
|
|
1743
|
+
return perf.now();
|
|
1264
1744
|
}
|
|
1265
|
-
return
|
|
1745
|
+
return dateNow();
|
|
1266
1746
|
}
|
|
1267
|
-
function
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1747
|
+
function generateW3CId() {
|
|
1748
|
+
var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
|
|
1749
|
+
var oct = STR_EMPTY, tmp;
|
|
1750
|
+
for (var a = 0; a < 4; a++) {
|
|
1751
|
+
tmp = random32();
|
|
1752
|
+
oct +=
|
|
1753
|
+
hexValues[tmp & 0xF] +
|
|
1754
|
+
hexValues[tmp >> 4 & 0xF] +
|
|
1755
|
+
hexValues[tmp >> 8 & 0xF] +
|
|
1756
|
+
hexValues[tmp >> 12 & 0xF] +
|
|
1757
|
+
hexValues[tmp >> 16 & 0xF] +
|
|
1758
|
+
hexValues[tmp >> 20 & 0xF] +
|
|
1759
|
+
hexValues[tmp >> 24 & 0xF] +
|
|
1760
|
+
hexValues[tmp >> 28 & 0xF];
|
|
1273
1761
|
}
|
|
1274
|
-
|
|
1762
|
+
var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
|
|
1763
|
+
return oct[_DYN_SUBSTR ](0, 8) + oct[_DYN_SUBSTR ](9, 4) + "4" + oct[_DYN_SUBSTR ](13, 3) + clockSequenceHi + oct[_DYN_SUBSTR ](16, 3) + oct[_DYN_SUBSTR ](19, 12);
|
|
1275
1764
|
}
|
|
1276
1765
|
|
|
1277
|
-
var
|
|
1278
|
-
var
|
|
1279
|
-
var
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1766
|
+
var TRACE_PARENT_REGEX = /^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]*)?$/;
|
|
1767
|
+
var DEFAULT_VERSION = "00";
|
|
1768
|
+
var INVALID_VERSION = "ff";
|
|
1769
|
+
var INVALID_TRACE_ID = "00000000000000000000000000000000";
|
|
1770
|
+
var INVALID_SPAN_ID = "0000000000000000";
|
|
1771
|
+
var SAMPLED_FLAG = 0x01;
|
|
1772
|
+
function _isValid(value, len, invalidValue) {
|
|
1773
|
+
if (value && value[_DYN_LENGTH ] === len && value !== invalidValue) {
|
|
1774
|
+
return !!value.match(/^[\da-f]*$/);
|
|
1283
1775
|
}
|
|
1284
|
-
return
|
|
1285
|
-
}
|
|
1286
|
-
function _logToConsole(func, message) {
|
|
1287
|
-
var theConsole = getConsole();
|
|
1288
|
-
if (!!theConsole) {
|
|
1289
|
-
var logFunc = "log";
|
|
1290
|
-
if (theConsole[func]) {
|
|
1291
|
-
logFunc = func;
|
|
1292
|
-
}
|
|
1293
|
-
if (isFunction(theConsole[logFunc])) {
|
|
1294
|
-
theConsole[logFunc](message);
|
|
1295
|
-
}
|
|
1296
|
-
}
|
|
1297
|
-
}
|
|
1298
|
-
var _InternalLogMessage = /** @class */ (function () {
|
|
1299
|
-
function _InternalLogMessage(msgId, msg, isUserAct, properties) {
|
|
1300
|
-
if (isUserAct === void 0) { isUserAct = false; }
|
|
1301
|
-
var _self = this;
|
|
1302
|
-
_self[_DYN_MESSAGE_ID ] = msgId;
|
|
1303
|
-
_self[_DYN_MESSAGE ] =
|
|
1304
|
-
(isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
|
|
1305
|
-
msgId;
|
|
1306
|
-
var strProps = STR_EMPTY;
|
|
1307
|
-
if (hasJSON()) {
|
|
1308
|
-
strProps = getJSON().stringify(properties);
|
|
1309
|
-
}
|
|
1310
|
-
var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
|
|
1311
|
-
(properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
|
|
1312
|
-
_self[_DYN_MESSAGE ] += diagnosticText;
|
|
1313
|
-
}
|
|
1314
|
-
_InternalLogMessage.dataType = "MessageData";
|
|
1315
|
-
return _InternalLogMessage;
|
|
1316
|
-
}());
|
|
1317
|
-
function safeGetLogger(core, config) {
|
|
1318
|
-
return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
|
|
1319
|
-
}
|
|
1320
|
-
var DiagnosticLogger = /** @class */ (function () {
|
|
1321
|
-
function DiagnosticLogger(config) {
|
|
1322
|
-
this.identifier = "DiagnosticLogger";
|
|
1323
|
-
this.queue = [];
|
|
1324
|
-
var _messageCount = 0;
|
|
1325
|
-
var _messageLogged = {};
|
|
1326
|
-
var _loggingLevelConsole;
|
|
1327
|
-
var _loggingLevelTelemetry;
|
|
1328
|
-
var _maxInternalMessageLimit;
|
|
1329
|
-
var _enableDebugExceptions;
|
|
1330
|
-
dynamicProto(DiagnosticLogger, this, function (_self) {
|
|
1331
|
-
_setDefaultsFromConfig(config || {});
|
|
1332
|
-
_self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
|
|
1333
|
-
_self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };
|
|
1334
|
-
_self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
|
|
1335
|
-
_self[_DYN_ENABLE_DEBUG_EXCEPTI4 ] = function () { return _enableDebugExceptions; };
|
|
1336
|
-
_self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
|
|
1337
|
-
if (isUserAct === void 0) { isUserAct = false; }
|
|
1338
|
-
var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
|
|
1339
|
-
if (_enableDebugExceptions) {
|
|
1340
|
-
throw dumpObj(message);
|
|
1341
|
-
}
|
|
1342
|
-
else {
|
|
1343
|
-
var logFunc = severity === 1 ? STR_ERROR_TO_CONSOLE : STR_WARN_TO_CONSOLE;
|
|
1344
|
-
if (!isUndefined(message[_DYN_MESSAGE ])) {
|
|
1345
|
-
if (isUserAct) {
|
|
1346
|
-
var messageKey = +message[_DYN_MESSAGE_ID ];
|
|
1347
|
-
if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
|
|
1348
|
-
_self[logFunc](message[_DYN_MESSAGE ]);
|
|
1349
|
-
_messageLogged[messageKey] = true;
|
|
1350
|
-
}
|
|
1351
|
-
}
|
|
1352
|
-
else {
|
|
1353
|
-
if (_loggingLevelConsole >= severity) {
|
|
1354
|
-
_self[logFunc](message[_DYN_MESSAGE ]);
|
|
1355
|
-
}
|
|
1356
|
-
}
|
|
1357
|
-
_logInternalMessage(severity, message);
|
|
1358
|
-
}
|
|
1359
|
-
else {
|
|
1360
|
-
_debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
|
|
1361
|
-
}
|
|
1362
|
-
}
|
|
1363
|
-
};
|
|
1364
|
-
_self[STR_WARN_TO_CONSOLE ] = function (message) {
|
|
1365
|
-
_logToConsole("warn", message);
|
|
1366
|
-
_debugExtMsg("warning", message);
|
|
1367
|
-
};
|
|
1368
|
-
_self[STR_ERROR_TO_CONSOLE ] = function (message) {
|
|
1369
|
-
_logToConsole("error", message);
|
|
1370
|
-
_debugExtMsg("error", message);
|
|
1371
|
-
};
|
|
1372
|
-
_self.resetInternalMessageCount = function () {
|
|
1373
|
-
_messageCount = 0;
|
|
1374
|
-
_messageLogged = {};
|
|
1375
|
-
};
|
|
1376
|
-
_self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
|
|
1377
|
-
function _logInternalMessage(severity, message) {
|
|
1378
|
-
if (_areInternalMessagesThrottled()) {
|
|
1379
|
-
return;
|
|
1380
|
-
}
|
|
1381
|
-
var logMessage = true;
|
|
1382
|
-
var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
|
|
1383
|
-
if (_messageLogged[messageKey]) {
|
|
1384
|
-
logMessage = false;
|
|
1385
|
-
}
|
|
1386
|
-
else {
|
|
1387
|
-
_messageLogged[messageKey] = true;
|
|
1388
|
-
}
|
|
1389
|
-
if (logMessage) {
|
|
1390
|
-
if (severity <= _loggingLevelTelemetry) {
|
|
1391
|
-
_self.queue[_DYN_PUSH ](message);
|
|
1392
|
-
_messageCount++;
|
|
1393
|
-
_debugExtMsg((severity === 1 ? "error" : "warn"), message);
|
|
1394
|
-
}
|
|
1395
|
-
if (_messageCount === _maxInternalMessageLimit) {
|
|
1396
|
-
var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
|
|
1397
|
-
var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
|
|
1398
|
-
_self.queue[_DYN_PUSH ](throttleMessage);
|
|
1399
|
-
if (severity === 1 ) {
|
|
1400
|
-
_self[STR_ERROR_TO_CONSOLE ](throttleLimitMessage);
|
|
1401
|
-
}
|
|
1402
|
-
else {
|
|
1403
|
-
_self[STR_WARN_TO_CONSOLE ](throttleLimitMessage);
|
|
1404
|
-
}
|
|
1405
|
-
}
|
|
1406
|
-
}
|
|
1407
|
-
}
|
|
1408
|
-
function _setDefaultsFromConfig(config) {
|
|
1409
|
-
_loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);
|
|
1410
|
-
_loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);
|
|
1411
|
-
_maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);
|
|
1412
|
-
_enableDebugExceptions = getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 ], false);
|
|
1413
|
-
}
|
|
1414
|
-
function _areInternalMessagesThrottled() {
|
|
1415
|
-
return _messageCount >= _maxInternalMessageLimit;
|
|
1416
|
-
}
|
|
1417
|
-
function _debugExtMsg(name, data) {
|
|
1418
|
-
var dbgExt = getDebugExt(config || {});
|
|
1419
|
-
if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
|
|
1420
|
-
dbgExt[_DYN_DIAG_LOG ](name, data);
|
|
1421
|
-
}
|
|
1422
|
-
}
|
|
1423
|
-
});
|
|
1424
|
-
}
|
|
1425
|
-
DiagnosticLogger.__ieDyn=1;
|
|
1426
|
-
return DiagnosticLogger;
|
|
1427
|
-
}());
|
|
1428
|
-
function _getLogger(logger) {
|
|
1429
|
-
return (logger || new DiagnosticLogger());
|
|
1430
|
-
}
|
|
1431
|
-
function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
|
|
1432
|
-
if (isUserAct === void 0) { isUserAct = false; }
|
|
1433
|
-
_getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);
|
|
1434
|
-
}
|
|
1435
|
-
function _warnToConsole(logger, message) {
|
|
1436
|
-
_getLogger(logger)[STR_WARN_TO_CONSOLE ](message);
|
|
1437
|
-
}
|
|
1438
|
-
function _logInternalMessage(logger, severity, message) {
|
|
1439
|
-
_getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
|
|
1440
|
-
}
|
|
1441
|
-
|
|
1442
|
-
var strExecutionContextKey = "ctx";
|
|
1443
|
-
var strParentContextKey = "ParentContextKey";
|
|
1444
|
-
var strChildrenContextKey = "ChildrenContextKey";
|
|
1445
|
-
var _defaultPerfManager = null;
|
|
1446
|
-
var PerfEvent = /** @class */ (function () {
|
|
1447
|
-
function PerfEvent(name, payloadDetails, isAsync) {
|
|
1448
|
-
var _self = this;
|
|
1449
|
-
var accessorDefined = false;
|
|
1450
|
-
_self.start = dateNow();
|
|
1451
|
-
_self[_DYN_NAME ] = name;
|
|
1452
|
-
_self[_DYN_IS_ASYNC ] = isAsync;
|
|
1453
|
-
_self[_DYN_IS_CHILD_EVT ] = function () { return false; };
|
|
1454
|
-
if (isFunction(payloadDetails)) {
|
|
1455
|
-
var theDetails_1;
|
|
1456
|
-
accessorDefined = objDefineAccessors(_self, "payload", function () {
|
|
1457
|
-
if (!theDetails_1 && isFunction(payloadDetails)) {
|
|
1458
|
-
theDetails_1 = payloadDetails();
|
|
1459
|
-
payloadDetails = null;
|
|
1460
|
-
}
|
|
1461
|
-
return theDetails_1;
|
|
1462
|
-
});
|
|
1463
|
-
}
|
|
1464
|
-
_self[_DYN_GET_CTX ] = function (key) {
|
|
1465
|
-
if (key) {
|
|
1466
|
-
if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {
|
|
1467
|
-
return _self[key];
|
|
1468
|
-
}
|
|
1469
|
-
return (_self[strExecutionContextKey] || {})[key];
|
|
1470
|
-
}
|
|
1471
|
-
return null;
|
|
1472
|
-
};
|
|
1473
|
-
_self[_DYN_SET_CTX ] = function (key, value) {
|
|
1474
|
-
if (key) {
|
|
1475
|
-
if (key === PerfEvent[strParentContextKey]) {
|
|
1476
|
-
if (!_self[key]) {
|
|
1477
|
-
_self[_DYN_IS_CHILD_EVT ] = function () { return true; };
|
|
1478
|
-
}
|
|
1479
|
-
_self[key] = value;
|
|
1480
|
-
}
|
|
1481
|
-
else if (key === PerfEvent[strChildrenContextKey]) {
|
|
1482
|
-
_self[key] = value;
|
|
1483
|
-
}
|
|
1484
|
-
else {
|
|
1485
|
-
var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};
|
|
1486
|
-
ctx[key] = value;
|
|
1487
|
-
}
|
|
1488
|
-
}
|
|
1489
|
-
};
|
|
1490
|
-
_self[_DYN_COMPLETE ] = function () {
|
|
1491
|
-
var childTime = 0;
|
|
1492
|
-
var childEvts = _self[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
|
|
1493
|
-
if (isArray(childEvts)) {
|
|
1494
|
-
for (var lp = 0; lp < childEvts[_DYN_LENGTH ]; lp++) {
|
|
1495
|
-
var childEvt = childEvts[lp];
|
|
1496
|
-
if (childEvt) {
|
|
1497
|
-
childTime += childEvt[_DYN_TIME ];
|
|
1498
|
-
}
|
|
1499
|
-
}
|
|
1500
|
-
}
|
|
1501
|
-
_self[_DYN_TIME ] = dateNow() - _self.start;
|
|
1502
|
-
_self.exTime = _self[_DYN_TIME ] - childTime;
|
|
1503
|
-
_self[_DYN_COMPLETE ] = function () { };
|
|
1504
|
-
if (!accessorDefined && isFunction(payloadDetails)) {
|
|
1505
|
-
_self.payload = payloadDetails();
|
|
1506
|
-
}
|
|
1507
|
-
};
|
|
1508
|
-
}
|
|
1509
|
-
PerfEvent.ParentContextKey = "parent";
|
|
1510
|
-
PerfEvent.ChildrenContextKey = "childEvts";
|
|
1511
|
-
return PerfEvent;
|
|
1512
|
-
}());
|
|
1513
|
-
var PerfManager = /** @class */ (function () {
|
|
1514
|
-
function PerfManager(manager) {
|
|
1515
|
-
this.ctx = {};
|
|
1516
|
-
dynamicProto(PerfManager, this, function (_self) {
|
|
1517
|
-
_self.create = function (src, payloadDetails, isAsync) {
|
|
1518
|
-
return new PerfEvent(src, payloadDetails, isAsync);
|
|
1519
|
-
};
|
|
1520
|
-
_self.fire = function (perfEvent) {
|
|
1521
|
-
if (perfEvent) {
|
|
1522
|
-
perfEvent[_DYN_COMPLETE ]();
|
|
1523
|
-
if (manager && isFunction(manager[STR_PERF_EVENT ])) {
|
|
1524
|
-
manager[STR_PERF_EVENT ](perfEvent);
|
|
1525
|
-
}
|
|
1526
|
-
}
|
|
1527
|
-
};
|
|
1528
|
-
_self[_DYN_SET_CTX ] = function (key, value) {
|
|
1529
|
-
if (key) {
|
|
1530
|
-
var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};
|
|
1531
|
-
ctx[key] = value;
|
|
1532
|
-
}
|
|
1533
|
-
};
|
|
1534
|
-
_self[_DYN_GET_CTX ] = function (key) {
|
|
1535
|
-
return (_self[strExecutionContextKey] || {})[key];
|
|
1536
|
-
};
|
|
1537
|
-
});
|
|
1538
|
-
}
|
|
1539
|
-
PerfManager.__ieDyn=1;
|
|
1540
|
-
return PerfManager;
|
|
1541
|
-
}());
|
|
1542
|
-
var doPerfActiveKey = "CoreUtils.doPerf";
|
|
1543
|
-
function doPerf(mgrSource, getSource, func, details, isAsync) {
|
|
1544
|
-
if (mgrSource) {
|
|
1545
|
-
var perfMgr = mgrSource;
|
|
1546
|
-
if (perfMgr[STR_GET_PERF_MGR]) {
|
|
1547
|
-
perfMgr = perfMgr[STR_GET_PERF_MGR]();
|
|
1548
|
-
}
|
|
1549
|
-
if (perfMgr) {
|
|
1550
|
-
var perfEvt = void 0;
|
|
1551
|
-
var currentActive = perfMgr[_DYN_GET_CTX ](doPerfActiveKey);
|
|
1552
|
-
try {
|
|
1553
|
-
perfEvt = perfMgr.create(getSource(), details, isAsync);
|
|
1554
|
-
if (perfEvt) {
|
|
1555
|
-
if (currentActive && perfEvt[_DYN_SET_CTX ]) {
|
|
1556
|
-
perfEvt[_DYN_SET_CTX ](PerfEvent[strParentContextKey], currentActive);
|
|
1557
|
-
if (currentActive[_DYN_GET_CTX ] && currentActive[_DYN_SET_CTX ]) {
|
|
1558
|
-
var children = currentActive[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
|
|
1559
|
-
if (!children) {
|
|
1560
|
-
children = [];
|
|
1561
|
-
currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
|
|
1562
|
-
}
|
|
1563
|
-
children[_DYN_PUSH ](perfEvt);
|
|
1564
|
-
}
|
|
1565
|
-
}
|
|
1566
|
-
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
|
|
1567
|
-
return func(perfEvt);
|
|
1568
|
-
}
|
|
1569
|
-
}
|
|
1570
|
-
catch (ex) {
|
|
1571
|
-
if (perfEvt && perfEvt[_DYN_SET_CTX ]) {
|
|
1572
|
-
perfEvt[_DYN_SET_CTX ]("exception", ex);
|
|
1573
|
-
}
|
|
1574
|
-
}
|
|
1575
|
-
finally {
|
|
1576
|
-
if (perfEvt) {
|
|
1577
|
-
perfMgr.fire(perfEvt);
|
|
1578
|
-
}
|
|
1579
|
-
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, currentActive);
|
|
1580
|
-
}
|
|
1581
|
-
}
|
|
1582
|
-
}
|
|
1583
|
-
return func();
|
|
1584
|
-
}
|
|
1585
|
-
function setGblPerfMgr(perfManager) {
|
|
1586
|
-
_defaultPerfManager = perfManager;
|
|
1587
|
-
}
|
|
1588
|
-
function getGblPerfMgr() {
|
|
1589
|
-
return _defaultPerfManager;
|
|
1590
|
-
}
|
|
1591
|
-
|
|
1592
|
-
var UInt32Mask = 0x100000000;
|
|
1593
|
-
var MaxUInt32 = 0xffffffff;
|
|
1594
|
-
var _mwcSeeded = false;
|
|
1595
|
-
var _mwcW = 123456789;
|
|
1596
|
-
var _mwcZ = 987654321;
|
|
1597
|
-
function _mwcSeed(seedValue) {
|
|
1598
|
-
if (seedValue < 0) {
|
|
1599
|
-
seedValue >>>= 0;
|
|
1600
|
-
}
|
|
1601
|
-
_mwcW = (123456789 + seedValue) & MaxUInt32;
|
|
1602
|
-
_mwcZ = (987654321 - seedValue) & MaxUInt32;
|
|
1603
|
-
_mwcSeeded = true;
|
|
1604
|
-
}
|
|
1605
|
-
function _autoSeedMwc() {
|
|
1606
|
-
try {
|
|
1607
|
-
var now = dateNow() & 0x7fffffff;
|
|
1608
|
-
_mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
|
|
1609
|
-
}
|
|
1610
|
-
catch (e) {
|
|
1611
|
-
}
|
|
1612
|
-
}
|
|
1613
|
-
function randomValue(maxValue) {
|
|
1614
|
-
if (maxValue > 0) {
|
|
1615
|
-
return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;
|
|
1616
|
-
}
|
|
1617
|
-
return 0;
|
|
1618
|
-
}
|
|
1619
|
-
function random32(signed) {
|
|
1620
|
-
var value = 0;
|
|
1621
|
-
var c = getCrypto() || getMsCrypto();
|
|
1622
|
-
if (c && c.getRandomValues) {
|
|
1623
|
-
value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
|
|
1624
|
-
}
|
|
1625
|
-
if (value === 0 && isIE()) {
|
|
1626
|
-
if (!_mwcSeeded) {
|
|
1627
|
-
_autoSeedMwc();
|
|
1628
|
-
}
|
|
1629
|
-
value = mwcRandom32() & MaxUInt32;
|
|
1630
|
-
}
|
|
1631
|
-
if (value === 0) {
|
|
1632
|
-
value = Math.floor((UInt32Mask * Math.random()) | 0);
|
|
1633
|
-
}
|
|
1634
|
-
if (!signed) {
|
|
1635
|
-
value >>>= 0;
|
|
1636
|
-
}
|
|
1637
|
-
return value;
|
|
1638
|
-
}
|
|
1639
|
-
function mwcRandomSeed(value) {
|
|
1640
|
-
if (!value) {
|
|
1641
|
-
_autoSeedMwc();
|
|
1642
|
-
}
|
|
1643
|
-
else {
|
|
1644
|
-
_mwcSeed(value);
|
|
1645
|
-
}
|
|
1646
|
-
}
|
|
1647
|
-
function mwcRandom32(signed) {
|
|
1648
|
-
_mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
|
|
1649
|
-
_mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
|
|
1650
|
-
var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
|
|
1651
|
-
if (!signed) {
|
|
1652
|
-
value >>>= 0;
|
|
1653
|
-
}
|
|
1654
|
-
return value;
|
|
1655
|
-
}
|
|
1656
|
-
function newId(maxLength) {
|
|
1657
|
-
if (maxLength === void 0) { maxLength = 22; }
|
|
1658
|
-
var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
1659
|
-
var number = random32() >>> 0;
|
|
1660
|
-
var chars = 0;
|
|
1661
|
-
var result = STR_EMPTY;
|
|
1662
|
-
while (result[_DYN_LENGTH ] < maxLength) {
|
|
1663
|
-
chars++;
|
|
1664
|
-
result += base64chars.charAt(number & 0x3F);
|
|
1665
|
-
number >>>= 6;
|
|
1666
|
-
if (chars === 5) {
|
|
1667
|
-
number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
|
|
1668
|
-
chars = 0;
|
|
1669
|
-
}
|
|
1670
|
-
}
|
|
1671
|
-
return result;
|
|
1672
|
-
}
|
|
1673
|
-
|
|
1674
|
-
var _objDefineProperty = ObjDefineProperty;
|
|
1675
|
-
var version = "3.0.0-beta.2208-03";
|
|
1676
|
-
var instanceName = "." + newId(6);
|
|
1677
|
-
var _dataUid = 0;
|
|
1678
|
-
function _createAccessor(target, prop, value) {
|
|
1679
|
-
if (_objDefineProperty) {
|
|
1680
|
-
try {
|
|
1681
|
-
_objDefineProperty(target, prop, {
|
|
1682
|
-
value: value,
|
|
1683
|
-
enumerable: false,
|
|
1684
|
-
configurable: true
|
|
1685
|
-
});
|
|
1686
|
-
return true;
|
|
1687
|
-
}
|
|
1688
|
-
catch (e) {
|
|
1689
|
-
}
|
|
1690
|
-
}
|
|
1691
|
-
return false;
|
|
1692
|
-
}
|
|
1693
|
-
function _canAcceptData(target) {
|
|
1694
|
-
return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
|
|
1695
|
-
}
|
|
1696
|
-
function _getCache(data, target) {
|
|
1697
|
-
var theCache = target[data.id];
|
|
1698
|
-
if (!theCache) {
|
|
1699
|
-
theCache = {};
|
|
1700
|
-
try {
|
|
1701
|
-
if (_canAcceptData(target)) {
|
|
1702
|
-
if (!_createAccessor(target, data.id, theCache)) {
|
|
1703
|
-
target[data.id] = theCache;
|
|
1704
|
-
}
|
|
1705
|
-
}
|
|
1706
|
-
}
|
|
1707
|
-
catch (e) {
|
|
1708
|
-
}
|
|
1709
|
-
}
|
|
1710
|
-
return theCache;
|
|
1711
|
-
}
|
|
1712
|
-
function createUniqueNamespace(name, includeVersion) {
|
|
1713
|
-
if (includeVersion === void 0) { includeVersion = false; }
|
|
1714
|
-
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
|
|
1715
|
-
}
|
|
1716
|
-
function createElmNodeData(name) {
|
|
1717
|
-
var data = {
|
|
1718
|
-
id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
|
|
1719
|
-
accept: function (target) {
|
|
1720
|
-
return _canAcceptData(target);
|
|
1721
|
-
},
|
|
1722
|
-
get: function (target, name, defValue, addDefault) {
|
|
1723
|
-
var theCache = target[data.id];
|
|
1724
|
-
if (!theCache) {
|
|
1725
|
-
if (addDefault) {
|
|
1726
|
-
theCache = _getCache(data, target);
|
|
1727
|
-
theCache[normalizeJsName(name)] = defValue;
|
|
1728
|
-
}
|
|
1729
|
-
return defValue;
|
|
1730
|
-
}
|
|
1731
|
-
return theCache[normalizeJsName(name)];
|
|
1732
|
-
},
|
|
1733
|
-
kill: function (target, name) {
|
|
1734
|
-
if (target && target[name]) {
|
|
1735
|
-
try {
|
|
1736
|
-
delete target[name];
|
|
1737
|
-
}
|
|
1738
|
-
catch (e) {
|
|
1739
|
-
}
|
|
1740
|
-
}
|
|
1741
|
-
}
|
|
1742
|
-
};
|
|
1743
|
-
return data;
|
|
1744
|
-
}
|
|
1745
|
-
|
|
1746
|
-
var strToGMTString = "toGMTString";
|
|
1747
|
-
var strToUTCString = "toUTCString";
|
|
1748
|
-
var strCookie = "cookie";
|
|
1749
|
-
var strExpires = "expires";
|
|
1750
|
-
var strEnabled = "enabled";
|
|
1751
|
-
var strIsCookieUseDisabled = "isCookieUseDisabled";
|
|
1752
|
-
var strDisableCookiesUsage = "disableCookiesUsage";
|
|
1753
|
-
var strConfigCookieMgr = "_ckMgr";
|
|
1754
|
-
var _supportsCookies = null;
|
|
1755
|
-
var _allowUaSameSite = null;
|
|
1756
|
-
var _parsedCookieValue = null;
|
|
1757
|
-
var _doc = getDocument();
|
|
1758
|
-
var _cookieCache = {};
|
|
1759
|
-
var _globalCookieConfig = {};
|
|
1760
|
-
function _gblCookieMgr(config, logger) {
|
|
1761
|
-
var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
|
|
1762
|
-
if (!inst) {
|
|
1763
|
-
inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);
|
|
1764
|
-
_globalCookieConfig[strConfigCookieMgr] = inst;
|
|
1765
|
-
}
|
|
1766
|
-
return inst;
|
|
1767
|
-
}
|
|
1768
|
-
function _isMgrEnabled(cookieMgr) {
|
|
1769
|
-
if (cookieMgr) {
|
|
1770
|
-
return cookieMgr.isEnabled();
|
|
1771
|
-
}
|
|
1772
|
-
return true;
|
|
1773
|
-
}
|
|
1774
|
-
function _createCookieMgrConfig(rootConfig) {
|
|
1775
|
-
var cookieMgrCfg = rootConfig[_DYN_COOKIE_CFG ] = rootConfig[_DYN_COOKIE_CFG ] || {};
|
|
1776
|
-
setValue(cookieMgrCfg, "domain", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);
|
|
1777
|
-
setValue(cookieMgrCfg, "path", rootConfig.cookiePath || "/", null, isNullOrUndefined);
|
|
1778
|
-
if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {
|
|
1779
|
-
var cookieEnabled = void 0;
|
|
1780
|
-
if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
|
|
1781
|
-
cookieEnabled = !rootConfig[strIsCookieUseDisabled];
|
|
1782
|
-
}
|
|
1783
|
-
if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
|
|
1784
|
-
cookieEnabled = !rootConfig[strDisableCookiesUsage];
|
|
1785
|
-
}
|
|
1786
|
-
cookieMgrCfg[strEnabled] = cookieEnabled;
|
|
1787
|
-
}
|
|
1788
|
-
return cookieMgrCfg;
|
|
1789
|
-
}
|
|
1790
|
-
function safeGetCookieMgr(core, config) {
|
|
1791
|
-
var cookieMgr;
|
|
1792
|
-
if (core) {
|
|
1793
|
-
cookieMgr = core.getCookieMgr();
|
|
1794
|
-
}
|
|
1795
|
-
else if (config) {
|
|
1796
|
-
var cookieCfg = config[_DYN_COOKIE_CFG ];
|
|
1797
|
-
if (cookieCfg[strConfigCookieMgr]) {
|
|
1798
|
-
cookieMgr = cookieCfg[strConfigCookieMgr];
|
|
1799
|
-
}
|
|
1800
|
-
else {
|
|
1801
|
-
cookieMgr = createCookieMgr(config);
|
|
1802
|
-
}
|
|
1803
|
-
}
|
|
1804
|
-
if (!cookieMgr) {
|
|
1805
|
-
cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER ]);
|
|
1806
|
-
}
|
|
1807
|
-
return cookieMgr;
|
|
1808
|
-
}
|
|
1809
|
-
function createCookieMgr(rootConfig, logger) {
|
|
1810
|
-
var _a;
|
|
1811
|
-
var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);
|
|
1812
|
-
var _path = cookieMgrConfig.path || "/";
|
|
1813
|
-
var _domain = cookieMgrConfig.domain;
|
|
1814
|
-
var _enabled = cookieMgrConfig[strEnabled] !== false;
|
|
1815
|
-
var cookieMgr = (_a = {
|
|
1816
|
-
isEnabled: function () {
|
|
1817
|
-
var enabled = _enabled && areCookiesSupported(logger);
|
|
1818
|
-
var gblManager = _globalCookieConfig[strConfigCookieMgr];
|
|
1819
|
-
if (enabled && gblManager && cookieMgr !== gblManager) {
|
|
1820
|
-
enabled = _isMgrEnabled(gblManager);
|
|
1821
|
-
}
|
|
1822
|
-
return enabled;
|
|
1823
|
-
}
|
|
1824
|
-
},
|
|
1825
|
-
_a[_DYN_SET_ENABLED ] = function (value) {
|
|
1826
|
-
_enabled = value !== false;
|
|
1827
|
-
},
|
|
1828
|
-
_a.set = function (name, value, maxAgeSec, domain, path) {
|
|
1829
|
-
var result = false;
|
|
1830
|
-
if (_isMgrEnabled(cookieMgr)) {
|
|
1831
|
-
var values = {};
|
|
1832
|
-
var theValue = strTrim(value || STR_EMPTY);
|
|
1833
|
-
var idx = theValue[_DYN_INDEX_OF ](";");
|
|
1834
|
-
if (idx !== -1) {
|
|
1835
|
-
theValue = strTrim(value[_DYN_SUBSTRING ](0, idx));
|
|
1836
|
-
values = _extractParts(value[_DYN_SUBSTRING ](idx + 1));
|
|
1837
|
-
}
|
|
1838
|
-
setValue(values, "domain", domain || _domain, isTruthy, isUndefined);
|
|
1839
|
-
if (!isNullOrUndefined(maxAgeSec)) {
|
|
1840
|
-
var _isIE = isIE();
|
|
1841
|
-
if (isUndefined(values[strExpires])) {
|
|
1842
|
-
var nowMs = dateNow();
|
|
1843
|
-
var expireMs = nowMs + (maxAgeSec * 1000);
|
|
1844
|
-
if (expireMs > 0) {
|
|
1845
|
-
var expiry = new Date();
|
|
1846
|
-
expiry.setTime(expireMs);
|
|
1847
|
-
setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);
|
|
1848
|
-
}
|
|
1849
|
-
}
|
|
1850
|
-
if (!_isIE) {
|
|
1851
|
-
setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
|
|
1852
|
-
}
|
|
1853
|
-
}
|
|
1854
|
-
var location_1 = getLocation();
|
|
1855
|
-
if (location_1 && location_1.protocol === "https:") {
|
|
1856
|
-
setValue(values, "secure", null, null, isUndefined);
|
|
1857
|
-
if (_allowUaSameSite === null) {
|
|
1858
|
-
_allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
|
|
1859
|
-
}
|
|
1860
|
-
if (_allowUaSameSite) {
|
|
1861
|
-
setValue(values, "SameSite", "None", null, isUndefined);
|
|
1862
|
-
}
|
|
1863
|
-
}
|
|
1864
|
-
setValue(values, "path", path || _path, null, isUndefined);
|
|
1865
|
-
var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
|
|
1866
|
-
setCookieFn(name, _formatCookieValue(theValue, values));
|
|
1867
|
-
result = true;
|
|
1868
|
-
}
|
|
1869
|
-
return result;
|
|
1870
|
-
},
|
|
1871
|
-
_a.get = function (name) {
|
|
1872
|
-
var value = STR_EMPTY;
|
|
1873
|
-
if (_isMgrEnabled(cookieMgr)) {
|
|
1874
|
-
value = (cookieMgrConfig.getCookie || _getCookieValue)(name);
|
|
1875
|
-
}
|
|
1876
|
-
return value;
|
|
1877
|
-
},
|
|
1878
|
-
_a.del = function (name, path) {
|
|
1879
|
-
var result = false;
|
|
1880
|
-
if (_isMgrEnabled(cookieMgr)) {
|
|
1881
|
-
result = cookieMgr.purge(name, path);
|
|
1882
|
-
}
|
|
1883
|
-
return result;
|
|
1884
|
-
},
|
|
1885
|
-
_a.purge = function (name, path) {
|
|
1886
|
-
var _a;
|
|
1887
|
-
var result = false;
|
|
1888
|
-
if (areCookiesSupported(logger)) {
|
|
1889
|
-
var values = (_a = {},
|
|
1890
|
-
_a["path"] = path ? path : "/",
|
|
1891
|
-
_a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
|
|
1892
|
-
_a);
|
|
1893
|
-
if (!isIE()) {
|
|
1894
|
-
values["max-age"] = "0";
|
|
1895
|
-
}
|
|
1896
|
-
var delCookie = cookieMgrConfig.delCookie || _setCookieValue;
|
|
1897
|
-
delCookie(name, _formatCookieValue(STR_EMPTY, values));
|
|
1898
|
-
result = true;
|
|
1899
|
-
}
|
|
1900
|
-
return result;
|
|
1901
|
-
},
|
|
1902
|
-
_a);
|
|
1903
|
-
cookieMgr[strConfigCookieMgr] = cookieMgr;
|
|
1904
|
-
return cookieMgr;
|
|
1905
|
-
}
|
|
1906
|
-
function areCookiesSupported(logger) {
|
|
1907
|
-
if (_supportsCookies === null) {
|
|
1908
|
-
_supportsCookies = false;
|
|
1909
|
-
try {
|
|
1910
|
-
var doc = _doc || {};
|
|
1911
|
-
_supportsCookies = doc[strCookie] !== undefined;
|
|
1912
|
-
}
|
|
1913
|
-
catch (e) {
|
|
1914
|
-
_throwInternal(logger, 2 , 68 , "Cannot access document.cookie - " + getExceptionName(e), { exception: dumpObj(e) });
|
|
1915
|
-
}
|
|
1916
|
-
}
|
|
1917
|
-
return _supportsCookies;
|
|
1918
|
-
}
|
|
1919
|
-
function _extractParts(theValue) {
|
|
1920
|
-
var values = {};
|
|
1921
|
-
if (theValue && theValue[_DYN_LENGTH ]) {
|
|
1922
|
-
var parts = strTrim(theValue)[_DYN_SPLIT ](";");
|
|
1923
|
-
arrForEach(parts, function (thePart) {
|
|
1924
|
-
thePart = strTrim(thePart || STR_EMPTY);
|
|
1925
|
-
if (thePart) {
|
|
1926
|
-
var idx = thePart[_DYN_INDEX_OF ]("=");
|
|
1927
|
-
if (idx === -1) {
|
|
1928
|
-
values[thePart] = null;
|
|
1929
|
-
}
|
|
1930
|
-
else {
|
|
1931
|
-
values[strTrim(thePart[_DYN_SUBSTRING ](0, idx))] = strTrim(thePart[_DYN_SUBSTRING ](idx + 1));
|
|
1932
|
-
}
|
|
1933
|
-
}
|
|
1934
|
-
});
|
|
1935
|
-
}
|
|
1936
|
-
return values;
|
|
1937
|
-
}
|
|
1938
|
-
function _formatDate(theDate, func) {
|
|
1939
|
-
if (isFunction(theDate[func])) {
|
|
1940
|
-
return theDate[func]();
|
|
1941
|
-
}
|
|
1942
|
-
return null;
|
|
1943
|
-
}
|
|
1944
|
-
function _formatCookieValue(value, values) {
|
|
1945
|
-
var cookieValue = value || STR_EMPTY;
|
|
1946
|
-
objForEachKey(values, function (name, theValue) {
|
|
1947
|
-
cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY);
|
|
1948
|
-
});
|
|
1949
|
-
return cookieValue;
|
|
1950
|
-
}
|
|
1951
|
-
function _getCookieValue(name) {
|
|
1952
|
-
var cookieValue = STR_EMPTY;
|
|
1953
|
-
if (_doc) {
|
|
1954
|
-
var theCookie = _doc[strCookie] || STR_EMPTY;
|
|
1955
|
-
if (_parsedCookieValue !== theCookie) {
|
|
1956
|
-
_cookieCache = _extractParts(theCookie);
|
|
1957
|
-
_parsedCookieValue = theCookie;
|
|
1958
|
-
}
|
|
1959
|
-
cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);
|
|
1960
|
-
}
|
|
1961
|
-
return cookieValue;
|
|
1962
|
-
}
|
|
1963
|
-
function _setCookieValue(name, cookieValue) {
|
|
1964
|
-
if (_doc) {
|
|
1965
|
-
_doc[strCookie] = name + "=" + cookieValue;
|
|
1966
|
-
}
|
|
1967
|
-
}
|
|
1968
|
-
function uaDisallowsSameSiteNone(userAgent) {
|
|
1969
|
-
if (!isString(userAgent)) {
|
|
1970
|
-
return false;
|
|
1971
|
-
}
|
|
1972
|
-
if (strContains(userAgent, "CPU iPhone OS 12") || strContains(userAgent, "iPad; CPU OS 12")) {
|
|
1973
|
-
return true;
|
|
1974
|
-
}
|
|
1975
|
-
if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strContains(userAgent, "Version/") && strContains(userAgent, "Safari")) {
|
|
1976
|
-
return true;
|
|
1977
|
-
}
|
|
1978
|
-
if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strEndsWith(userAgent, "AppleWebKit/605.1.15 (KHTML, like Gecko)")) {
|
|
1979
|
-
return true;
|
|
1980
|
-
}
|
|
1981
|
-
if (strContains(userAgent, "Chrome/5") || strContains(userAgent, "Chrome/6")) {
|
|
1982
|
-
return true;
|
|
1983
|
-
}
|
|
1984
|
-
if (strContains(userAgent, "UnrealEngine") && !strContains(userAgent, "Chrome")) {
|
|
1985
|
-
return true;
|
|
1986
|
-
}
|
|
1987
|
-
if (strContains(userAgent, "UCBrowser/12") || strContains(userAgent, "UCBrowser/11")) {
|
|
1988
|
-
return true;
|
|
1989
|
-
}
|
|
1990
|
-
return false;
|
|
1991
|
-
}
|
|
1992
|
-
|
|
1993
|
-
var strOnPrefix = "on";
|
|
1994
|
-
var strAttachEvent = "attachEvent";
|
|
1995
|
-
var strAddEventHelper = "addEventListener";
|
|
1996
|
-
var strDetachEvent = "detachEvent";
|
|
1997
|
-
var strRemoveEventListener = "removeEventListener";
|
|
1998
|
-
var strEvents = "events";
|
|
1999
|
-
var strVisibilityChangeEvt = "visibilitychange";
|
|
2000
|
-
var strPageHide = "pagehide";
|
|
2001
|
-
var strPageShow = "pageshow";
|
|
2002
|
-
var strUnload = "unload";
|
|
2003
|
-
var strBeforeUnload = "beforeunload";
|
|
2004
|
-
var strPageHideNamespace = createUniqueNamespace("aiEvtPageHide");
|
|
2005
|
-
var strPageShowNamespace = createUniqueNamespace("aiEvtPageShow");
|
|
2006
|
-
var rRemoveEmptyNs = /\.[\.]+/g;
|
|
2007
|
-
var rRemoveTrailingEmptyNs = /[\.]+$/;
|
|
2008
|
-
var _guid = 1;
|
|
2009
|
-
var elmNodeData = createElmNodeData("events");
|
|
2010
|
-
var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
|
|
2011
|
-
function _normalizeNamespace(name) {
|
|
2012
|
-
if (name && name[_DYN_REPLACE ]) {
|
|
2013
|
-
return name.replace(/^\s*\.*|\.*\s*$/g, STR_EMPTY);
|
|
2014
|
-
}
|
|
2015
|
-
return name;
|
|
2016
|
-
}
|
|
2017
|
-
function _getEvtNamespace(eventName, evtNamespace) {
|
|
2018
|
-
var _a;
|
|
2019
|
-
if (evtNamespace) {
|
|
2020
|
-
var theNamespace_1 = STR_EMPTY;
|
|
2021
|
-
if (isArray(evtNamespace)) {
|
|
2022
|
-
theNamespace_1 = STR_EMPTY;
|
|
2023
|
-
arrForEach(evtNamespace, function (name) {
|
|
2024
|
-
name = _normalizeNamespace(name);
|
|
2025
|
-
if (name) {
|
|
2026
|
-
if (name[0] !== ".") {
|
|
2027
|
-
name = "." + name;
|
|
2028
|
-
}
|
|
2029
|
-
theNamespace_1 += name;
|
|
2030
|
-
}
|
|
2031
|
-
});
|
|
2032
|
-
}
|
|
2033
|
-
else {
|
|
2034
|
-
theNamespace_1 = _normalizeNamespace(evtNamespace);
|
|
2035
|
-
}
|
|
2036
|
-
if (theNamespace_1) {
|
|
2037
|
-
if (theNamespace_1[0] !== ".") {
|
|
2038
|
-
theNamespace_1 = "." + theNamespace_1;
|
|
2039
|
-
}
|
|
2040
|
-
eventName = (eventName || STR_EMPTY) + theNamespace_1;
|
|
2041
|
-
}
|
|
2042
|
-
}
|
|
2043
|
-
var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
|
|
2044
|
-
return _a = {},
|
|
2045
|
-
_a[_DYN_TYPE ] = parsedEvent[1],
|
|
2046
|
-
_a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT ](".").sort()).join("."),
|
|
2047
|
-
_a;
|
|
2048
|
-
}
|
|
2049
|
-
function __getRegisteredEvents(target, eventName, evtNamespace) {
|
|
2050
|
-
var theEvents = [];
|
|
2051
|
-
var eventCache = elmNodeData.get(target, strEvents, {}, false);
|
|
2052
|
-
var evtName = _getEvtNamespace(eventName, evtNamespace);
|
|
2053
|
-
objForEachKey(eventCache, function (evtType, registeredEvents) {
|
|
2054
|
-
arrForEach(registeredEvents, function (value) {
|
|
2055
|
-
var _a;
|
|
2056
|
-
if (!evtName[_DYN_TYPE ] || evtName[_DYN_TYPE ] === value.evtName[_DYN_TYPE ]) {
|
|
2057
|
-
if (!evtName.ns || evtName.ns === evtName.ns) {
|
|
2058
|
-
theEvents[_DYN_PUSH ]((_a = {},
|
|
2059
|
-
_a[_DYN_NAME ] = value.evtName[_DYN_TYPE ] + (value.evtName.ns ? "." + value.evtName.ns : STR_EMPTY),
|
|
2060
|
-
_a.handler = value[_DYN_HANDLER ],
|
|
2061
|
-
_a));
|
|
2062
|
-
}
|
|
2063
|
-
}
|
|
2064
|
-
});
|
|
2065
|
-
});
|
|
2066
|
-
return theEvents;
|
|
2067
|
-
}
|
|
2068
|
-
function _getRegisteredEvents(target, evtName, addDefault) {
|
|
2069
|
-
if (addDefault === void 0) { addDefault = true; }
|
|
2070
|
-
var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
|
|
2071
|
-
var registeredEvents = aiEvts[evtName];
|
|
2072
|
-
if (!registeredEvents) {
|
|
2073
|
-
registeredEvents = aiEvts[evtName] = [];
|
|
2074
|
-
}
|
|
2075
|
-
return registeredEvents;
|
|
2076
|
-
}
|
|
2077
|
-
function _doDetach(obj, evtName, handlerRef, useCapture) {
|
|
2078
|
-
if (obj && evtName && evtName[_DYN_TYPE ]) {
|
|
2079
|
-
if (obj[strRemoveEventListener]) {
|
|
2080
|
-
obj[strRemoveEventListener](evtName[_DYN_TYPE ], handlerRef, useCapture);
|
|
2081
|
-
}
|
|
2082
|
-
else if (obj[strDetachEvent]) {
|
|
2083
|
-
obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
|
|
2084
|
-
}
|
|
2085
|
-
}
|
|
2086
|
-
}
|
|
2087
|
-
function _doAttach(obj, evtName, handlerRef, useCapture) {
|
|
2088
|
-
var result = false;
|
|
2089
|
-
if (obj && evtName && evtName[_DYN_TYPE ] && handlerRef) {
|
|
2090
|
-
if (obj[strAddEventHelper]) {
|
|
2091
|
-
obj[strAddEventHelper](evtName[_DYN_TYPE ], handlerRef, useCapture);
|
|
2092
|
-
result = true;
|
|
2093
|
-
}
|
|
2094
|
-
else if (obj[strAttachEvent]) {
|
|
2095
|
-
obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
|
|
2096
|
-
result = true;
|
|
2097
|
-
}
|
|
2098
|
-
}
|
|
2099
|
-
return result;
|
|
2100
|
-
}
|
|
2101
|
-
function _doUnregister(target, events, evtName, unRegFn) {
|
|
2102
|
-
var idx = events[_DYN_LENGTH ];
|
|
2103
|
-
while (idx--) {
|
|
2104
|
-
var theEvent = events[idx];
|
|
2105
|
-
if (theEvent) {
|
|
2106
|
-
if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
|
|
2107
|
-
if (!unRegFn || unRegFn(theEvent)) {
|
|
2108
|
-
_doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
|
|
2109
|
-
events[_DYN_SPLICE ](idx, 1);
|
|
2110
|
-
}
|
|
2111
|
-
}
|
|
2112
|
-
}
|
|
2113
|
-
}
|
|
2114
|
-
}
|
|
2115
|
-
function _unregisterEvents(target, evtName, unRegFn) {
|
|
2116
|
-
if (evtName[_DYN_TYPE ]) {
|
|
2117
|
-
_doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE ]), evtName, unRegFn);
|
|
2118
|
-
}
|
|
2119
|
-
else {
|
|
2120
|
-
var eventCache = elmNodeData.get(target, strEvents, {});
|
|
2121
|
-
objForEachKey(eventCache, function (evtType, events) {
|
|
2122
|
-
_doUnregister(target, events, evtName, unRegFn);
|
|
2123
|
-
});
|
|
2124
|
-
if (objKeys(eventCache)[_DYN_LENGTH ] === 0) {
|
|
2125
|
-
elmNodeData.kill(target, strEvents);
|
|
2126
|
-
}
|
|
2127
|
-
}
|
|
2128
|
-
}
|
|
2129
|
-
function mergeEvtNamespace(theNamespace, namespaces) {
|
|
2130
|
-
var newNamespaces;
|
|
2131
|
-
if (namespaces) {
|
|
2132
|
-
if (isArray(namespaces)) {
|
|
2133
|
-
newNamespaces = [theNamespace].concat(namespaces);
|
|
2134
|
-
}
|
|
2135
|
-
else {
|
|
2136
|
-
newNamespaces = [theNamespace, namespaces];
|
|
2137
|
-
}
|
|
2138
|
-
newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)[_DYN_SPLIT ](".");
|
|
2139
|
-
}
|
|
2140
|
-
else {
|
|
2141
|
-
newNamespaces = theNamespace;
|
|
2142
|
-
}
|
|
2143
|
-
return newNamespaces;
|
|
2144
|
-
}
|
|
2145
|
-
function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
|
|
2146
|
-
var _a;
|
|
2147
|
-
if (useCapture === void 0) { useCapture = false; }
|
|
2148
|
-
var result = false;
|
|
2149
|
-
if (target) {
|
|
2150
|
-
try {
|
|
2151
|
-
var evtName = _getEvtNamespace(eventName, evtNamespace);
|
|
2152
|
-
result = _doAttach(target, evtName, handlerRef, useCapture);
|
|
2153
|
-
if (result && elmNodeData.accept(target)) {
|
|
2154
|
-
var registeredEvent = (_a = {
|
|
2155
|
-
guid: _guid++,
|
|
2156
|
-
evtName: evtName
|
|
2157
|
-
},
|
|
2158
|
-
_a[_DYN_HANDLER ] = handlerRef,
|
|
2159
|
-
_a.capture = useCapture,
|
|
2160
|
-
_a);
|
|
2161
|
-
_getRegisteredEvents(target, evtName.type)[_DYN_PUSH ](registeredEvent);
|
|
2162
|
-
}
|
|
2163
|
-
}
|
|
2164
|
-
catch (e) {
|
|
2165
|
-
}
|
|
2166
|
-
}
|
|
2167
|
-
return result;
|
|
2168
|
-
}
|
|
2169
|
-
function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {
|
|
2170
|
-
if (useCapture === void 0) { useCapture = false; }
|
|
2171
|
-
if (target) {
|
|
2172
|
-
try {
|
|
2173
|
-
var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
|
|
2174
|
-
var found_1 = false;
|
|
2175
|
-
_unregisterEvents(target, evtName_1, function (regEvent) {
|
|
2176
|
-
if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
|
|
2177
|
-
found_1 = true;
|
|
2178
|
-
return true;
|
|
2179
|
-
}
|
|
2180
|
-
return false;
|
|
2181
|
-
});
|
|
2182
|
-
if (!found_1) {
|
|
2183
|
-
_doDetach(target, evtName_1, handlerRef, useCapture);
|
|
2184
|
-
}
|
|
2185
|
-
}
|
|
2186
|
-
catch (e) {
|
|
2187
|
-
}
|
|
2188
|
-
}
|
|
2189
|
-
}
|
|
2190
|
-
function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
|
|
2191
|
-
if (useCapture === void 0) { useCapture = false; }
|
|
2192
|
-
return eventOn(obj, eventNameWithoutOn, handlerRef, null, useCapture);
|
|
2193
|
-
}
|
|
2194
|
-
function detachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
|
|
2195
|
-
if (useCapture === void 0) { useCapture = false; }
|
|
2196
|
-
eventOff(obj, eventNameWithoutOn, handlerRef, null, useCapture);
|
|
2197
|
-
}
|
|
2198
|
-
function addEventHandler(eventName, callback, evtNamespace) {
|
|
2199
|
-
var result = false;
|
|
2200
|
-
var w = getWindow();
|
|
2201
|
-
if (w) {
|
|
2202
|
-
result = eventOn(w, eventName, callback, evtNamespace);
|
|
2203
|
-
result = eventOn(w["body"], eventName, callback, evtNamespace) || result;
|
|
2204
|
-
}
|
|
2205
|
-
var doc = getDocument();
|
|
2206
|
-
if (doc) {
|
|
2207
|
-
result = eventOn(doc, eventName, callback, evtNamespace) || result;
|
|
2208
|
-
}
|
|
2209
|
-
return result;
|
|
2210
|
-
}
|
|
2211
|
-
function removeEventHandler(eventName, callback, evtNamespace) {
|
|
2212
|
-
var w = getWindow();
|
|
2213
|
-
if (w) {
|
|
2214
|
-
eventOff(w, eventName, callback, evtNamespace);
|
|
2215
|
-
eventOff(w["body"], eventName, callback, evtNamespace);
|
|
2216
|
-
}
|
|
2217
|
-
var doc = getDocument();
|
|
2218
|
-
if (doc) {
|
|
2219
|
-
eventOff(doc, eventName, callback, evtNamespace);
|
|
2220
|
-
}
|
|
2221
|
-
}
|
|
2222
|
-
function _addEventListeners(events, listener, excludeEvents, evtNamespace) {
|
|
2223
|
-
var added = false;
|
|
2224
|
-
if (listener && events && events[_DYN_LENGTH ] > 0) {
|
|
2225
|
-
arrForEach(events, function (name) {
|
|
2226
|
-
if (name) {
|
|
2227
|
-
if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {
|
|
2228
|
-
added = addEventHandler(name, listener, evtNamespace) || added;
|
|
2229
|
-
}
|
|
2230
|
-
}
|
|
2231
|
-
});
|
|
2232
|
-
}
|
|
2233
|
-
return added;
|
|
2234
|
-
}
|
|
2235
|
-
function addEventListeners(events, listener, excludeEvents, evtNamespace) {
|
|
2236
|
-
var added = false;
|
|
2237
|
-
if (listener && events && isArray(events)) {
|
|
2238
|
-
added = _addEventListeners(events, listener, excludeEvents, evtNamespace);
|
|
2239
|
-
if (!added && excludeEvents && excludeEvents[_DYN_LENGTH ] > 0) {
|
|
2240
|
-
added = _addEventListeners(events, listener, null, evtNamespace);
|
|
2241
|
-
}
|
|
2242
|
-
}
|
|
2243
|
-
return added;
|
|
2244
|
-
}
|
|
2245
|
-
function removeEventListeners(events, listener, evtNamespace) {
|
|
2246
|
-
if (events && isArray(events)) {
|
|
2247
|
-
arrForEach(events, function (name) {
|
|
2248
|
-
if (name) {
|
|
2249
|
-
removeEventHandler(name, listener, evtNamespace);
|
|
2250
|
-
}
|
|
2251
|
-
});
|
|
2252
|
-
}
|
|
2253
|
-
}
|
|
2254
|
-
function addPageUnloadEventListener(listener, excludeEvents, evtNamespace) {
|
|
2255
|
-
return addEventListeners([strBeforeUnload, strUnload, strPageHide], listener, excludeEvents, evtNamespace);
|
|
2256
|
-
}
|
|
2257
|
-
function removePageUnloadEventListener(listener, evtNamespace) {
|
|
2258
|
-
removeEventListeners([strBeforeUnload, strUnload, strPageHide], listener, evtNamespace);
|
|
2259
|
-
}
|
|
2260
|
-
function addPageHideEventListener(listener, excludeEvents, evtNamespace) {
|
|
2261
|
-
function _handlePageVisibility(evt) {
|
|
2262
|
-
var doc = getDocument();
|
|
2263
|
-
if (listener && doc && doc.visibilityState === "hidden") {
|
|
2264
|
-
listener(evt);
|
|
2265
|
-
}
|
|
2266
|
-
}
|
|
2267
|
-
var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
|
|
2268
|
-
var pageUnloadAdded = _addEventListeners([strPageHide], listener, excludeEvents, newNamespaces);
|
|
2269
|
-
if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {
|
|
2270
|
-
pageUnloadAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageUnloadAdded;
|
|
2271
|
-
}
|
|
2272
|
-
if (!pageUnloadAdded && excludeEvents) {
|
|
2273
|
-
pageUnloadAdded = addPageHideEventListener(listener, null, evtNamespace);
|
|
2274
|
-
}
|
|
2275
|
-
return pageUnloadAdded;
|
|
2276
|
-
}
|
|
2277
|
-
function removePageHideEventListener(listener, evtNamespace) {
|
|
2278
|
-
var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
|
|
2279
|
-
removeEventListeners([strPageHide], listener, newNamespaces);
|
|
2280
|
-
removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
|
|
2281
|
-
}
|
|
2282
|
-
function addPageShowEventListener(listener, excludeEvents, evtNamespace) {
|
|
2283
|
-
function _handlePageVisibility(evt) {
|
|
2284
|
-
var doc = getDocument();
|
|
2285
|
-
if (listener && doc && doc.visibilityState === "visible") {
|
|
2286
|
-
listener(evt);
|
|
2287
|
-
}
|
|
2288
|
-
}
|
|
2289
|
-
var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
|
|
2290
|
-
var pageShowAdded = _addEventListeners([strPageShow], listener, excludeEvents, newNamespaces);
|
|
2291
|
-
pageShowAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageShowAdded;
|
|
2292
|
-
if (!pageShowAdded && excludeEvents) {
|
|
2293
|
-
pageShowAdded = addPageShowEventListener(listener, null, evtNamespace);
|
|
2294
|
-
}
|
|
2295
|
-
return pageShowAdded;
|
|
2296
|
-
}
|
|
2297
|
-
function removePageShowEventListener(listener, evtNamespace) {
|
|
2298
|
-
var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
|
|
2299
|
-
removeEventListeners([strPageShow], listener, newNamespaces);
|
|
2300
|
-
removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
|
|
2301
|
-
}
|
|
2302
|
-
|
|
2303
|
-
var _cookieMgrs = null;
|
|
2304
|
-
var _canUseCookies;
|
|
2305
|
-
var Undefined = strShimUndefined;
|
|
2306
|
-
function newGuid() {
|
|
2307
|
-
function randomHexDigit() {
|
|
2308
|
-
return randomValue(15);
|
|
2309
|
-
}
|
|
2310
|
-
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[_DYN_REPLACE ](GuidRegex, function (c) {
|
|
2311
|
-
var r = (randomHexDigit() | 0), v = (c === "x" ? r : r & 0x3 | 0x8);
|
|
2312
|
-
return v.toString(16);
|
|
2313
|
-
});
|
|
2314
|
-
}
|
|
2315
|
-
function perfNow() {
|
|
2316
|
-
var perf = getPerformance();
|
|
2317
|
-
if (perf && perf.now) {
|
|
2318
|
-
return perf.now();
|
|
2319
|
-
}
|
|
2320
|
-
return dateNow();
|
|
2321
|
-
}
|
|
2322
|
-
function generateW3CId() {
|
|
2323
|
-
var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
|
|
2324
|
-
var oct = STR_EMPTY, tmp;
|
|
2325
|
-
for (var a = 0; a < 4; a++) {
|
|
2326
|
-
tmp = random32();
|
|
2327
|
-
oct +=
|
|
2328
|
-
hexValues[tmp & 0xF] +
|
|
2329
|
-
hexValues[tmp >> 4 & 0xF] +
|
|
2330
|
-
hexValues[tmp >> 8 & 0xF] +
|
|
2331
|
-
hexValues[tmp >> 12 & 0xF] +
|
|
2332
|
-
hexValues[tmp >> 16 & 0xF] +
|
|
2333
|
-
hexValues[tmp >> 20 & 0xF] +
|
|
2334
|
-
hexValues[tmp >> 24 & 0xF] +
|
|
2335
|
-
hexValues[tmp >> 28 & 0xF];
|
|
2336
|
-
}
|
|
2337
|
-
var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
|
|
2338
|
-
return oct[_DYN_SUBSTR ](0, 8) + oct[_DYN_SUBSTR ](9, 4) + "4" + oct[_DYN_SUBSTR ](13, 3) + clockSequenceHi + oct[_DYN_SUBSTR ](16, 3) + oct[_DYN_SUBSTR ](19, 12);
|
|
2339
|
-
}
|
|
2340
|
-
var CoreUtils = {
|
|
2341
|
-
_canUseCookies: undefined,
|
|
2342
|
-
isTypeof: isTypeof,
|
|
2343
|
-
isUndefined: isUndefined,
|
|
2344
|
-
isNullOrUndefined: isNullOrUndefined,
|
|
2345
|
-
hasOwnProperty: hasOwnProperty,
|
|
2346
|
-
isFunction: isFunction,
|
|
2347
|
-
isObject: isObject,
|
|
2348
|
-
isDate: isDate,
|
|
2349
|
-
isArray: isArray,
|
|
2350
|
-
isError: isError,
|
|
2351
|
-
isString: isString,
|
|
2352
|
-
isNumber: isNumber,
|
|
2353
|
-
isBoolean: isBoolean,
|
|
2354
|
-
toISOString: toISOString,
|
|
2355
|
-
arrForEach: arrForEach,
|
|
2356
|
-
arrIndexOf: arrIndexOf,
|
|
2357
|
-
arrMap: arrMap,
|
|
2358
|
-
arrReduce: arrReduce,
|
|
2359
|
-
strTrim: strTrim,
|
|
2360
|
-
objCreate: objCreateFn,
|
|
2361
|
-
objKeys: objKeys,
|
|
2362
|
-
objDefineAccessors: objDefineAccessors,
|
|
2363
|
-
addEventHandler: addEventHandler,
|
|
2364
|
-
dateNow: dateNow,
|
|
2365
|
-
isIE: isIE,
|
|
2366
|
-
disableCookies: disableCookies,
|
|
2367
|
-
newGuid: newGuid,
|
|
2368
|
-
perfNow: perfNow,
|
|
2369
|
-
newId: newId,
|
|
2370
|
-
randomValue: randomValue,
|
|
2371
|
-
random32: random32,
|
|
2372
|
-
mwcRandomSeed: mwcRandomSeed,
|
|
2373
|
-
mwcRandom32: mwcRandom32,
|
|
2374
|
-
generateW3CId: generateW3CId
|
|
2375
|
-
};
|
|
2376
|
-
var GuidRegex = /[xy]/g;
|
|
2377
|
-
var EventHelper = {
|
|
2378
|
-
Attach: attachEvent,
|
|
2379
|
-
AttachEvent: attachEvent,
|
|
2380
|
-
Detach: detachEvent,
|
|
2381
|
-
DetachEvent: detachEvent
|
|
2382
|
-
};
|
|
2383
|
-
function _legacyCookieMgr(config, logger) {
|
|
2384
|
-
var cookieMgr = _gblCookieMgr(config, logger);
|
|
2385
|
-
var legacyCanUseCookies = CoreUtils._canUseCookies;
|
|
2386
|
-
if (_cookieMgrs === null) {
|
|
2387
|
-
_cookieMgrs = [];
|
|
2388
|
-
_canUseCookies = legacyCanUseCookies;
|
|
2389
|
-
objDefineAccessors(CoreUtils, "_canUseCookies", function () {
|
|
2390
|
-
return _canUseCookies;
|
|
2391
|
-
}, function (value) {
|
|
2392
|
-
_canUseCookies = value;
|
|
2393
|
-
arrForEach(_cookieMgrs, function (mgr) {
|
|
2394
|
-
mgr[_DYN_SET_ENABLED ](value);
|
|
2395
|
-
});
|
|
2396
|
-
});
|
|
2397
|
-
}
|
|
2398
|
-
if (arrIndexOf(_cookieMgrs, cookieMgr) === -1) {
|
|
2399
|
-
_cookieMgrs[_DYN_PUSH ](cookieMgr);
|
|
2400
|
-
}
|
|
2401
|
-
if (isBoolean(legacyCanUseCookies)) {
|
|
2402
|
-
cookieMgr[_DYN_SET_ENABLED ](legacyCanUseCookies);
|
|
2403
|
-
}
|
|
2404
|
-
if (isBoolean(_canUseCookies)) {
|
|
2405
|
-
cookieMgr[_DYN_SET_ENABLED ](_canUseCookies);
|
|
2406
|
-
}
|
|
2407
|
-
return cookieMgr;
|
|
2408
|
-
}
|
|
2409
|
-
function disableCookies() {
|
|
2410
|
-
_legacyCookieMgr()[_DYN_SET_ENABLED ](false);
|
|
2411
|
-
}
|
|
2412
|
-
function canUseCookies(logger) {
|
|
2413
|
-
return _legacyCookieMgr(null, logger).isEnabled();
|
|
2414
|
-
}
|
|
2415
|
-
function getCookie(logger, name) {
|
|
2416
|
-
return _legacyCookieMgr(null, logger).get(name);
|
|
2417
|
-
}
|
|
2418
|
-
function setCookie(logger, name, value, domain) {
|
|
2419
|
-
_legacyCookieMgr(null, logger).set(name, value, null, domain);
|
|
2420
|
-
}
|
|
2421
|
-
function deleteCookie(logger, name) {
|
|
2422
|
-
return _legacyCookieMgr(null, logger).del(name);
|
|
2423
|
-
}
|
|
2424
|
-
|
|
2425
|
-
var TRACE_PARENT_REGEX = /^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]*)?$/;
|
|
2426
|
-
var DEFAULT_VERSION = "00";
|
|
2427
|
-
var INVALID_VERSION = "ff";
|
|
2428
|
-
var INVALID_TRACE_ID = "00000000000000000000000000000000";
|
|
2429
|
-
var INVALID_SPAN_ID = "0000000000000000";
|
|
2430
|
-
var SAMPLED_FLAG = 0x01;
|
|
2431
|
-
function _isValid(value, len, invalidValue) {
|
|
2432
|
-
if (value && value[_DYN_LENGTH ] === len && value !== invalidValue) {
|
|
2433
|
-
return !!value.match(/^[\da-f]*$/);
|
|
2434
|
-
}
|
|
2435
|
-
return false;
|
|
1776
|
+
return false;
|
|
2436
1777
|
}
|
|
2437
1778
|
function _formatValue(value, len, defValue) {
|
|
2438
1779
|
if (_isValid(value, len)) {
|
|
@@ -3194,7 +2535,252 @@
|
|
|
3194
2535
|
});
|
|
3195
2536
|
_addChannelQueue(channelQueue, extensionQueue_1, core);
|
|
3196
2537
|
}
|
|
3197
|
-
return channelQueue;
|
|
2538
|
+
return channelQueue;
|
|
2539
|
+
}
|
|
2540
|
+
|
|
2541
|
+
var strToGMTString = "toGMTString";
|
|
2542
|
+
var strToUTCString = "toUTCString";
|
|
2543
|
+
var strCookie = "cookie";
|
|
2544
|
+
var strExpires = "expires";
|
|
2545
|
+
var strEnabled = "enabled";
|
|
2546
|
+
var strIsCookieUseDisabled = "isCookieUseDisabled";
|
|
2547
|
+
var strDisableCookiesUsage = "disableCookiesUsage";
|
|
2548
|
+
var strConfigCookieMgr = "_ckMgr";
|
|
2549
|
+
var _supportsCookies = null;
|
|
2550
|
+
var _allowUaSameSite = null;
|
|
2551
|
+
var _parsedCookieValue = null;
|
|
2552
|
+
var _doc = getDocument();
|
|
2553
|
+
var _cookieCache = {};
|
|
2554
|
+
var _globalCookieConfig = {};
|
|
2555
|
+
function _gblCookieMgr(config, logger) {
|
|
2556
|
+
var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
|
|
2557
|
+
if (!inst) {
|
|
2558
|
+
inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);
|
|
2559
|
+
_globalCookieConfig[strConfigCookieMgr] = inst;
|
|
2560
|
+
}
|
|
2561
|
+
return inst;
|
|
2562
|
+
}
|
|
2563
|
+
function _isMgrEnabled(cookieMgr) {
|
|
2564
|
+
if (cookieMgr) {
|
|
2565
|
+
return cookieMgr.isEnabled();
|
|
2566
|
+
}
|
|
2567
|
+
return true;
|
|
2568
|
+
}
|
|
2569
|
+
function _createCookieMgrConfig(rootConfig) {
|
|
2570
|
+
var cookieMgrCfg = rootConfig[_DYN_COOKIE_CFG ] = rootConfig[_DYN_COOKIE_CFG ] || {};
|
|
2571
|
+
setValue(cookieMgrCfg, "domain", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);
|
|
2572
|
+
setValue(cookieMgrCfg, "path", rootConfig.cookiePath || "/", null, isNullOrUndefined);
|
|
2573
|
+
if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {
|
|
2574
|
+
var cookieEnabled = void 0;
|
|
2575
|
+
if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
|
|
2576
|
+
cookieEnabled = !rootConfig[strIsCookieUseDisabled];
|
|
2577
|
+
}
|
|
2578
|
+
if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
|
|
2579
|
+
cookieEnabled = !rootConfig[strDisableCookiesUsage];
|
|
2580
|
+
}
|
|
2581
|
+
cookieMgrCfg[strEnabled] = cookieEnabled;
|
|
2582
|
+
}
|
|
2583
|
+
return cookieMgrCfg;
|
|
2584
|
+
}
|
|
2585
|
+
function safeGetCookieMgr(core, config) {
|
|
2586
|
+
var cookieMgr;
|
|
2587
|
+
if (core) {
|
|
2588
|
+
cookieMgr = core.getCookieMgr();
|
|
2589
|
+
}
|
|
2590
|
+
else if (config) {
|
|
2591
|
+
var cookieCfg = config[_DYN_COOKIE_CFG ];
|
|
2592
|
+
if (cookieCfg[strConfigCookieMgr]) {
|
|
2593
|
+
cookieMgr = cookieCfg[strConfigCookieMgr];
|
|
2594
|
+
}
|
|
2595
|
+
else {
|
|
2596
|
+
cookieMgr = createCookieMgr(config);
|
|
2597
|
+
}
|
|
2598
|
+
}
|
|
2599
|
+
if (!cookieMgr) {
|
|
2600
|
+
cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER ]);
|
|
2601
|
+
}
|
|
2602
|
+
return cookieMgr;
|
|
2603
|
+
}
|
|
2604
|
+
function createCookieMgr(rootConfig, logger) {
|
|
2605
|
+
var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);
|
|
2606
|
+
var _path = cookieMgrConfig.path || "/";
|
|
2607
|
+
var _domain = cookieMgrConfig.domain;
|
|
2608
|
+
var _enabled = cookieMgrConfig[strEnabled] !== false;
|
|
2609
|
+
var cookieMgr = {
|
|
2610
|
+
isEnabled: function () {
|
|
2611
|
+
var enabled = _enabled && areCookiesSupported(logger);
|
|
2612
|
+
var gblManager = _globalCookieConfig[strConfigCookieMgr];
|
|
2613
|
+
if (enabled && gblManager && cookieMgr !== gblManager) {
|
|
2614
|
+
enabled = _isMgrEnabled(gblManager);
|
|
2615
|
+
}
|
|
2616
|
+
return enabled;
|
|
2617
|
+
},
|
|
2618
|
+
setEnabled: function (value) {
|
|
2619
|
+
_enabled = value !== false;
|
|
2620
|
+
},
|
|
2621
|
+
set: function (name, value, maxAgeSec, domain, path) {
|
|
2622
|
+
var result = false;
|
|
2623
|
+
if (_isMgrEnabled(cookieMgr)) {
|
|
2624
|
+
var values = {};
|
|
2625
|
+
var theValue = strTrim(value || STR_EMPTY);
|
|
2626
|
+
var idx = theValue.indexOf(";");
|
|
2627
|
+
if (idx !== -1) {
|
|
2628
|
+
theValue = strTrim(value[_DYN_SUBSTRING ](0, idx));
|
|
2629
|
+
values = _extractParts(value[_DYN_SUBSTRING ](idx + 1));
|
|
2630
|
+
}
|
|
2631
|
+
setValue(values, "domain", domain || _domain, isTruthy, isUndefined);
|
|
2632
|
+
if (!isNullOrUndefined(maxAgeSec)) {
|
|
2633
|
+
var _isIE = isIE();
|
|
2634
|
+
if (isUndefined(values[strExpires])) {
|
|
2635
|
+
var nowMs = dateNow();
|
|
2636
|
+
var expireMs = nowMs + (maxAgeSec * 1000);
|
|
2637
|
+
if (expireMs > 0) {
|
|
2638
|
+
var expiry = new Date();
|
|
2639
|
+
expiry.setTime(expireMs);
|
|
2640
|
+
setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);
|
|
2641
|
+
}
|
|
2642
|
+
}
|
|
2643
|
+
if (!_isIE) {
|
|
2644
|
+
setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
|
|
2645
|
+
}
|
|
2646
|
+
}
|
|
2647
|
+
var location_1 = getLocation();
|
|
2648
|
+
if (location_1 && location_1.protocol === "https:") {
|
|
2649
|
+
setValue(values, "secure", null, null, isUndefined);
|
|
2650
|
+
if (_allowUaSameSite === null) {
|
|
2651
|
+
_allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
|
|
2652
|
+
}
|
|
2653
|
+
if (_allowUaSameSite) {
|
|
2654
|
+
setValue(values, "SameSite", "None", null, isUndefined);
|
|
2655
|
+
}
|
|
2656
|
+
}
|
|
2657
|
+
setValue(values, "path", path || _path, null, isUndefined);
|
|
2658
|
+
var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
|
|
2659
|
+
setCookieFn(name, _formatCookieValue(theValue, values));
|
|
2660
|
+
result = true;
|
|
2661
|
+
}
|
|
2662
|
+
return result;
|
|
2663
|
+
},
|
|
2664
|
+
get: function (name) {
|
|
2665
|
+
var value = STR_EMPTY;
|
|
2666
|
+
if (_isMgrEnabled(cookieMgr)) {
|
|
2667
|
+
value = (cookieMgrConfig.getCookie || _getCookieValue)(name);
|
|
2668
|
+
}
|
|
2669
|
+
return value;
|
|
2670
|
+
},
|
|
2671
|
+
del: function (name, path) {
|
|
2672
|
+
var result = false;
|
|
2673
|
+
if (_isMgrEnabled(cookieMgr)) {
|
|
2674
|
+
result = cookieMgr.purge(name, path);
|
|
2675
|
+
}
|
|
2676
|
+
return result;
|
|
2677
|
+
},
|
|
2678
|
+
purge: function (name, path) {
|
|
2679
|
+
var _a;
|
|
2680
|
+
var result = false;
|
|
2681
|
+
if (areCookiesSupported(logger)) {
|
|
2682
|
+
var values = (_a = {},
|
|
2683
|
+
_a["path"] = path ? path : "/",
|
|
2684
|
+
_a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
|
|
2685
|
+
_a);
|
|
2686
|
+
if (!isIE()) {
|
|
2687
|
+
values["max-age"] = "0";
|
|
2688
|
+
}
|
|
2689
|
+
var delCookie = cookieMgrConfig.delCookie || _setCookieValue;
|
|
2690
|
+
delCookie(name, _formatCookieValue(STR_EMPTY, values));
|
|
2691
|
+
result = true;
|
|
2692
|
+
}
|
|
2693
|
+
return result;
|
|
2694
|
+
}
|
|
2695
|
+
};
|
|
2696
|
+
cookieMgr[strConfigCookieMgr] = cookieMgr;
|
|
2697
|
+
return cookieMgr;
|
|
2698
|
+
}
|
|
2699
|
+
function areCookiesSupported(logger) {
|
|
2700
|
+
if (_supportsCookies === null) {
|
|
2701
|
+
_supportsCookies = false;
|
|
2702
|
+
try {
|
|
2703
|
+
var doc = _doc || {};
|
|
2704
|
+
_supportsCookies = doc[strCookie] !== undefined;
|
|
2705
|
+
}
|
|
2706
|
+
catch (e) {
|
|
2707
|
+
_throwInternal(logger, 2 , 68 , "Cannot access document.cookie - " + getExceptionName(e), { exception: dumpObj(e) });
|
|
2708
|
+
}
|
|
2709
|
+
}
|
|
2710
|
+
return _supportsCookies;
|
|
2711
|
+
}
|
|
2712
|
+
function _extractParts(theValue) {
|
|
2713
|
+
var values = {};
|
|
2714
|
+
if (theValue && theValue[_DYN_LENGTH ]) {
|
|
2715
|
+
var parts = strTrim(theValue)[_DYN_SPLIT ](";");
|
|
2716
|
+
arrForEach(parts, function (thePart) {
|
|
2717
|
+
thePart = strTrim(thePart || STR_EMPTY);
|
|
2718
|
+
if (thePart) {
|
|
2719
|
+
var idx = thePart.indexOf("=");
|
|
2720
|
+
if (idx === -1) {
|
|
2721
|
+
values[thePart] = null;
|
|
2722
|
+
}
|
|
2723
|
+
else {
|
|
2724
|
+
values[strTrim(thePart[_DYN_SUBSTRING ](0, idx))] = strTrim(thePart[_DYN_SUBSTRING ](idx + 1));
|
|
2725
|
+
}
|
|
2726
|
+
}
|
|
2727
|
+
});
|
|
2728
|
+
}
|
|
2729
|
+
return values;
|
|
2730
|
+
}
|
|
2731
|
+
function _formatDate(theDate, func) {
|
|
2732
|
+
if (isFunction(theDate[func])) {
|
|
2733
|
+
return theDate[func]();
|
|
2734
|
+
}
|
|
2735
|
+
return null;
|
|
2736
|
+
}
|
|
2737
|
+
function _formatCookieValue(value, values) {
|
|
2738
|
+
var cookieValue = value || STR_EMPTY;
|
|
2739
|
+
objForEachKey(values, function (name, theValue) {
|
|
2740
|
+
cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY);
|
|
2741
|
+
});
|
|
2742
|
+
return cookieValue;
|
|
2743
|
+
}
|
|
2744
|
+
function _getCookieValue(name) {
|
|
2745
|
+
var cookieValue = STR_EMPTY;
|
|
2746
|
+
if (_doc) {
|
|
2747
|
+
var theCookie = _doc[strCookie] || STR_EMPTY;
|
|
2748
|
+
if (_parsedCookieValue !== theCookie) {
|
|
2749
|
+
_cookieCache = _extractParts(theCookie);
|
|
2750
|
+
_parsedCookieValue = theCookie;
|
|
2751
|
+
}
|
|
2752
|
+
cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);
|
|
2753
|
+
}
|
|
2754
|
+
return cookieValue;
|
|
2755
|
+
}
|
|
2756
|
+
function _setCookieValue(name, cookieValue) {
|
|
2757
|
+
if (_doc) {
|
|
2758
|
+
_doc[strCookie] = name + "=" + cookieValue;
|
|
2759
|
+
}
|
|
2760
|
+
}
|
|
2761
|
+
function uaDisallowsSameSiteNone(userAgent) {
|
|
2762
|
+
if (!isString(userAgent)) {
|
|
2763
|
+
return false;
|
|
2764
|
+
}
|
|
2765
|
+
if (strContains(userAgent, "CPU iPhone OS 12") || strContains(userAgent, "iPad; CPU OS 12")) {
|
|
2766
|
+
return true;
|
|
2767
|
+
}
|
|
2768
|
+
if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strContains(userAgent, "Version/") && strContains(userAgent, "Safari")) {
|
|
2769
|
+
return true;
|
|
2770
|
+
}
|
|
2771
|
+
if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strEndsWith(userAgent, "AppleWebKit/605.1.15 (KHTML, like Gecko)")) {
|
|
2772
|
+
return true;
|
|
2773
|
+
}
|
|
2774
|
+
if (strContains(userAgent, "Chrome/5") || strContains(userAgent, "Chrome/6")) {
|
|
2775
|
+
return true;
|
|
2776
|
+
}
|
|
2777
|
+
if (strContains(userAgent, "UnrealEngine") && !strContains(userAgent, "Chrome")) {
|
|
2778
|
+
return true;
|
|
2779
|
+
}
|
|
2780
|
+
if (strContains(userAgent, "UCBrowser/12") || strContains(userAgent, "UCBrowser/11")) {
|
|
2781
|
+
return true;
|
|
2782
|
+
}
|
|
2783
|
+
return false;
|
|
3198
2784
|
}
|
|
3199
2785
|
|
|
3200
2786
|
function createUnloadHandlerContainer() {
|
|
@@ -3791,7 +3377,6 @@
|
|
|
3791
3377
|
}
|
|
3792
3378
|
}
|
|
3793
3379
|
function _getPlugin(pluginIdentifier) {
|
|
3794
|
-
var _a;
|
|
3795
3380
|
var theExt = null;
|
|
3796
3381
|
var thePlugin = null;
|
|
3797
3382
|
arrForEach(_self[_DYN__EXTENSIONS ], function (ext) {
|
|
@@ -3804,17 +3389,16 @@
|
|
|
3804
3389
|
thePlugin = _channelControl.getChannel(pluginIdentifier);
|
|
3805
3390
|
}
|
|
3806
3391
|
if (thePlugin) {
|
|
3807
|
-
theExt =
|
|
3808
|
-
|
|
3809
|
-
|
|
3810
|
-
_a[_DYN_SET_ENABLED ] = function (enabled) {
|
|
3392
|
+
theExt = {
|
|
3393
|
+
plugin: thePlugin,
|
|
3394
|
+
setEnabled: function (enabled) {
|
|
3811
3395
|
_getPluginState(thePlugin)[STR_DISABLED] = !enabled;
|
|
3812
3396
|
},
|
|
3813
|
-
|
|
3397
|
+
isEnabled: function () {
|
|
3814
3398
|
var pluginState = _getPluginState(thePlugin);
|
|
3815
3399
|
return !pluginState[_DYN_TEARDOWN ] && !pluginState[STR_DISABLED];
|
|
3816
3400
|
},
|
|
3817
|
-
|
|
3401
|
+
remove: function (isAsync, removeCb) {
|
|
3818
3402
|
var _a;
|
|
3819
3403
|
if (isAsync === void 0) { isAsync = true; }
|
|
3820
3404
|
var pluginsToRemove = [thePlugin];
|
|
@@ -3832,8 +3416,8 @@
|
|
|
3832
3416
|
}
|
|
3833
3417
|
removeCb && removeCb(removed);
|
|
3834
3418
|
});
|
|
3835
|
-
}
|
|
3836
|
-
|
|
3419
|
+
}
|
|
3420
|
+
};
|
|
3837
3421
|
}
|
|
3838
3422
|
return theExt;
|
|
3839
3423
|
}
|
|
@@ -3952,112 +3536,422 @@
|
|
|
3952
3536
|
}
|
|
3953
3537
|
});
|
|
3954
3538
|
}
|
|
3955
|
-
BaseCore.__ieDyn=1;
|
|
3956
|
-
return BaseCore;
|
|
3957
|
-
}());
|
|
3958
|
-
|
|
3959
|
-
function _runListeners(listeners, name, isAsync, callback) {
|
|
3960
|
-
arrForEach(listeners, function (listener) {
|
|
3961
|
-
if (listener && listener[name]) {
|
|
3962
|
-
if (isAsync) {
|
|
3963
|
-
setTimeout(function () { return callback(listener); }, 0);
|
|
3539
|
+
BaseCore.__ieDyn=1;
|
|
3540
|
+
return BaseCore;
|
|
3541
|
+
}());
|
|
3542
|
+
|
|
3543
|
+
function _runListeners(listeners, name, isAsync, callback) {
|
|
3544
|
+
arrForEach(listeners, function (listener) {
|
|
3545
|
+
if (listener && listener[name]) {
|
|
3546
|
+
if (isAsync) {
|
|
3547
|
+
setTimeout(function () { return callback(listener); }, 0);
|
|
3548
|
+
}
|
|
3549
|
+
else {
|
|
3550
|
+
try {
|
|
3551
|
+
callback(listener);
|
|
3552
|
+
}
|
|
3553
|
+
catch (e) {
|
|
3554
|
+
}
|
|
3555
|
+
}
|
|
3556
|
+
}
|
|
3557
|
+
});
|
|
3558
|
+
}
|
|
3559
|
+
var NotificationManager = /** @class */ (function () {
|
|
3560
|
+
function NotificationManager(config) {
|
|
3561
|
+
this.listeners = [];
|
|
3562
|
+
var perfEvtsSendAll = !!(config || {}).perfEvtsSendAll;
|
|
3563
|
+
dynamicProto(NotificationManager, this, function (_self) {
|
|
3564
|
+
_self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
|
|
3565
|
+
_self.listeners[_DYN_PUSH ](listener);
|
|
3566
|
+
};
|
|
3567
|
+
_self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
|
|
3568
|
+
var index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
|
|
3569
|
+
while (index > -1) {
|
|
3570
|
+
_self.listeners[_DYN_SPLICE ](index, 1);
|
|
3571
|
+
index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
|
|
3572
|
+
}
|
|
3573
|
+
};
|
|
3574
|
+
_self[STR_EVENTS_SENT ] = function (events) {
|
|
3575
|
+
_runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SENT, true, function (listener) {
|
|
3576
|
+
listener[STR_EVENTS_SENT ](events);
|
|
3577
|
+
});
|
|
3578
|
+
};
|
|
3579
|
+
_self[STR_EVENTS_DISCARDED ] = function (events, reason) {
|
|
3580
|
+
_runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_DISCARDED, true, function (listener) {
|
|
3581
|
+
listener[STR_EVENTS_DISCARDED ](events, reason);
|
|
3582
|
+
});
|
|
3583
|
+
};
|
|
3584
|
+
_self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
|
|
3585
|
+
_runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
|
|
3586
|
+
listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
|
|
3587
|
+
});
|
|
3588
|
+
};
|
|
3589
|
+
_self[STR_PERF_EVENT ] = function (perfEvent) {
|
|
3590
|
+
if (perfEvent) {
|
|
3591
|
+
if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
|
|
3592
|
+
_runListeners(_self[_DYN_LISTENERS ], STR_PERF_EVENT, false, function (listener) {
|
|
3593
|
+
if (perfEvent[_DYN_IS_ASYNC ]) {
|
|
3594
|
+
setTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
|
|
3595
|
+
}
|
|
3596
|
+
else {
|
|
3597
|
+
listener[STR_PERF_EVENT ](perfEvent);
|
|
3598
|
+
}
|
|
3599
|
+
});
|
|
3600
|
+
}
|
|
3601
|
+
}
|
|
3602
|
+
};
|
|
3603
|
+
});
|
|
3604
|
+
}
|
|
3605
|
+
NotificationManager.__ieDyn=1;
|
|
3606
|
+
return NotificationManager;
|
|
3607
|
+
}());
|
|
3608
|
+
|
|
3609
|
+
var AppInsightsCore = /** @class */ (function (_super) {
|
|
3610
|
+
__extendsFn(AppInsightsCore, _super);
|
|
3611
|
+
function AppInsightsCore() {
|
|
3612
|
+
var _this = _super.call(this) || this;
|
|
3613
|
+
dynamicProto(AppInsightsCore, _this, function (_self, _base) {
|
|
3614
|
+
_self[_DYN_INITIALIZE ] = function (config, extensions, logger, notificationManager) {
|
|
3615
|
+
_base[_DYN_INITIALIZE ](config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config));
|
|
3616
|
+
};
|
|
3617
|
+
_self.track = function (telemetryItem) {
|
|
3618
|
+
doPerf(_self[STR_GET_PERF_MGR ](), function () { return "AppInsightsCore:track"; }, function () {
|
|
3619
|
+
if (telemetryItem === null) {
|
|
3620
|
+
_notifyInvalidEvent(telemetryItem);
|
|
3621
|
+
throwError("Invalid telemetry item");
|
|
3622
|
+
}
|
|
3623
|
+
_validateTelemetryItem(telemetryItem);
|
|
3624
|
+
_base.track(telemetryItem);
|
|
3625
|
+
}, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
|
|
3626
|
+
};
|
|
3627
|
+
function _validateTelemetryItem(telemetryItem) {
|
|
3628
|
+
if (isNullOrUndefined(telemetryItem[_DYN_NAME ])) {
|
|
3629
|
+
_notifyInvalidEvent(telemetryItem);
|
|
3630
|
+
throwError("telemetry name required");
|
|
3631
|
+
}
|
|
3632
|
+
}
|
|
3633
|
+
function _notifyInvalidEvent(telemetryItem) {
|
|
3634
|
+
var manager = _self[_DYN_GET_NOTIFY_MGR ]();
|
|
3635
|
+
if (manager) {
|
|
3636
|
+
manager[STR_EVENTS_DISCARDED ]([telemetryItem], 2 );
|
|
3637
|
+
}
|
|
3638
|
+
}
|
|
3639
|
+
});
|
|
3640
|
+
return _this;
|
|
3641
|
+
}
|
|
3642
|
+
AppInsightsCore.__ieDyn=1;
|
|
3643
|
+
return AppInsightsCore;
|
|
3644
|
+
}(BaseCore));
|
|
3645
|
+
|
|
3646
|
+
var strOnPrefix = "on";
|
|
3647
|
+
var strAttachEvent = "attachEvent";
|
|
3648
|
+
var strAddEventHelper = "addEventListener";
|
|
3649
|
+
var strDetachEvent = "detachEvent";
|
|
3650
|
+
var strRemoveEventListener = "removeEventListener";
|
|
3651
|
+
var strEvents = "events";
|
|
3652
|
+
var strVisibilityChangeEvt = "visibilitychange";
|
|
3653
|
+
var strPageHide = "pagehide";
|
|
3654
|
+
var strPageShow = "pageshow";
|
|
3655
|
+
var strUnload = "unload";
|
|
3656
|
+
var strBeforeUnload = "beforeunload";
|
|
3657
|
+
var strPageHideNamespace = createUniqueNamespace("aiEvtPageHide");
|
|
3658
|
+
var strPageShowNamespace = createUniqueNamespace("aiEvtPageShow");
|
|
3659
|
+
var rRemoveEmptyNs = /\.[\.]+/g;
|
|
3660
|
+
var rRemoveTrailingEmptyNs = /[\.]+$/;
|
|
3661
|
+
var _guid = 1;
|
|
3662
|
+
var elmNodeData = createElmNodeData("events");
|
|
3663
|
+
var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
|
|
3664
|
+
function _normalizeNamespace(name) {
|
|
3665
|
+
if (name && name[_DYN_REPLACE ]) {
|
|
3666
|
+
return name.replace(/^\s*\.*|\.*\s*$/g, STR_EMPTY);
|
|
3667
|
+
}
|
|
3668
|
+
return name;
|
|
3669
|
+
}
|
|
3670
|
+
function _getEvtNamespace(eventName, evtNamespace) {
|
|
3671
|
+
var _a;
|
|
3672
|
+
if (evtNamespace) {
|
|
3673
|
+
var theNamespace_1 = STR_EMPTY;
|
|
3674
|
+
if (isArray(evtNamespace)) {
|
|
3675
|
+
theNamespace_1 = STR_EMPTY;
|
|
3676
|
+
arrForEach(evtNamespace, function (name) {
|
|
3677
|
+
name = _normalizeNamespace(name);
|
|
3678
|
+
if (name) {
|
|
3679
|
+
if (name[0] !== ".") {
|
|
3680
|
+
name = "." + name;
|
|
3681
|
+
}
|
|
3682
|
+
theNamespace_1 += name;
|
|
3683
|
+
}
|
|
3684
|
+
});
|
|
3685
|
+
}
|
|
3686
|
+
else {
|
|
3687
|
+
theNamespace_1 = _normalizeNamespace(evtNamespace);
|
|
3688
|
+
}
|
|
3689
|
+
if (theNamespace_1) {
|
|
3690
|
+
if (theNamespace_1[0] !== ".") {
|
|
3691
|
+
theNamespace_1 = "." + theNamespace_1;
|
|
3692
|
+
}
|
|
3693
|
+
eventName = (eventName || STR_EMPTY) + theNamespace_1;
|
|
3694
|
+
}
|
|
3695
|
+
}
|
|
3696
|
+
var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
|
|
3697
|
+
return _a = {},
|
|
3698
|
+
_a[_DYN_TYPE ] = parsedEvent[1],
|
|
3699
|
+
_a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT ](".").sort()).join("."),
|
|
3700
|
+
_a;
|
|
3701
|
+
}
|
|
3702
|
+
function __getRegisteredEvents(target, eventName, evtNamespace) {
|
|
3703
|
+
var theEvents = [];
|
|
3704
|
+
var eventCache = elmNodeData.get(target, strEvents, {}, false);
|
|
3705
|
+
var evtName = _getEvtNamespace(eventName, evtNamespace);
|
|
3706
|
+
objForEachKey(eventCache, function (evtType, registeredEvents) {
|
|
3707
|
+
arrForEach(registeredEvents, function (value) {
|
|
3708
|
+
var _a;
|
|
3709
|
+
if (!evtName[_DYN_TYPE ] || evtName[_DYN_TYPE ] === value.evtName[_DYN_TYPE ]) {
|
|
3710
|
+
if (!evtName.ns || evtName.ns === evtName.ns) {
|
|
3711
|
+
theEvents[_DYN_PUSH ]((_a = {},
|
|
3712
|
+
_a[_DYN_NAME ] = value.evtName[_DYN_TYPE ] + (value.evtName.ns ? "." + value.evtName.ns : STR_EMPTY),
|
|
3713
|
+
_a.handler = value[_DYN_HANDLER ],
|
|
3714
|
+
_a));
|
|
3715
|
+
}
|
|
3716
|
+
}
|
|
3717
|
+
});
|
|
3718
|
+
});
|
|
3719
|
+
return theEvents;
|
|
3720
|
+
}
|
|
3721
|
+
function _getRegisteredEvents(target, evtName, addDefault) {
|
|
3722
|
+
if (addDefault === void 0) { addDefault = true; }
|
|
3723
|
+
var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
|
|
3724
|
+
var registeredEvents = aiEvts[evtName];
|
|
3725
|
+
if (!registeredEvents) {
|
|
3726
|
+
registeredEvents = aiEvts[evtName] = [];
|
|
3727
|
+
}
|
|
3728
|
+
return registeredEvents;
|
|
3729
|
+
}
|
|
3730
|
+
function _doDetach(obj, evtName, handlerRef, useCapture) {
|
|
3731
|
+
if (obj && evtName && evtName[_DYN_TYPE ]) {
|
|
3732
|
+
if (obj[strRemoveEventListener]) {
|
|
3733
|
+
obj[strRemoveEventListener](evtName[_DYN_TYPE ], handlerRef, useCapture);
|
|
3734
|
+
}
|
|
3735
|
+
else if (obj[strDetachEvent]) {
|
|
3736
|
+
obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
|
|
3737
|
+
}
|
|
3738
|
+
}
|
|
3739
|
+
}
|
|
3740
|
+
function _doAttach(obj, evtName, handlerRef, useCapture) {
|
|
3741
|
+
var result = false;
|
|
3742
|
+
if (obj && evtName && evtName[_DYN_TYPE ] && handlerRef) {
|
|
3743
|
+
if (obj[strAddEventHelper]) {
|
|
3744
|
+
obj[strAddEventHelper](evtName[_DYN_TYPE ], handlerRef, useCapture);
|
|
3745
|
+
result = true;
|
|
3746
|
+
}
|
|
3747
|
+
else if (obj[strAttachEvent]) {
|
|
3748
|
+
obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
|
|
3749
|
+
result = true;
|
|
3750
|
+
}
|
|
3751
|
+
}
|
|
3752
|
+
return result;
|
|
3753
|
+
}
|
|
3754
|
+
function _doUnregister(target, events, evtName, unRegFn) {
|
|
3755
|
+
var idx = events[_DYN_LENGTH ];
|
|
3756
|
+
while (idx--) {
|
|
3757
|
+
var theEvent = events[idx];
|
|
3758
|
+
if (theEvent) {
|
|
3759
|
+
if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
|
|
3760
|
+
if (!unRegFn || unRegFn(theEvent)) {
|
|
3761
|
+
_doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
|
|
3762
|
+
events[_DYN_SPLICE ](idx, 1);
|
|
3763
|
+
}
|
|
3764
|
+
}
|
|
3765
|
+
}
|
|
3766
|
+
}
|
|
3767
|
+
}
|
|
3768
|
+
function _unregisterEvents(target, evtName, unRegFn) {
|
|
3769
|
+
if (evtName[_DYN_TYPE ]) {
|
|
3770
|
+
_doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE ]), evtName, unRegFn);
|
|
3771
|
+
}
|
|
3772
|
+
else {
|
|
3773
|
+
var eventCache = elmNodeData.get(target, strEvents, {});
|
|
3774
|
+
objForEachKey(eventCache, function (evtType, events) {
|
|
3775
|
+
_doUnregister(target, events, evtName, unRegFn);
|
|
3776
|
+
});
|
|
3777
|
+
if (objKeys(eventCache)[_DYN_LENGTH ] === 0) {
|
|
3778
|
+
elmNodeData.kill(target, strEvents);
|
|
3779
|
+
}
|
|
3780
|
+
}
|
|
3781
|
+
}
|
|
3782
|
+
function mergeEvtNamespace(theNamespace, namespaces) {
|
|
3783
|
+
var newNamespaces;
|
|
3784
|
+
if (namespaces) {
|
|
3785
|
+
if (isArray(namespaces)) {
|
|
3786
|
+
newNamespaces = [theNamespace].concat(namespaces);
|
|
3787
|
+
}
|
|
3788
|
+
else {
|
|
3789
|
+
newNamespaces = [theNamespace, namespaces];
|
|
3790
|
+
}
|
|
3791
|
+
newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)[_DYN_SPLIT ](".");
|
|
3792
|
+
}
|
|
3793
|
+
else {
|
|
3794
|
+
newNamespaces = theNamespace;
|
|
3795
|
+
}
|
|
3796
|
+
return newNamespaces;
|
|
3797
|
+
}
|
|
3798
|
+
function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
|
|
3799
|
+
var _a;
|
|
3800
|
+
if (useCapture === void 0) { useCapture = false; }
|
|
3801
|
+
var result = false;
|
|
3802
|
+
if (target) {
|
|
3803
|
+
try {
|
|
3804
|
+
var evtName = _getEvtNamespace(eventName, evtNamespace);
|
|
3805
|
+
result = _doAttach(target, evtName, handlerRef, useCapture);
|
|
3806
|
+
if (result && elmNodeData.accept(target)) {
|
|
3807
|
+
var registeredEvent = (_a = {
|
|
3808
|
+
guid: _guid++,
|
|
3809
|
+
evtName: evtName
|
|
3810
|
+
},
|
|
3811
|
+
_a[_DYN_HANDLER ] = handlerRef,
|
|
3812
|
+
_a.capture = useCapture,
|
|
3813
|
+
_a);
|
|
3814
|
+
_getRegisteredEvents(target, evtName.type)[_DYN_PUSH ](registeredEvent);
|
|
3964
3815
|
}
|
|
3965
|
-
|
|
3966
|
-
|
|
3967
|
-
|
|
3968
|
-
|
|
3969
|
-
|
|
3816
|
+
}
|
|
3817
|
+
catch (e) {
|
|
3818
|
+
}
|
|
3819
|
+
}
|
|
3820
|
+
return result;
|
|
3821
|
+
}
|
|
3822
|
+
function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {
|
|
3823
|
+
if (useCapture === void 0) { useCapture = false; }
|
|
3824
|
+
if (target) {
|
|
3825
|
+
try {
|
|
3826
|
+
var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
|
|
3827
|
+
var found_1 = false;
|
|
3828
|
+
_unregisterEvents(target, evtName_1, function (regEvent) {
|
|
3829
|
+
if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
|
|
3830
|
+
found_1 = true;
|
|
3831
|
+
return true;
|
|
3970
3832
|
}
|
|
3833
|
+
return false;
|
|
3834
|
+
});
|
|
3835
|
+
if (!found_1) {
|
|
3836
|
+
_doDetach(target, evtName_1, handlerRef, useCapture);
|
|
3971
3837
|
}
|
|
3972
3838
|
}
|
|
3973
|
-
|
|
3839
|
+
catch (e) {
|
|
3840
|
+
}
|
|
3841
|
+
}
|
|
3974
3842
|
}
|
|
3975
|
-
|
|
3976
|
-
|
|
3977
|
-
|
|
3978
|
-
|
|
3979
|
-
|
|
3980
|
-
|
|
3981
|
-
|
|
3982
|
-
|
|
3983
|
-
|
|
3984
|
-
|
|
3985
|
-
|
|
3986
|
-
|
|
3987
|
-
|
|
3988
|
-
|
|
3989
|
-
};
|
|
3990
|
-
_self[STR_EVENTS_SENT ] = function (events) {
|
|
3991
|
-
_runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SENT, true, function (listener) {
|
|
3992
|
-
listener[STR_EVENTS_SENT ](events);
|
|
3993
|
-
});
|
|
3994
|
-
};
|
|
3995
|
-
_self[STR_EVENTS_DISCARDED ] = function (events, reason) {
|
|
3996
|
-
_runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_DISCARDED, true, function (listener) {
|
|
3997
|
-
listener[STR_EVENTS_DISCARDED ](events, reason);
|
|
3998
|
-
});
|
|
3999
|
-
};
|
|
4000
|
-
_self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
|
|
4001
|
-
_runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
|
|
4002
|
-
listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
|
|
4003
|
-
});
|
|
4004
|
-
};
|
|
4005
|
-
_self[STR_PERF_EVENT ] = function (perfEvent) {
|
|
4006
|
-
if (perfEvent) {
|
|
4007
|
-
if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
|
|
4008
|
-
_runListeners(_self[_DYN_LISTENERS ], STR_PERF_EVENT, false, function (listener) {
|
|
4009
|
-
if (perfEvent[_DYN_IS_ASYNC ]) {
|
|
4010
|
-
setTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
|
|
4011
|
-
}
|
|
4012
|
-
else {
|
|
4013
|
-
listener[STR_PERF_EVENT ](perfEvent);
|
|
4014
|
-
}
|
|
4015
|
-
});
|
|
4016
|
-
}
|
|
4017
|
-
}
|
|
4018
|
-
};
|
|
4019
|
-
});
|
|
3843
|
+
function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
|
|
3844
|
+
if (useCapture === void 0) { useCapture = false; }
|
|
3845
|
+
return eventOn(obj, eventNameWithoutOn, handlerRef, null, useCapture);
|
|
3846
|
+
}
|
|
3847
|
+
function detachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
|
|
3848
|
+
if (useCapture === void 0) { useCapture = false; }
|
|
3849
|
+
eventOff(obj, eventNameWithoutOn, handlerRef, null, useCapture);
|
|
3850
|
+
}
|
|
3851
|
+
function addEventHandler(eventName, callback, evtNamespace) {
|
|
3852
|
+
var result = false;
|
|
3853
|
+
var w = getWindow();
|
|
3854
|
+
if (w) {
|
|
3855
|
+
result = eventOn(w, eventName, callback, evtNamespace);
|
|
3856
|
+
result = eventOn(w["body"], eventName, callback, evtNamespace) || result;
|
|
4020
3857
|
}
|
|
4021
|
-
|
|
4022
|
-
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
|
|
4027
|
-
|
|
4028
|
-
|
|
4029
|
-
|
|
4030
|
-
|
|
4031
|
-
|
|
4032
|
-
|
|
4033
|
-
|
|
4034
|
-
|
|
4035
|
-
|
|
4036
|
-
|
|
4037
|
-
|
|
4038
|
-
|
|
4039
|
-
|
|
4040
|
-
|
|
4041
|
-
|
|
4042
|
-
|
|
4043
|
-
|
|
4044
|
-
|
|
4045
|
-
_notifyInvalidEvent(telemetryItem);
|
|
4046
|
-
throwError("telemetry name required");
|
|
3858
|
+
var doc = getDocument();
|
|
3859
|
+
if (doc) {
|
|
3860
|
+
result = eventOn(doc, eventName, callback, evtNamespace) || result;
|
|
3861
|
+
}
|
|
3862
|
+
return result;
|
|
3863
|
+
}
|
|
3864
|
+
function removeEventHandler(eventName, callback, evtNamespace) {
|
|
3865
|
+
var w = getWindow();
|
|
3866
|
+
if (w) {
|
|
3867
|
+
eventOff(w, eventName, callback, evtNamespace);
|
|
3868
|
+
eventOff(w["body"], eventName, callback, evtNamespace);
|
|
3869
|
+
}
|
|
3870
|
+
var doc = getDocument();
|
|
3871
|
+
if (doc) {
|
|
3872
|
+
eventOff(doc, eventName, callback, evtNamespace);
|
|
3873
|
+
}
|
|
3874
|
+
}
|
|
3875
|
+
function _addEventListeners(events, listener, excludeEvents, evtNamespace) {
|
|
3876
|
+
var added = false;
|
|
3877
|
+
if (listener && events && events[_DYN_LENGTH ] > 0) {
|
|
3878
|
+
arrForEach(events, function (name) {
|
|
3879
|
+
if (name) {
|
|
3880
|
+
if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {
|
|
3881
|
+
added = addEventHandler(name, listener, evtNamespace) || added;
|
|
4047
3882
|
}
|
|
4048
3883
|
}
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
3884
|
+
});
|
|
3885
|
+
}
|
|
3886
|
+
return added;
|
|
3887
|
+
}
|
|
3888
|
+
function addEventListeners(events, listener, excludeEvents, evtNamespace) {
|
|
3889
|
+
var added = false;
|
|
3890
|
+
if (listener && events && isArray(events)) {
|
|
3891
|
+
added = _addEventListeners(events, listener, excludeEvents, evtNamespace);
|
|
3892
|
+
if (!added && excludeEvents && excludeEvents[_DYN_LENGTH ] > 0) {
|
|
3893
|
+
added = _addEventListeners(events, listener, null, evtNamespace);
|
|
3894
|
+
}
|
|
3895
|
+
}
|
|
3896
|
+
return added;
|
|
3897
|
+
}
|
|
3898
|
+
function removeEventListeners(events, listener, evtNamespace) {
|
|
3899
|
+
if (events && isArray(events)) {
|
|
3900
|
+
arrForEach(events, function (name) {
|
|
3901
|
+
if (name) {
|
|
3902
|
+
removeEventHandler(name, listener, evtNamespace);
|
|
4054
3903
|
}
|
|
4055
3904
|
});
|
|
4056
|
-
return _this;
|
|
4057
3905
|
}
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
3906
|
+
}
|
|
3907
|
+
function addPageUnloadEventListener(listener, excludeEvents, evtNamespace) {
|
|
3908
|
+
return addEventListeners([strBeforeUnload, strUnload, strPageHide], listener, excludeEvents, evtNamespace);
|
|
3909
|
+
}
|
|
3910
|
+
function removePageUnloadEventListener(listener, evtNamespace) {
|
|
3911
|
+
removeEventListeners([strBeforeUnload, strUnload, strPageHide], listener, evtNamespace);
|
|
3912
|
+
}
|
|
3913
|
+
function addPageHideEventListener(listener, excludeEvents, evtNamespace) {
|
|
3914
|
+
function _handlePageVisibility(evt) {
|
|
3915
|
+
var doc = getDocument();
|
|
3916
|
+
if (listener && doc && doc.visibilityState === "hidden") {
|
|
3917
|
+
listener(evt);
|
|
3918
|
+
}
|
|
3919
|
+
}
|
|
3920
|
+
var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
|
|
3921
|
+
var pageUnloadAdded = _addEventListeners([strPageHide], listener, excludeEvents, newNamespaces);
|
|
3922
|
+
if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {
|
|
3923
|
+
pageUnloadAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageUnloadAdded;
|
|
3924
|
+
}
|
|
3925
|
+
if (!pageUnloadAdded && excludeEvents) {
|
|
3926
|
+
pageUnloadAdded = addPageHideEventListener(listener, null, evtNamespace);
|
|
3927
|
+
}
|
|
3928
|
+
return pageUnloadAdded;
|
|
3929
|
+
}
|
|
3930
|
+
function removePageHideEventListener(listener, evtNamespace) {
|
|
3931
|
+
var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
|
|
3932
|
+
removeEventListeners([strPageHide], listener, newNamespaces);
|
|
3933
|
+
removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
|
|
3934
|
+
}
|
|
3935
|
+
function addPageShowEventListener(listener, excludeEvents, evtNamespace) {
|
|
3936
|
+
function _handlePageVisibility(evt) {
|
|
3937
|
+
var doc = getDocument();
|
|
3938
|
+
if (listener && doc && doc.visibilityState === "visible") {
|
|
3939
|
+
listener(evt);
|
|
3940
|
+
}
|
|
3941
|
+
}
|
|
3942
|
+
var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
|
|
3943
|
+
var pageShowAdded = _addEventListeners([strPageShow], listener, excludeEvents, newNamespaces);
|
|
3944
|
+
pageShowAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageShowAdded;
|
|
3945
|
+
if (!pageShowAdded && excludeEvents) {
|
|
3946
|
+
pageShowAdded = addPageShowEventListener(listener, null, evtNamespace);
|
|
3947
|
+
}
|
|
3948
|
+
return pageShowAdded;
|
|
3949
|
+
}
|
|
3950
|
+
function removePageShowEventListener(listener, evtNamespace) {
|
|
3951
|
+
var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
|
|
3952
|
+
removeEventListeners([strPageShow], listener, newNamespaces);
|
|
3953
|
+
removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
|
|
3954
|
+
}
|
|
4061
3955
|
|
|
4062
3956
|
var _a;
|
|
4063
3957
|
var FAILED = "Failed";
|
|
@@ -4224,7 +4118,7 @@
|
|
|
4224
4118
|
_a);
|
|
4225
4119
|
var hookCtx = [];
|
|
4226
4120
|
var cbArgs = _createArgs([funcArgs], orgArgs);
|
|
4227
|
-
funcArgs.evt =
|
|
4121
|
+
funcArgs.evt = getInst("event");
|
|
4228
4122
|
function _createArgs(target, theArgs) {
|
|
4229
4123
|
_arrLoop(theArgs, function (arg) {
|
|
4230
4124
|
target[_DYN_PUSH ](arg);
|
|
@@ -4255,11 +4149,11 @@
|
|
|
4255
4149
|
function _getOwner(target, name, checkPrototype) {
|
|
4256
4150
|
var owner = null;
|
|
4257
4151
|
if (target) {
|
|
4258
|
-
if (
|
|
4152
|
+
if (objHasOwnProperty(target, name)) {
|
|
4259
4153
|
owner = target;
|
|
4260
4154
|
}
|
|
4261
4155
|
else if (checkPrototype) {
|
|
4262
|
-
owner = _getOwner(_getObjProto
|
|
4156
|
+
owner = _getOwner(_getObjProto(target), name, false);
|
|
4263
4157
|
}
|
|
4264
4158
|
}
|
|
4265
4159
|
return owner;
|
|
@@ -4346,9 +4240,7 @@
|
|
|
4346
4240
|
exports.AppInsightsCore = AppInsightsCore;
|
|
4347
4241
|
exports.BaseCore = BaseCore;
|
|
4348
4242
|
exports.BaseTelemetryPlugin = BaseTelemetryPlugin;
|
|
4349
|
-
exports.CoreUtils = CoreUtils;
|
|
4350
4243
|
exports.DiagnosticLogger = DiagnosticLogger;
|
|
4351
|
-
exports.EventHelper = EventHelper;
|
|
4352
4244
|
exports.EventsDiscardedReason = EventsDiscardedReason;
|
|
4353
4245
|
exports.InstrumentEvent = InstrumentEvent;
|
|
4354
4246
|
exports.InstrumentFunc = InstrumentFunc;
|
|
@@ -4365,7 +4257,6 @@
|
|
|
4365
4257
|
exports._InternalLogMessage = _InternalLogMessage;
|
|
4366
4258
|
exports._InternalMessageId = _InternalMessageId;
|
|
4367
4259
|
exports.__getRegisteredEvents = __getRegisteredEvents;
|
|
4368
|
-
exports._legacyCookieMgr = _legacyCookieMgr;
|
|
4369
4260
|
exports._logInternalMessage = _logInternalMessage;
|
|
4370
4261
|
exports._throwInternal = _throwInternal;
|
|
4371
4262
|
exports._warnToConsole = _warnToConsole;
|
|
@@ -4380,10 +4271,8 @@
|
|
|
4380
4271
|
exports.arrMap = arrMap;
|
|
4381
4272
|
exports.arrReduce = arrReduce;
|
|
4382
4273
|
exports.attachEvent = attachEvent;
|
|
4383
|
-
exports.canUseCookies = canUseCookies;
|
|
4384
4274
|
exports.createClassFromInterface = createClassFromInterface;
|
|
4385
4275
|
exports.createCookieMgr = createCookieMgr;
|
|
4386
|
-
exports.createEnumMap = createEnumMap;
|
|
4387
4276
|
exports.createEnumStyle = createEnumStyle;
|
|
4388
4277
|
exports.createProcessTelemetryContext = createProcessTelemetryContext;
|
|
4389
4278
|
exports.createTraceParent = createTraceParent;
|
|
@@ -4391,10 +4280,8 @@
|
|
|
4391
4280
|
exports.createUnloadHandlerContainer = createUnloadHandlerContainer;
|
|
4392
4281
|
exports.createValueMap = createValueMap;
|
|
4393
4282
|
exports.dateNow = dateNow;
|
|
4394
|
-
exports.deepFreeze =
|
|
4395
|
-
exports.deleteCookie = deleteCookie;
|
|
4283
|
+
exports.deepFreeze = objDeepFreeze;
|
|
4396
4284
|
exports.detachEvent = detachEvent;
|
|
4397
|
-
exports.disableCookies = disableCookies;
|
|
4398
4285
|
exports.doPerf = doPerf;
|
|
4399
4286
|
exports.dumpObj = dumpObj;
|
|
4400
4287
|
exports.eventOff = eventOff;
|
|
@@ -4405,7 +4292,6 @@
|
|
|
4405
4292
|
exports.formatTraceParent = formatTraceParent;
|
|
4406
4293
|
exports.generateW3CId = generateW3CId;
|
|
4407
4294
|
exports.getConsole = getConsole;
|
|
4408
|
-
exports.getCookie = getCookie;
|
|
4409
4295
|
exports.getCrypto = getCrypto;
|
|
4410
4296
|
exports.getDebugExt = getDebugExt;
|
|
4411
4297
|
exports.getDebugListener = getDebugListener;
|
|
@@ -4413,7 +4299,7 @@
|
|
|
4413
4299
|
exports.getExceptionName = getExceptionName;
|
|
4414
4300
|
exports.getGblPerfMgr = getGblPerfMgr;
|
|
4415
4301
|
exports.getGlobal = getGlobal;
|
|
4416
|
-
exports.getGlobalInst =
|
|
4302
|
+
exports.getGlobalInst = getInst;
|
|
4417
4303
|
exports.getHistory = getHistory;
|
|
4418
4304
|
exports.getIEVersion = getIEVersion;
|
|
4419
4305
|
exports.getJSON = getJSON;
|
|
@@ -4427,7 +4313,7 @@
|
|
|
4427
4313
|
exports.hasHistory = hasHistory;
|
|
4428
4314
|
exports.hasJSON = hasJSON;
|
|
4429
4315
|
exports.hasNavigator = hasNavigator;
|
|
4430
|
-
exports.hasOwnProperty =
|
|
4316
|
+
exports.hasOwnProperty = objHasOwnProperty;
|
|
4431
4317
|
exports.hasWindow = hasWindow;
|
|
4432
4318
|
exports.initializePlugins = initializePlugins;
|
|
4433
4319
|
exports.isArray = isArray;
|
|
@@ -4485,7 +4371,6 @@
|
|
|
4485
4371
|
exports.removePageUnloadEventListener = removePageUnloadEventListener;
|
|
4486
4372
|
exports.safeGetCookieMgr = safeGetCookieMgr;
|
|
4487
4373
|
exports.safeGetLogger = safeGetLogger;
|
|
4488
|
-
exports.setCookie = setCookie;
|
|
4489
4374
|
exports.setEnableEnvMocks = setEnableEnvMocks;
|
|
4490
4375
|
exports.setGblPerfMgr = setGblPerfMgr;
|
|
4491
4376
|
exports.setValue = setValue;
|
|
@@ -4504,7 +4389,7 @@
|
|
|
4504
4389
|
exports.unloadComponents = unloadComponents;
|
|
4505
4390
|
exports.useXDomainRequest = useXDomainRequest;
|
|
4506
4391
|
|
|
4507
|
-
|
|
4392
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4508
4393
|
|
|
4509
4394
|
}));
|
|
4510
4395
|
//# sourceMappingURL=applicationinsights-core-js.js.map
|