@microsoft/applicationinsights-analytics-js 2.8.5-nightly.2206-04 → 2.8.5-nightly.2207-02
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/applicationinsights-analytics-js.integrity.json +9 -9
- package/browser/applicationinsights-analytics-js.js +1416 -1239
- package/browser/applicationinsights-analytics-js.js.map +1 -1
- package/browser/applicationinsights-analytics-js.min.js +2 -2
- package/browser/applicationinsights-analytics-js.min.js.map +1 -1
- package/dist/applicationinsights-analytics-js.api.json +6 -2
- package/dist/applicationinsights-analytics-js.d.ts +1 -1
- package/dist/applicationinsights-analytics-js.js +1416 -1239
- package/dist/applicationinsights-analytics-js.js.map +1 -1
- package/dist/applicationinsights-analytics-js.min.js +2 -2
- package/dist/applicationinsights-analytics-js.min.js.map +1 -1
- package/dist/applicationinsights-analytics-js.rollup.d.ts +1 -1
- package/dist-esm/JavaScriptSDK/AnalyticsPlugin.js +115 -112
- package/dist-esm/JavaScriptSDK/AnalyticsPlugin.js.map +1 -1
- package/dist-esm/JavaScriptSDK/Telemetry/PageViewManager.js +24 -23
- package/dist-esm/JavaScriptSDK/Telemetry/PageViewManager.js.map +1 -1
- package/dist-esm/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js +159 -153
- package/dist-esm/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js.map +1 -1
- package/dist-esm/JavaScriptSDK/Telemetry/PageVisitTimeManager.js +90 -87
- package/dist-esm/JavaScriptSDK/Telemetry/PageVisitTimeManager.js.map +1 -1
- package/dist-esm/JavaScriptSDK/Timing.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryConfig.js +1 -1
- package/dist-esm/__DynamicConstants.js +61 -0
- package/dist-esm/__DynamicConstants.js.map +1 -0
- package/dist-esm/applicationinsights-analytics-js.js +1 -1
- package/package.json +9 -6
- package/src/JavaScriptSDK/AnalyticsPlugin.ts +49 -51
- package/src/JavaScriptSDK/Telemetry/PageViewManager.ts +18 -18
- package/src/JavaScriptSDK/Telemetry/PageViewPerformanceManager.ts +183 -160
- package/src/JavaScriptSDK/Telemetry/PageVisitTimeManager.ts +108 -100
- package/src/__DynamicConstants.ts +59 -0
- package/types/JavaScriptSDK/AnalyticsPlugin.d.ts +5 -5
- package/types/JavaScriptSDK/Telemetry/PageViewManager.d.ts +1 -1
- package/types/JavaScriptSDK/Telemetry/PageViewPerformanceManager.d.ts +1 -8
- package/types/JavaScriptSDK/Telemetry/PageVisitTimeManager.d.ts +0 -20
- package/types/__DynamicConstants.d.ts +47 -0
- package/types/tsdoc-metadata.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Web Analytics, 2.8.5-nightly.
|
|
2
|
+
* Application Insights JavaScript SDK - Web Analytics, 2.8.5-nightly.2207-02
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
(function (global, factory) {
|
|
@@ -98,21 +98,314 @@
|
|
|
98
98
|
d[strShimPrototype] = b === null ? objCreateFn(b) : (__[strShimPrototype] = b[strShimPrototype], new __());
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
var
|
|
106
|
-
var
|
|
107
|
-
var
|
|
108
|
-
var
|
|
101
|
+
/*!
|
|
102
|
+
* Microsoft Dynamic Proto Utility, 1.1.6
|
|
103
|
+
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
104
|
+
*/
|
|
105
|
+
var Constructor = 'constructor';
|
|
106
|
+
var Prototype = 'prototype';
|
|
107
|
+
var strFunction = 'function';
|
|
108
|
+
var DynInstFuncTable = '_dynInstFuncs';
|
|
109
|
+
var DynProxyTag = '_isDynProxy';
|
|
110
|
+
var DynClassName = '_dynClass';
|
|
111
|
+
var DynClassNamePrefix = '_dynCls$';
|
|
112
|
+
var DynInstChkTag = '_dynInstChk';
|
|
113
|
+
var DynAllowInstChkTag = DynInstChkTag;
|
|
114
|
+
var DynProtoDefaultOptions = '_dfOpts';
|
|
115
|
+
var UnknownValue = '_unknown_';
|
|
116
|
+
var str__Proto$1 = "__proto__";
|
|
117
|
+
var DynProtoBaseProto = "_dyn" + str__Proto$1;
|
|
118
|
+
var DynProtoCurrent = "_dynInstProto";
|
|
119
|
+
var strUseBaseInst = 'useBaseInst';
|
|
120
|
+
var strSetInstFuncs = 'setInstFuncs';
|
|
121
|
+
var Obj = Object;
|
|
122
|
+
var _objGetPrototypeOf$1 = Obj["getPrototypeOf"];
|
|
123
|
+
var _objGetOwnProps = Obj["getOwnPropertyNames"];
|
|
124
|
+
var _dynamicNames = 0;
|
|
125
|
+
function _hasOwnProperty(obj, prop) {
|
|
126
|
+
return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);
|
|
127
|
+
}
|
|
128
|
+
function _isObjectOrArrayPrototype(target) {
|
|
129
|
+
return target && (target === Obj[Prototype] || target === Array[Prototype]);
|
|
130
|
+
}
|
|
131
|
+
function _isObjectArrayOrFunctionPrototype(target) {
|
|
132
|
+
return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
|
|
133
|
+
}
|
|
134
|
+
function _getObjProto$1(target) {
|
|
135
|
+
var newProto;
|
|
136
|
+
if (target) {
|
|
137
|
+
if (_objGetPrototypeOf$1) {
|
|
138
|
+
return _objGetPrototypeOf$1(target);
|
|
139
|
+
}
|
|
140
|
+
var curProto = target[str__Proto$1] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
|
|
141
|
+
newProto = target[DynProtoBaseProto] || curProto;
|
|
142
|
+
if (!_hasOwnProperty(target, DynProtoBaseProto)) {
|
|
143
|
+
delete target[DynProtoCurrent];
|
|
144
|
+
newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];
|
|
145
|
+
target[DynProtoCurrent] = curProto;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return newProto;
|
|
149
|
+
}
|
|
150
|
+
function _forEachProp(target, func) {
|
|
151
|
+
var props = [];
|
|
152
|
+
if (_objGetOwnProps) {
|
|
153
|
+
props = _objGetOwnProps(target);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
for (var name_1 in target) {
|
|
157
|
+
if (typeof name_1 === "string" && _hasOwnProperty(target, name_1)) {
|
|
158
|
+
props.push(name_1);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
if (props && props.length > 0) {
|
|
163
|
+
for (var lp = 0; lp < props.length; lp++) {
|
|
164
|
+
func(props[lp]);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
function _isDynamicCandidate(target, funcName, skipOwn) {
|
|
169
|
+
return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || _hasOwnProperty(target, funcName)));
|
|
170
|
+
}
|
|
171
|
+
function _throwTypeError(message) {
|
|
172
|
+
throw new TypeError("DynamicProto: " + message);
|
|
173
|
+
}
|
|
174
|
+
function _getInstanceFuncs(thisTarget) {
|
|
175
|
+
var instFuncs = {};
|
|
176
|
+
_forEachProp(thisTarget, function (name) {
|
|
177
|
+
if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
|
|
178
|
+
instFuncs[name] = thisTarget[name];
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
return instFuncs;
|
|
182
|
+
}
|
|
183
|
+
function _hasVisited(values, value) {
|
|
184
|
+
for (var lp = values.length - 1; lp >= 0; lp--) {
|
|
185
|
+
if (values[lp] === value) {
|
|
186
|
+
return true;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return false;
|
|
190
|
+
}
|
|
191
|
+
function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
|
|
192
|
+
function _instFuncProxy(target, funcHost, funcName) {
|
|
193
|
+
var theFunc = funcHost[funcName];
|
|
194
|
+
if (theFunc[DynProxyTag] && useBaseInst) {
|
|
195
|
+
var instFuncTable = target[DynInstFuncTable] || {};
|
|
196
|
+
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
197
|
+
theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return function () {
|
|
201
|
+
return theFunc.apply(target, arguments);
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
var baseFuncs = {};
|
|
205
|
+
_forEachProp(instFuncs, function (name) {
|
|
206
|
+
baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
|
|
207
|
+
});
|
|
208
|
+
var baseProto = _getObjProto$1(classProto);
|
|
209
|
+
var visited = [];
|
|
210
|
+
while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {
|
|
211
|
+
_forEachProp(baseProto, function (name) {
|
|
212
|
+
if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf$1)) {
|
|
213
|
+
baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
visited.push(baseProto);
|
|
217
|
+
baseProto = _getObjProto$1(baseProto);
|
|
218
|
+
}
|
|
219
|
+
return baseFuncs;
|
|
220
|
+
}
|
|
221
|
+
function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
|
|
222
|
+
var instFunc = null;
|
|
223
|
+
if (target && _hasOwnProperty(proto, DynClassName)) {
|
|
224
|
+
var instFuncTable = target[DynInstFuncTable] || {};
|
|
225
|
+
instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
|
|
226
|
+
if (!instFunc) {
|
|
227
|
+
_throwTypeError("Missing [" + funcName + "] " + strFunction);
|
|
228
|
+
}
|
|
229
|
+
if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {
|
|
230
|
+
var canAddInst = !_hasOwnProperty(target, funcName);
|
|
231
|
+
var objProto = _getObjProto$1(target);
|
|
232
|
+
var visited = [];
|
|
233
|
+
while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {
|
|
234
|
+
var protoFunc = objProto[funcName];
|
|
235
|
+
if (protoFunc) {
|
|
236
|
+
canAddInst = (protoFunc === currentDynProtoProxy);
|
|
237
|
+
break;
|
|
238
|
+
}
|
|
239
|
+
visited.push(objProto);
|
|
240
|
+
objProto = _getObjProto$1(objProto);
|
|
241
|
+
}
|
|
242
|
+
try {
|
|
243
|
+
if (canAddInst) {
|
|
244
|
+
target[funcName] = instFunc;
|
|
245
|
+
}
|
|
246
|
+
instFunc[DynInstChkTag] = 1;
|
|
247
|
+
}
|
|
248
|
+
catch (e) {
|
|
249
|
+
instFuncTable[DynAllowInstChkTag] = false;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return instFunc;
|
|
254
|
+
}
|
|
255
|
+
function _getProtoFunc(funcName, proto, currentDynProtoProxy) {
|
|
256
|
+
var protoFunc = proto[funcName];
|
|
257
|
+
if (protoFunc === currentDynProtoProxy) {
|
|
258
|
+
protoFunc = _getObjProto$1(proto)[funcName];
|
|
259
|
+
}
|
|
260
|
+
if (typeof protoFunc !== strFunction) {
|
|
261
|
+
_throwTypeError("[" + funcName + "] is not a " + strFunction);
|
|
262
|
+
}
|
|
263
|
+
return protoFunc;
|
|
264
|
+
}
|
|
265
|
+
function _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {
|
|
266
|
+
function _createDynamicPrototype(proto, funcName) {
|
|
267
|
+
var dynProtoProxy = function () {
|
|
268
|
+
var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);
|
|
269
|
+
return instFunc.apply(this, arguments);
|
|
270
|
+
};
|
|
271
|
+
dynProtoProxy[DynProxyTag] = 1;
|
|
272
|
+
return dynProtoProxy;
|
|
273
|
+
}
|
|
274
|
+
if (!_isObjectOrArrayPrototype(proto)) {
|
|
275
|
+
var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
|
|
276
|
+
var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
|
|
277
|
+
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
278
|
+
instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
|
|
279
|
+
}
|
|
280
|
+
_forEachProp(target, function (name) {
|
|
281
|
+
if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
|
|
282
|
+
instFuncs_1[name] = target[name];
|
|
283
|
+
delete target[name];
|
|
284
|
+
if (!_hasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
|
|
285
|
+
proto[name] = _createDynamicPrototype(proto, name);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
function _checkPrototype(classProto, thisTarget) {
|
|
292
|
+
if (_objGetPrototypeOf$1) {
|
|
293
|
+
var visited = [];
|
|
294
|
+
var thisProto = _getObjProto$1(thisTarget);
|
|
295
|
+
while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {
|
|
296
|
+
if (thisProto === classProto) {
|
|
297
|
+
return true;
|
|
298
|
+
}
|
|
299
|
+
visited.push(thisProto);
|
|
300
|
+
thisProto = _getObjProto$1(thisProto);
|
|
301
|
+
}
|
|
302
|
+
return false;
|
|
303
|
+
}
|
|
304
|
+
return true;
|
|
305
|
+
}
|
|
306
|
+
function _getObjName(target, unknownValue) {
|
|
307
|
+
if (_hasOwnProperty(target, Prototype)) {
|
|
308
|
+
return target.name || unknownValue || UnknownValue;
|
|
309
|
+
}
|
|
310
|
+
return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;
|
|
311
|
+
}
|
|
312
|
+
function dynamicProto(theClass, target, delegateFunc, options) {
|
|
313
|
+
if (!_hasOwnProperty(theClass, Prototype)) {
|
|
314
|
+
_throwTypeError("theClass is an invalid class definition.");
|
|
315
|
+
}
|
|
316
|
+
var classProto = theClass[Prototype];
|
|
317
|
+
if (!_checkPrototype(classProto, target)) {
|
|
318
|
+
_throwTypeError("[" + _getObjName(theClass) + "] is not in class hierarchy of [" + _getObjName(target) + "]");
|
|
319
|
+
}
|
|
320
|
+
var className = null;
|
|
321
|
+
if (_hasOwnProperty(classProto, DynClassName)) {
|
|
322
|
+
className = classProto[DynClassName];
|
|
323
|
+
}
|
|
324
|
+
else {
|
|
325
|
+
className = DynClassNamePrefix + _getObjName(theClass, "_") + "$" + _dynamicNames;
|
|
326
|
+
_dynamicNames++;
|
|
327
|
+
classProto[DynClassName] = className;
|
|
328
|
+
}
|
|
329
|
+
var perfOptions = dynamicProto[DynProtoDefaultOptions];
|
|
330
|
+
var useBaseInst = !!perfOptions[strUseBaseInst];
|
|
331
|
+
if (useBaseInst && options && options[strUseBaseInst] !== undefined) {
|
|
332
|
+
useBaseInst = !!options[strUseBaseInst];
|
|
333
|
+
}
|
|
334
|
+
var instFuncs = _getInstanceFuncs(target);
|
|
335
|
+
var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);
|
|
336
|
+
delegateFunc(target, baseFuncs);
|
|
337
|
+
var setInstanceFunc = !!_objGetPrototypeOf$1 && !!perfOptions[strSetInstFuncs];
|
|
338
|
+
if (setInstanceFunc && options) {
|
|
339
|
+
setInstanceFunc = !!options[strSetInstFuncs];
|
|
340
|
+
}
|
|
341
|
+
_populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);
|
|
342
|
+
}
|
|
343
|
+
var perfDefaults = {
|
|
344
|
+
setInstFuncs: true,
|
|
345
|
+
useBaseInst: true
|
|
346
|
+
};
|
|
347
|
+
dynamicProto[DynProtoDefaultOptions] = perfDefaults;
|
|
348
|
+
|
|
349
|
+
var _DYN_INITIALIZE = "initialize";
|
|
350
|
+
var _DYN_NAME$1 = "name";
|
|
351
|
+
var _DYN_IDENTIFIER = "identifier";
|
|
352
|
+
var _DYN_PUSH = "push";
|
|
353
|
+
var _DYN_IS_INITIALIZED = "isInitialized";
|
|
354
|
+
var _DYN_CONFIG = "config";
|
|
355
|
+
var _DYN_LOGGER = "logger";
|
|
356
|
+
var _DYN_LENGTH$2 = "length";
|
|
357
|
+
var _DYN_TIME = "time";
|
|
358
|
+
var _DYN_PROCESS_NEXT = "processNext";
|
|
359
|
+
var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
|
|
360
|
+
var _DYN_GET_PLUGIN = "getPlugin";
|
|
361
|
+
var _DYN_SPLICE = "splice";
|
|
362
|
+
var _DYN_TEARDOWN = "teardown";
|
|
363
|
+
var _DYN_MESSAGE_ID = "messageId";
|
|
364
|
+
var _DYN_MESSAGE$2 = "message";
|
|
365
|
+
var _DYN_IS_ASYNC = "isAsync";
|
|
366
|
+
var _DYN__DO_TEARDOWN = "_doTeardown";
|
|
367
|
+
var _DYN_UPDATE = "update";
|
|
368
|
+
var _DYN_GET_NEXT = "getNext";
|
|
369
|
+
var _DYN_DIAG_LOG$1 = "diagLog";
|
|
370
|
+
var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
|
|
371
|
+
var _DYN_CREATE_NEW = "createNew";
|
|
372
|
+
var _DYN_COOKIE_CFG = "cookieCfg";
|
|
373
|
+
var _DYN_INDEX_OF$1 = "indexOf";
|
|
374
|
+
var _DYN_SUBSTRING$1 = "substring";
|
|
375
|
+
var _DYN_USER_AGENT = "userAgent";
|
|
376
|
+
var _DYN_SPLIT$1 = "split";
|
|
377
|
+
var _DYN_SET_ENABLED = "setEnabled";
|
|
378
|
+
var _DYN_REPLACE = "replace";
|
|
379
|
+
var _DYN_SUBSTR = "substr";
|
|
380
|
+
var _DYN_NODE_TYPE = "nodeType";
|
|
381
|
+
var _DYN_APPLY = "apply";
|
|
382
|
+
var _DYN_ENABLE_DEBUG_EXCEPTI4 = "enableDebugExceptions";
|
|
383
|
+
var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
|
|
384
|
+
var _DYN_TO_LOWER_CASE$1 = "toLowerCase";
|
|
385
|
+
var _DYN_CALL = "call";
|
|
386
|
+
var _DYN_TYPE = "type";
|
|
387
|
+
var _DYN_HANDLER = "handler";
|
|
388
|
+
var _DYN_IS_CHILD_EVT = "isChildEvt";
|
|
389
|
+
var _DYN_GET_CTX = "getCtx";
|
|
390
|
+
var _DYN_SET_CTX = "setCtx";
|
|
391
|
+
var _DYN_COMPLETE = "complete";
|
|
392
|
+
|
|
393
|
+
var STR_EMPTY = "";
|
|
394
|
+
var STR_CORE = "core";
|
|
395
|
+
var STR_DISABLED = "disabled";
|
|
396
|
+
var STR_EXTENSION_CONFIG = "extensionConfig";
|
|
397
|
+
var STR_PROCESS_TELEMETRY = "processTelemetry";
|
|
398
|
+
var STR_PRIORITY = "priority";
|
|
399
|
+
var STR_ERROR_TO_CONSOLE = "errorToConsole";
|
|
400
|
+
var STR_WARN_TO_CONSOLE = "warnToConsole";
|
|
401
|
+
var STR_GET_PERF_MGR = "getPerfMgr";
|
|
109
402
|
|
|
110
403
|
var strToISOString = "toISOString";
|
|
111
404
|
var cStrEndsWith = "endsWith";
|
|
112
405
|
var strMap = "map";
|
|
113
406
|
var cStrTrim = "trim";
|
|
114
407
|
var strToString = "toString";
|
|
115
|
-
var str__Proto
|
|
408
|
+
var str__Proto = "__proto__";
|
|
116
409
|
var strConstructor = "constructor";
|
|
117
410
|
var _objDefineProperty$1 = ObjDefineProperty;
|
|
118
411
|
var _objFreeze = ObjClass.freeze;
|
|
@@ -125,17 +418,17 @@
|
|
|
125
418
|
var _isArray = Array.isArray;
|
|
126
419
|
var _objToString = ObjProto[strToString];
|
|
127
420
|
var _fnToString = ObjHasOwnProperty[strToString];
|
|
128
|
-
var _objFunctionString = _fnToString
|
|
421
|
+
var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass);
|
|
129
422
|
var rCamelCase = /-([a-z])/g;
|
|
130
423
|
var rNormalizeInvalid = /([^\w\d_$])/g;
|
|
131
424
|
var rLeadingNumeric = /^(\d+[\w\d_$])/;
|
|
132
|
-
var _objGetPrototypeOf
|
|
133
|
-
function _getObjProto
|
|
425
|
+
var _objGetPrototypeOf = Object["getPrototypeOf"];
|
|
426
|
+
function _getObjProto(target) {
|
|
134
427
|
if (target) {
|
|
135
|
-
if (_objGetPrototypeOf
|
|
136
|
-
return _objGetPrototypeOf
|
|
428
|
+
if (_objGetPrototypeOf) {
|
|
429
|
+
return _objGetPrototypeOf(target);
|
|
137
430
|
}
|
|
138
|
-
var newProto = target[str__Proto
|
|
431
|
+
var newProto = target[str__Proto] || target[strShimPrototype] || target[strConstructor];
|
|
139
432
|
if (newProto) {
|
|
140
433
|
return newProto;
|
|
141
434
|
}
|
|
@@ -152,7 +445,7 @@
|
|
|
152
445
|
return !isNullOrUndefined(value);
|
|
153
446
|
}
|
|
154
447
|
function hasOwnProperty(obj, prop) {
|
|
155
|
-
return !!(obj && ObjHasOwnProperty
|
|
448
|
+
return !!(obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop));
|
|
156
449
|
}
|
|
157
450
|
function isObject(value) {
|
|
158
451
|
return !!(value && typeof value === strShimObject);
|
|
@@ -163,11 +456,11 @@
|
|
|
163
456
|
function normalizeJsName(name) {
|
|
164
457
|
var value = name;
|
|
165
458
|
if (value && isString(value)) {
|
|
166
|
-
value = value
|
|
459
|
+
value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
|
|
167
460
|
return letter.toUpperCase();
|
|
168
461
|
});
|
|
169
|
-
value = value
|
|
170
|
-
value = value
|
|
462
|
+
value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
|
|
463
|
+
value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
|
|
171
464
|
return "_" + match;
|
|
172
465
|
});
|
|
173
466
|
}
|
|
@@ -176,8 +469,8 @@
|
|
|
176
469
|
function objForEachKey(target, callbackfn) {
|
|
177
470
|
if (target) {
|
|
178
471
|
for (var prop in target) {
|
|
179
|
-
if (ObjHasOwnProperty
|
|
180
|
-
callbackfn
|
|
472
|
+
if (ObjHasOwnProperty[_DYN_CALL ](target, prop)) {
|
|
473
|
+
callbackfn[_DYN_CALL ](target, prop, target[prop]);
|
|
181
474
|
}
|
|
182
475
|
}
|
|
183
476
|
}
|
|
@@ -191,8 +484,8 @@
|
|
|
191
484
|
}
|
|
192
485
|
function _strEndsWithPoly(value, search) {
|
|
193
486
|
var result = false;
|
|
194
|
-
var searchLen = search ? search
|
|
195
|
-
var valLen = value ? value
|
|
487
|
+
var searchLen = search ? search[_DYN_LENGTH$2 ] : 0;
|
|
488
|
+
var valLen = value ? value[_DYN_LENGTH$2 ] : 0;
|
|
196
489
|
if (searchLen && valLen && valLen >= searchLen && !(result = value === search)) {
|
|
197
490
|
var pos = valLen - 1;
|
|
198
491
|
for (var lp = searchLen - 1; lp >= 0; lp--) {
|
|
@@ -207,16 +500,16 @@
|
|
|
207
500
|
}
|
|
208
501
|
function strContains(value, search) {
|
|
209
502
|
if (value && search) {
|
|
210
|
-
return value
|
|
503
|
+
return value[_DYN_INDEX_OF$1 ](search) !== -1;
|
|
211
504
|
}
|
|
212
505
|
return false;
|
|
213
506
|
}
|
|
214
507
|
var isArray = _isArray || _isArrayPoly;
|
|
215
508
|
function _isArrayPoly(obj) {
|
|
216
|
-
return !!(obj && _objToString
|
|
509
|
+
return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Array]");
|
|
217
510
|
}
|
|
218
511
|
function isError(obj) {
|
|
219
|
-
return !!(obj && _objToString
|
|
512
|
+
return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Error]");
|
|
220
513
|
}
|
|
221
514
|
function isString(value) {
|
|
222
515
|
return typeof value === "string";
|
|
@@ -227,15 +520,15 @@
|
|
|
227
520
|
function isPlainObject(value) {
|
|
228
521
|
var result = false;
|
|
229
522
|
if (value && typeof value === "object") {
|
|
230
|
-
var proto = _objGetPrototypeOf
|
|
523
|
+
var proto = _objGetPrototypeOf ? _objGetPrototypeOf(value) : _getObjProto(value);
|
|
231
524
|
if (!proto) {
|
|
232
525
|
result = true;
|
|
233
526
|
}
|
|
234
527
|
else {
|
|
235
|
-
if (proto[strConstructor] && ObjHasOwnProperty
|
|
528
|
+
if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL ](proto, strConstructor)) {
|
|
236
529
|
proto = proto[strConstructor];
|
|
237
530
|
}
|
|
238
|
-
result = typeof proto === strShimFunction && _fnToString
|
|
531
|
+
result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
|
|
239
532
|
}
|
|
240
533
|
}
|
|
241
534
|
return result;
|
|
@@ -249,7 +542,7 @@
|
|
|
249
542
|
if (date && date.getUTCFullYear) {
|
|
250
543
|
var pad = function (num) {
|
|
251
544
|
var r = String(num);
|
|
252
|
-
if (r
|
|
545
|
+
if (r[_DYN_LENGTH$2 ] === 1) {
|
|
253
546
|
r = "0" + r;
|
|
254
547
|
}
|
|
255
548
|
return r;
|
|
@@ -265,11 +558,11 @@
|
|
|
265
558
|
}
|
|
266
559
|
}
|
|
267
560
|
function arrForEach(arr, callbackfn, thisArg) {
|
|
268
|
-
var len = arr
|
|
561
|
+
var len = arr[_DYN_LENGTH$2 ];
|
|
269
562
|
try {
|
|
270
563
|
for (var idx = 0; idx < len; idx++) {
|
|
271
564
|
if (idx in arr) {
|
|
272
|
-
if (callbackfn
|
|
565
|
+
if (callbackfn[_DYN_CALL ](thisArg || arr, arr[idx], idx, arr) === -1) {
|
|
273
566
|
break;
|
|
274
567
|
}
|
|
275
568
|
}
|
|
@@ -284,13 +577,13 @@
|
|
|
284
577
|
if (arr[strMap]) {
|
|
285
578
|
return arr[strMap](callbackfn, thisArg);
|
|
286
579
|
}
|
|
287
|
-
var len = arr
|
|
580
|
+
var len = arr[_DYN_LENGTH$2 ];
|
|
288
581
|
var _this = thisArg || arr;
|
|
289
582
|
results = new Array(len);
|
|
290
583
|
try {
|
|
291
584
|
for (var lp = 0; lp < len; lp++) {
|
|
292
585
|
if (lp in arr) {
|
|
293
|
-
results[lp] = callbackfn
|
|
586
|
+
results[lp] = callbackfn[_DYN_CALL ](_this, arr[lp], arr);
|
|
294
587
|
}
|
|
295
588
|
}
|
|
296
589
|
}
|
|
@@ -301,7 +594,7 @@
|
|
|
301
594
|
}
|
|
302
595
|
function strTrim(str) {
|
|
303
596
|
if (str) {
|
|
304
|
-
str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str
|
|
597
|
+
str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str[_DYN_REPLACE ] ? str[_DYN_REPLACE ](/^\s+|\s+$/g, STR_EMPTY) : str);
|
|
305
598
|
}
|
|
306
599
|
return str;
|
|
307
600
|
}
|
|
@@ -325,15 +618,15 @@
|
|
|
325
618
|
}
|
|
326
619
|
var result = [];
|
|
327
620
|
for (var prop in obj) {
|
|
328
|
-
if (obj && ObjHasOwnProperty
|
|
329
|
-
result
|
|
621
|
+
if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop)) {
|
|
622
|
+
result[_DYN_PUSH ](prop);
|
|
330
623
|
}
|
|
331
624
|
}
|
|
332
625
|
if (_objKeysHasDontEnumBug) {
|
|
333
|
-
var dontEnumsLength = _objKeysDontEnums
|
|
626
|
+
var dontEnumsLength = _objKeysDontEnums[_DYN_LENGTH$2 ];
|
|
334
627
|
for (var lp = 0; lp < dontEnumsLength; lp++) {
|
|
335
|
-
if (obj && ObjHasOwnProperty
|
|
336
|
-
result
|
|
628
|
+
if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, _objKeysDontEnums[lp])) {
|
|
629
|
+
result[_DYN_PUSH ](_objKeysDontEnums[lp]);
|
|
337
630
|
}
|
|
338
631
|
}
|
|
339
632
|
}
|
|
@@ -373,361 +666,116 @@
|
|
|
373
666
|
}
|
|
374
667
|
return objFreeze(obj);
|
|
375
668
|
}
|
|
376
|
-
var objFreeze = _objFreeze || _doNothing;
|
|
377
|
-
function dateNow() {
|
|
378
|
-
var dt = Date;
|
|
379
|
-
return dt.now ? dt.now() : new dt().getTime();
|
|
380
|
-
}
|
|
381
|
-
function getExceptionName(object) {
|
|
382
|
-
if (isError(object)) {
|
|
383
|
-
return object
|
|
384
|
-
}
|
|
385
|
-
return strEmpty$1;
|
|
386
|
-
}
|
|
387
|
-
function setValue(target, field, value, valChk, srcChk) {
|
|
388
|
-
var theValue = value;
|
|
389
|
-
if (target) {
|
|
390
|
-
theValue = target[field];
|
|
391
|
-
if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
|
|
392
|
-
theValue = value;
|
|
393
|
-
target[field] = theValue;
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
return theValue;
|
|
397
|
-
}
|
|
398
|
-
function isTruthy(value) {
|
|
399
|
-
return !!value;
|
|
400
|
-
}
|
|
401
|
-
function throwError(message) {
|
|
402
|
-
throw new Error(message);
|
|
403
|
-
}
|
|
404
|
-
function _createProxyFunction(source, funcName) {
|
|
405
|
-
var srcFunc = null;
|
|
406
|
-
var src = null;
|
|
407
|
-
if (isFunction(source)) {
|
|
408
|
-
srcFunc = source;
|
|
409
|
-
}
|
|
410
|
-
else {
|
|
411
|
-
src = source;
|
|
412
|
-
}
|
|
413
|
-
return function () {
|
|
414
|
-
var originalArguments = arguments;
|
|
415
|
-
if (srcFunc) {
|
|
416
|
-
src = srcFunc();
|
|
417
|
-
}
|
|
418
|
-
if (src) {
|
|
419
|
-
return src[funcName].apply(src, originalArguments);
|
|
420
|
-
}
|
|
421
|
-
};
|
|
422
|
-
}
|
|
423
|
-
function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
|
|
424
|
-
if (target && name && source) {
|
|
425
|
-
if (overwriteTarget !== false || isUndefined(target[name])) {
|
|
426
|
-
target[name] = _createProxyFunction(source, theFunc);
|
|
427
|
-
}
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
|
-
function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
|
|
431
|
-
var theArgs = arguments;
|
|
432
|
-
var extended = theArgs[0] || {};
|
|
433
|
-
var argLen = theArgs.length;
|
|
434
|
-
var deep = false;
|
|
435
|
-
var idx = 1;
|
|
436
|
-
if (argLen > 0 && isBoolean(extended)) {
|
|
437
|
-
deep = extended;
|
|
438
|
-
extended = theArgs[idx] || {};
|
|
439
|
-
idx++;
|
|
440
|
-
}
|
|
441
|
-
if (!isObject(extended)) {
|
|
442
|
-
extended = {};
|
|
443
|
-
}
|
|
444
|
-
for (; idx < argLen; idx++) {
|
|
445
|
-
var arg = theArgs[idx];
|
|
446
|
-
var isArgArray = isArray(arg);
|
|
447
|
-
var isArgObj = isObject(arg);
|
|
448
|
-
for (var prop in arg) {
|
|
449
|
-
var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty.call(arg, prop)));
|
|
450
|
-
if (!propOk) {
|
|
451
|
-
continue;
|
|
452
|
-
}
|
|
453
|
-
var newValue = arg[prop];
|
|
454
|
-
var isNewArray = void 0;
|
|
455
|
-
if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {
|
|
456
|
-
var clone = extended[prop];
|
|
457
|
-
if (isNewArray) {
|
|
458
|
-
if (!isArray(clone)) {
|
|
459
|
-
clone = [];
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
else if (!isPlainObject(clone)) {
|
|
463
|
-
clone = {};
|
|
464
|
-
}
|
|
465
|
-
newValue = objExtend(deep, clone, newValue);
|
|
466
|
-
}
|
|
467
|
-
if (newValue !== undefined) {
|
|
468
|
-
extended[prop] = newValue;
|
|
469
|
-
}
|
|
470
|
-
}
|
|
471
|
-
}
|
|
472
|
-
return extended;
|
|
473
|
-
}
|
|
474
|
-
|
|
475
|
-
function createEnumStyle(values) {
|
|
476
|
-
var enumClass = {};
|
|
477
|
-
objForEachKey(values, function (field, value) {
|
|
478
|
-
enumClass[field] = value;
|
|
479
|
-
enumClass[value] = field;
|
|
480
|
-
});
|
|
481
|
-
return deepFreeze(enumClass);
|
|
482
|
-
}
|
|
483
|
-
|
|
484
|
-
/*!
|
|
485
|
-
* Microsoft Dynamic Proto Utility, 1.1.6
|
|
486
|
-
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
487
|
-
*/
|
|
488
|
-
var Constructor = 'constructor';
|
|
489
|
-
var Prototype = 'prototype';
|
|
490
|
-
var strFunction = 'function';
|
|
491
|
-
var DynInstFuncTable = '_dynInstFuncs';
|
|
492
|
-
var DynProxyTag = '_isDynProxy';
|
|
493
|
-
var DynClassName = '_dynClass';
|
|
494
|
-
var DynClassNamePrefix = '_dynCls$';
|
|
495
|
-
var DynInstChkTag = '_dynInstChk';
|
|
496
|
-
var DynAllowInstChkTag = DynInstChkTag;
|
|
497
|
-
var DynProtoDefaultOptions = '_dfOpts';
|
|
498
|
-
var UnknownValue = '_unknown_';
|
|
499
|
-
var str__Proto = "__proto__";
|
|
500
|
-
var DynProtoBaseProto = "_dyn" + str__Proto;
|
|
501
|
-
var DynProtoCurrent = "_dynInstProto";
|
|
502
|
-
var strUseBaseInst = 'useBaseInst';
|
|
503
|
-
var strSetInstFuncs = 'setInstFuncs';
|
|
504
|
-
var Obj = Object;
|
|
505
|
-
var _objGetPrototypeOf = Obj["getPrototypeOf"];
|
|
506
|
-
var _objGetOwnProps = Obj["getOwnPropertyNames"];
|
|
507
|
-
var _dynamicNames = 0;
|
|
508
|
-
function _hasOwnProperty(obj, prop) {
|
|
509
|
-
return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);
|
|
510
|
-
}
|
|
511
|
-
function _isObjectOrArrayPrototype(target) {
|
|
512
|
-
return target && (target === Obj[Prototype] || target === Array[Prototype]);
|
|
513
|
-
}
|
|
514
|
-
function _isObjectArrayOrFunctionPrototype(target) {
|
|
515
|
-
return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
|
|
516
|
-
}
|
|
517
|
-
function _getObjProto(target) {
|
|
518
|
-
var newProto;
|
|
519
|
-
if (target) {
|
|
520
|
-
if (_objGetPrototypeOf) {
|
|
521
|
-
return _objGetPrototypeOf(target);
|
|
522
|
-
}
|
|
523
|
-
var curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
|
|
524
|
-
newProto = target[DynProtoBaseProto] || curProto;
|
|
525
|
-
if (!_hasOwnProperty(target, DynProtoBaseProto)) {
|
|
526
|
-
delete target[DynProtoCurrent];
|
|
527
|
-
newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];
|
|
528
|
-
target[DynProtoCurrent] = curProto;
|
|
529
|
-
}
|
|
530
|
-
}
|
|
531
|
-
return newProto;
|
|
532
|
-
}
|
|
533
|
-
function _forEachProp(target, func) {
|
|
534
|
-
var props = [];
|
|
535
|
-
if (_objGetOwnProps) {
|
|
536
|
-
props = _objGetOwnProps(target);
|
|
537
|
-
}
|
|
538
|
-
else {
|
|
539
|
-
for (var name_1 in target) {
|
|
540
|
-
if (typeof name_1 === "string" && _hasOwnProperty(target, name_1)) {
|
|
541
|
-
props.push(name_1);
|
|
542
|
-
}
|
|
543
|
-
}
|
|
544
|
-
}
|
|
545
|
-
if (props && props.length > 0) {
|
|
546
|
-
for (var lp = 0; lp < props.length; lp++) {
|
|
547
|
-
func(props[lp]);
|
|
548
|
-
}
|
|
549
|
-
}
|
|
550
|
-
}
|
|
551
|
-
function _isDynamicCandidate(target, funcName, skipOwn) {
|
|
552
|
-
return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || _hasOwnProperty(target, funcName)));
|
|
553
|
-
}
|
|
554
|
-
function _throwTypeError(message) {
|
|
555
|
-
throw new TypeError("DynamicProto: " + message);
|
|
556
|
-
}
|
|
557
|
-
function _getInstanceFuncs(thisTarget) {
|
|
558
|
-
var instFuncs = {};
|
|
559
|
-
_forEachProp(thisTarget, function (name) {
|
|
560
|
-
if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
|
|
561
|
-
instFuncs[name] = thisTarget[name];
|
|
562
|
-
}
|
|
563
|
-
});
|
|
564
|
-
return instFuncs;
|
|
565
|
-
}
|
|
566
|
-
function _hasVisited(values, value) {
|
|
567
|
-
for (var lp = values.length - 1; lp >= 0; lp--) {
|
|
568
|
-
if (values[lp] === value) {
|
|
569
|
-
return true;
|
|
570
|
-
}
|
|
571
|
-
}
|
|
572
|
-
return false;
|
|
573
|
-
}
|
|
574
|
-
function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
|
|
575
|
-
function _instFuncProxy(target, funcHost, funcName) {
|
|
576
|
-
var theFunc = funcHost[funcName];
|
|
577
|
-
if (theFunc[DynProxyTag] && useBaseInst) {
|
|
578
|
-
var instFuncTable = target[DynInstFuncTable] || {};
|
|
579
|
-
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
580
|
-
theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;
|
|
581
|
-
}
|
|
582
|
-
}
|
|
583
|
-
return function () {
|
|
584
|
-
return theFunc.apply(target, arguments);
|
|
585
|
-
};
|
|
586
|
-
}
|
|
587
|
-
var baseFuncs = {};
|
|
588
|
-
_forEachProp(instFuncs, function (name) {
|
|
589
|
-
baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
|
|
590
|
-
});
|
|
591
|
-
var baseProto = _getObjProto(classProto);
|
|
592
|
-
var visited = [];
|
|
593
|
-
while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {
|
|
594
|
-
_forEachProp(baseProto, function (name) {
|
|
595
|
-
if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {
|
|
596
|
-
baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);
|
|
597
|
-
}
|
|
598
|
-
});
|
|
599
|
-
visited.push(baseProto);
|
|
600
|
-
baseProto = _getObjProto(baseProto);
|
|
601
|
-
}
|
|
602
|
-
return baseFuncs;
|
|
603
|
-
}
|
|
604
|
-
function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
|
|
605
|
-
var instFunc = null;
|
|
606
|
-
if (target && _hasOwnProperty(proto, DynClassName)) {
|
|
607
|
-
var instFuncTable = target[DynInstFuncTable] || {};
|
|
608
|
-
instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
|
|
609
|
-
if (!instFunc) {
|
|
610
|
-
_throwTypeError("Missing [" + funcName + "] " + strFunction);
|
|
611
|
-
}
|
|
612
|
-
if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {
|
|
613
|
-
var canAddInst = !_hasOwnProperty(target, funcName);
|
|
614
|
-
var objProto = _getObjProto(target);
|
|
615
|
-
var visited = [];
|
|
616
|
-
while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {
|
|
617
|
-
var protoFunc = objProto[funcName];
|
|
618
|
-
if (protoFunc) {
|
|
619
|
-
canAddInst = (protoFunc === currentDynProtoProxy);
|
|
620
|
-
break;
|
|
621
|
-
}
|
|
622
|
-
visited.push(objProto);
|
|
623
|
-
objProto = _getObjProto(objProto);
|
|
624
|
-
}
|
|
625
|
-
try {
|
|
626
|
-
if (canAddInst) {
|
|
627
|
-
target[funcName] = instFunc;
|
|
628
|
-
}
|
|
629
|
-
instFunc[DynInstChkTag] = 1;
|
|
630
|
-
}
|
|
631
|
-
catch (e) {
|
|
632
|
-
instFuncTable[DynAllowInstChkTag] = false;
|
|
633
|
-
}
|
|
634
|
-
}
|
|
635
|
-
}
|
|
636
|
-
return instFunc;
|
|
637
|
-
}
|
|
638
|
-
function _getProtoFunc(funcName, proto, currentDynProtoProxy) {
|
|
639
|
-
var protoFunc = proto[funcName];
|
|
640
|
-
if (protoFunc === currentDynProtoProxy) {
|
|
641
|
-
protoFunc = _getObjProto(proto)[funcName];
|
|
642
|
-
}
|
|
643
|
-
if (typeof protoFunc !== strFunction) {
|
|
644
|
-
_throwTypeError("[" + funcName + "] is not a " + strFunction);
|
|
645
|
-
}
|
|
646
|
-
return protoFunc;
|
|
647
|
-
}
|
|
648
|
-
function _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {
|
|
649
|
-
function _createDynamicPrototype(proto, funcName) {
|
|
650
|
-
var dynProtoProxy = function () {
|
|
651
|
-
var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);
|
|
652
|
-
return instFunc.apply(this, arguments);
|
|
653
|
-
};
|
|
654
|
-
dynProtoProxy[DynProxyTag] = 1;
|
|
655
|
-
return dynProtoProxy;
|
|
656
|
-
}
|
|
657
|
-
if (!_isObjectOrArrayPrototype(proto)) {
|
|
658
|
-
var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
|
|
659
|
-
var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
|
|
660
|
-
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
661
|
-
instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
|
|
662
|
-
}
|
|
663
|
-
_forEachProp(target, function (name) {
|
|
664
|
-
if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
|
|
665
|
-
instFuncs_1[name] = target[name];
|
|
666
|
-
delete target[name];
|
|
667
|
-
if (!_hasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
|
|
668
|
-
proto[name] = _createDynamicPrototype(proto, name);
|
|
669
|
-
}
|
|
670
|
-
}
|
|
671
|
-
});
|
|
669
|
+
var objFreeze = _objFreeze || _doNothing;
|
|
670
|
+
function dateNow() {
|
|
671
|
+
var dt = Date;
|
|
672
|
+
return dt.now ? dt.now() : new dt().getTime();
|
|
673
|
+
}
|
|
674
|
+
function getExceptionName(object) {
|
|
675
|
+
if (isError(object)) {
|
|
676
|
+
return object[_DYN_NAME$1 ];
|
|
672
677
|
}
|
|
678
|
+
return STR_EMPTY;
|
|
673
679
|
}
|
|
674
|
-
function
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
}
|
|
682
|
-
visited.push(thisProto);
|
|
683
|
-
thisProto = _getObjProto(thisProto);
|
|
680
|
+
function setValue(target, field, value, valChk, srcChk) {
|
|
681
|
+
var theValue = value;
|
|
682
|
+
if (target) {
|
|
683
|
+
theValue = target[field];
|
|
684
|
+
if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
|
|
685
|
+
theValue = value;
|
|
686
|
+
target[field] = theValue;
|
|
684
687
|
}
|
|
685
|
-
return false;
|
|
686
688
|
}
|
|
687
|
-
return
|
|
689
|
+
return theValue;
|
|
688
690
|
}
|
|
689
|
-
function
|
|
690
|
-
|
|
691
|
-
return target.name || unknownValue || UnknownValue;
|
|
692
|
-
}
|
|
693
|
-
return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;
|
|
691
|
+
function getCfgValue(theValue, defaultValue) {
|
|
692
|
+
return !isNullOrUndefined(theValue) ? theValue : defaultValue;
|
|
694
693
|
}
|
|
695
|
-
function
|
|
696
|
-
|
|
697
|
-
|
|
694
|
+
function isTruthy(value) {
|
|
695
|
+
return !!value;
|
|
696
|
+
}
|
|
697
|
+
function throwError(message) {
|
|
698
|
+
throw new Error(message);
|
|
699
|
+
}
|
|
700
|
+
function _createProxyFunction(source, funcName) {
|
|
701
|
+
var srcFunc = null;
|
|
702
|
+
var src = null;
|
|
703
|
+
if (isFunction(source)) {
|
|
704
|
+
srcFunc = source;
|
|
698
705
|
}
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
_throwTypeError("[" + _getObjName(theClass) + "] is not in class hierarchy of [" + _getObjName(target) + "]");
|
|
706
|
+
else {
|
|
707
|
+
src = source;
|
|
702
708
|
}
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
709
|
+
return function () {
|
|
710
|
+
var originalArguments = arguments;
|
|
711
|
+
if (srcFunc) {
|
|
712
|
+
src = srcFunc();
|
|
713
|
+
}
|
|
714
|
+
if (src) {
|
|
715
|
+
return src[funcName][_DYN_APPLY ](src, originalArguments);
|
|
716
|
+
}
|
|
717
|
+
};
|
|
718
|
+
}
|
|
719
|
+
function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
|
|
720
|
+
if (target && name && source) {
|
|
721
|
+
if (overwriteTarget !== false || isUndefined(target[name])) {
|
|
722
|
+
target[name] = _createProxyFunction(source, theFunc);
|
|
723
|
+
}
|
|
706
724
|
}
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
725
|
+
}
|
|
726
|
+
function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
|
|
727
|
+
var theArgs = arguments;
|
|
728
|
+
var extended = theArgs[0] || {};
|
|
729
|
+
var argLen = theArgs[_DYN_LENGTH$2 ];
|
|
730
|
+
var deep = false;
|
|
731
|
+
var idx = 1;
|
|
732
|
+
if (argLen > 0 && isBoolean(extended)) {
|
|
733
|
+
deep = extended;
|
|
734
|
+
extended = theArgs[idx] || {};
|
|
735
|
+
idx++;
|
|
711
736
|
}
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
if (useBaseInst && options && options[strUseBaseInst] !== undefined) {
|
|
715
|
-
useBaseInst = !!options[strUseBaseInst];
|
|
737
|
+
if (!isObject(extended)) {
|
|
738
|
+
extended = {};
|
|
716
739
|
}
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
740
|
+
for (; idx < argLen; idx++) {
|
|
741
|
+
var arg = theArgs[idx];
|
|
742
|
+
var isArgArray = isArray(arg);
|
|
743
|
+
var isArgObj = isObject(arg);
|
|
744
|
+
for (var prop in arg) {
|
|
745
|
+
var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty[_DYN_CALL ](arg, prop)));
|
|
746
|
+
if (!propOk) {
|
|
747
|
+
continue;
|
|
748
|
+
}
|
|
749
|
+
var newValue = arg[prop];
|
|
750
|
+
var isNewArray = void 0;
|
|
751
|
+
if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {
|
|
752
|
+
var clone = extended[prop];
|
|
753
|
+
if (isNewArray) {
|
|
754
|
+
if (!isArray(clone)) {
|
|
755
|
+
clone = [];
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
else if (!isPlainObject(clone)) {
|
|
759
|
+
clone = {};
|
|
760
|
+
}
|
|
761
|
+
newValue = objExtend(deep, clone, newValue);
|
|
762
|
+
}
|
|
763
|
+
if (newValue !== undefined) {
|
|
764
|
+
extended[prop] = newValue;
|
|
765
|
+
}
|
|
766
|
+
}
|
|
723
767
|
}
|
|
724
|
-
|
|
768
|
+
return extended;
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
function createEnumStyle(values) {
|
|
772
|
+
var enumClass = {};
|
|
773
|
+
objForEachKey(values, function (field, value) {
|
|
774
|
+
enumClass[field] = value;
|
|
775
|
+
enumClass[value] = field;
|
|
776
|
+
});
|
|
777
|
+
return deepFreeze(enumClass);
|
|
725
778
|
}
|
|
726
|
-
var perfDefaults = {
|
|
727
|
-
setInstFuncs: true,
|
|
728
|
-
useBaseInst: true
|
|
729
|
-
};
|
|
730
|
-
dynamicProto[DynProtoDefaultOptions] = perfDefaults;
|
|
731
779
|
|
|
732
780
|
var strWindow = "window";
|
|
733
781
|
var strDocument = "document";
|
|
@@ -828,18 +876,18 @@
|
|
|
828
876
|
}
|
|
829
877
|
function isIE() {
|
|
830
878
|
var nav = getNavigator();
|
|
831
|
-
if (nav && (nav
|
|
832
|
-
_navUserAgentCheck = nav
|
|
833
|
-
var userAgent = (_navUserAgentCheck ||
|
|
879
|
+
if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
|
|
880
|
+
_navUserAgentCheck = nav[_DYN_USER_AGENT ];
|
|
881
|
+
var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
|
|
834
882
|
_isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
|
|
835
883
|
}
|
|
836
884
|
return _isTrident;
|
|
837
885
|
}
|
|
838
886
|
function dumpObj(object) {
|
|
839
|
-
var objectTypeDump = Object[strShimPrototype].toString
|
|
840
|
-
var propertyValueDump =
|
|
887
|
+
var objectTypeDump = Object[strShimPrototype].toString[_DYN_CALL ](object);
|
|
888
|
+
var propertyValueDump = STR_EMPTY;
|
|
841
889
|
if (objectTypeDump === "[object Error]") {
|
|
842
|
-
propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object
|
|
890
|
+
propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object[_DYN_NAME$1 ] + "'";
|
|
843
891
|
}
|
|
844
892
|
else if (hasJSON()) {
|
|
845
893
|
propertyValueDump = getJSON().stringify(object);
|
|
@@ -866,13 +914,11 @@
|
|
|
866
914
|
var AiNonUserActionablePrefix = "AI (Internal): ";
|
|
867
915
|
var AiUserActionablePrefix = "AI: ";
|
|
868
916
|
var AIInternalMessagePrefix = "AITR_";
|
|
869
|
-
var strErrorToConsole = "errorToConsole";
|
|
870
|
-
var strWarnToConsole = "warnToConsole";
|
|
871
917
|
function _sanitizeDiagnosticText(text) {
|
|
872
918
|
if (text) {
|
|
873
|
-
return "\"" + text
|
|
919
|
+
return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
|
|
874
920
|
}
|
|
875
|
-
return
|
|
921
|
+
return STR_EMPTY;
|
|
876
922
|
}
|
|
877
923
|
function _logToConsole(func, message) {
|
|
878
924
|
var theConsole = getConsole();
|
|
@@ -890,23 +936,23 @@
|
|
|
890
936
|
function _InternalLogMessage(msgId, msg, isUserAct, properties) {
|
|
891
937
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
892
938
|
var _self = this;
|
|
893
|
-
_self
|
|
894
|
-
_self
|
|
939
|
+
_self[_DYN_MESSAGE_ID ] = msgId;
|
|
940
|
+
_self[_DYN_MESSAGE$2 ] =
|
|
895
941
|
(isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
|
|
896
942
|
msgId;
|
|
897
|
-
var strProps =
|
|
943
|
+
var strProps = STR_EMPTY;
|
|
898
944
|
if (hasJSON()) {
|
|
899
945
|
strProps = getJSON().stringify(properties);
|
|
900
946
|
}
|
|
901
|
-
var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) :
|
|
902
|
-
(properties ? " props:" + _sanitizeDiagnosticText(strProps) :
|
|
903
|
-
_self
|
|
947
|
+
var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
|
|
948
|
+
(properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
|
|
949
|
+
_self[_DYN_MESSAGE$2 ] += diagnosticText;
|
|
904
950
|
}
|
|
905
951
|
_InternalLogMessage.dataType = "MessageData";
|
|
906
952
|
return _InternalLogMessage;
|
|
907
953
|
}());
|
|
908
954
|
function safeGetLogger(core, config) {
|
|
909
|
-
return (core || {})
|
|
955
|
+
return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
|
|
910
956
|
}
|
|
911
957
|
var DiagnosticLogger = /** @class */ (function () {
|
|
912
958
|
function DiagnosticLogger(config) {
|
|
@@ -914,48 +960,49 @@
|
|
|
914
960
|
this.queue = [];
|
|
915
961
|
var _messageCount = 0;
|
|
916
962
|
var _messageLogged = {};
|
|
963
|
+
var _loggingLevelConsole;
|
|
964
|
+
var _loggingLevelTelemetry;
|
|
965
|
+
var _maxInternalMessageLimit;
|
|
966
|
+
var _enableDebugExceptions;
|
|
917
967
|
dynamicProto(DiagnosticLogger, this, function (_self) {
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
}
|
|
921
|
-
_self.
|
|
922
|
-
_self
|
|
923
|
-
_self.maxInternalMessageLimit = function () { return _getConfigValue("maxMessageLimit", 25); };
|
|
924
|
-
_self.enableDebugExceptions = function () { return _getConfigValue("enableDebugExceptions", false); };
|
|
968
|
+
_setDefaultsFromConfig(config || {});
|
|
969
|
+
_self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
|
|
970
|
+
_self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };
|
|
971
|
+
_self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
|
|
972
|
+
_self[_DYN_ENABLE_DEBUG_EXCEPTI4 ] = function () { return _enableDebugExceptions; };
|
|
925
973
|
_self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
|
|
926
974
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
927
975
|
var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
|
|
928
|
-
if (
|
|
976
|
+
if (_enableDebugExceptions) {
|
|
929
977
|
throw dumpObj(message);
|
|
930
978
|
}
|
|
931
979
|
else {
|
|
932
|
-
var logFunc = severity === 1 ?
|
|
933
|
-
if (!isUndefined(message
|
|
934
|
-
var logLevel = _self.consoleLoggingLevel();
|
|
980
|
+
var logFunc = severity === 1 ? STR_ERROR_TO_CONSOLE : STR_WARN_TO_CONSOLE;
|
|
981
|
+
if (!isUndefined(message[_DYN_MESSAGE$2 ])) {
|
|
935
982
|
if (isUserAct) {
|
|
936
|
-
var messageKey = +message
|
|
937
|
-
if (!_messageLogged[messageKey] &&
|
|
938
|
-
_self[logFunc](message
|
|
983
|
+
var messageKey = +message[_DYN_MESSAGE_ID ];
|
|
984
|
+
if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
|
|
985
|
+
_self[logFunc](message[_DYN_MESSAGE$2 ]);
|
|
939
986
|
_messageLogged[messageKey] = true;
|
|
940
987
|
}
|
|
941
988
|
}
|
|
942
989
|
else {
|
|
943
|
-
if (
|
|
944
|
-
_self[logFunc](message
|
|
990
|
+
if (_loggingLevelConsole >= severity) {
|
|
991
|
+
_self[logFunc](message[_DYN_MESSAGE$2 ]);
|
|
945
992
|
}
|
|
946
993
|
}
|
|
947
|
-
|
|
994
|
+
_logInternalMessage(severity, message);
|
|
948
995
|
}
|
|
949
996
|
else {
|
|
950
997
|
_debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
|
|
951
998
|
}
|
|
952
999
|
}
|
|
953
1000
|
};
|
|
954
|
-
_self
|
|
1001
|
+
_self[STR_WARN_TO_CONSOLE ] = function (message) {
|
|
955
1002
|
_logToConsole("warn", message);
|
|
956
1003
|
_debugExtMsg("warning", message);
|
|
957
1004
|
};
|
|
958
|
-
_self
|
|
1005
|
+
_self[STR_ERROR_TO_CONSOLE ] = function (message) {
|
|
959
1006
|
_logToConsole("error", message);
|
|
960
1007
|
_debugExtMsg("error", message);
|
|
961
1008
|
};
|
|
@@ -963,12 +1010,13 @@
|
|
|
963
1010
|
_messageCount = 0;
|
|
964
1011
|
_messageLogged = {};
|
|
965
1012
|
};
|
|
966
|
-
_self
|
|
1013
|
+
_self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
|
|
1014
|
+
function _logInternalMessage(severity, message) {
|
|
967
1015
|
if (_areInternalMessagesThrottled()) {
|
|
968
1016
|
return;
|
|
969
1017
|
}
|
|
970
1018
|
var logMessage = true;
|
|
971
|
-
var messageKey = AIInternalMessagePrefix + message
|
|
1019
|
+
var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
|
|
972
1020
|
if (_messageLogged[messageKey]) {
|
|
973
1021
|
logMessage = false;
|
|
974
1022
|
}
|
|
@@ -976,38 +1024,37 @@
|
|
|
976
1024
|
_messageLogged[messageKey] = true;
|
|
977
1025
|
}
|
|
978
1026
|
if (logMessage) {
|
|
979
|
-
if (severity <=
|
|
980
|
-
_self.queue
|
|
1027
|
+
if (severity <= _loggingLevelTelemetry) {
|
|
1028
|
+
_self.queue[_DYN_PUSH ](message);
|
|
981
1029
|
_messageCount++;
|
|
982
1030
|
_debugExtMsg((severity === 1 ? "error" : "warn"), message);
|
|
983
1031
|
}
|
|
984
|
-
if (_messageCount ===
|
|
1032
|
+
if (_messageCount === _maxInternalMessageLimit) {
|
|
985
1033
|
var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
|
|
986
1034
|
var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
|
|
987
|
-
_self.queue
|
|
1035
|
+
_self.queue[_DYN_PUSH ](throttleMessage);
|
|
988
1036
|
if (severity === 1 ) {
|
|
989
|
-
_self
|
|
1037
|
+
_self[STR_ERROR_TO_CONSOLE ](throttleLimitMessage);
|
|
990
1038
|
}
|
|
991
1039
|
else {
|
|
992
|
-
_self
|
|
1040
|
+
_self[STR_WARN_TO_CONSOLE ](throttleLimitMessage);
|
|
993
1041
|
}
|
|
994
1042
|
}
|
|
995
1043
|
}
|
|
996
|
-
}
|
|
997
|
-
function
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
return defValue;
|
|
1044
|
+
}
|
|
1045
|
+
function _setDefaultsFromConfig(config) {
|
|
1046
|
+
_loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);
|
|
1047
|
+
_loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);
|
|
1048
|
+
_maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);
|
|
1049
|
+
_enableDebugExceptions = getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 ], false);
|
|
1003
1050
|
}
|
|
1004
1051
|
function _areInternalMessagesThrottled() {
|
|
1005
|
-
return _messageCount >=
|
|
1052
|
+
return _messageCount >= _maxInternalMessageLimit;
|
|
1006
1053
|
}
|
|
1007
1054
|
function _debugExtMsg(name, data) {
|
|
1008
|
-
var dbgExt = getDebugExt(config);
|
|
1009
|
-
if (dbgExt && dbgExt
|
|
1010
|
-
dbgExt
|
|
1055
|
+
var dbgExt = getDebugExt(config || {});
|
|
1056
|
+
if (dbgExt && dbgExt[_DYN_DIAG_LOG$1 ]) {
|
|
1057
|
+
dbgExt[_DYN_DIAG_LOG$1 ](name, data);
|
|
1011
1058
|
}
|
|
1012
1059
|
}
|
|
1013
1060
|
});
|
|
@@ -1020,21 +1067,23 @@
|
|
|
1020
1067
|
}
|
|
1021
1068
|
function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
|
|
1022
1069
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
1023
|
-
(logger
|
|
1070
|
+
_getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);
|
|
1024
1071
|
}
|
|
1025
1072
|
function _warnToConsole(logger, message) {
|
|
1026
|
-
_getLogger(logger)
|
|
1073
|
+
_getLogger(logger)[STR_WARN_TO_CONSOLE ](message);
|
|
1027
1074
|
}
|
|
1028
1075
|
|
|
1029
1076
|
var strExecutionContextKey = "ctx";
|
|
1077
|
+
var strParentContextKey = "ParentContextKey";
|
|
1078
|
+
var strChildrenContextKey = "ChildrenContextKey";
|
|
1030
1079
|
var PerfEvent = /** @class */ (function () {
|
|
1031
1080
|
function PerfEvent(name, payloadDetails, isAsync) {
|
|
1032
1081
|
var _self = this;
|
|
1033
1082
|
var accessorDefined = false;
|
|
1034
1083
|
_self.start = dateNow();
|
|
1035
|
-
_self
|
|
1036
|
-
_self
|
|
1037
|
-
_self
|
|
1084
|
+
_self[_DYN_NAME$1 ] = name;
|
|
1085
|
+
_self[_DYN_IS_ASYNC ] = isAsync;
|
|
1086
|
+
_self[_DYN_IS_CHILD_EVT ] = function () { return false; };
|
|
1038
1087
|
if (isFunction(payloadDetails)) {
|
|
1039
1088
|
var theDetails_1;
|
|
1040
1089
|
accessorDefined = objDefineAccessors(_self, "payload", function () {
|
|
@@ -1045,24 +1094,24 @@
|
|
|
1045
1094
|
return theDetails_1;
|
|
1046
1095
|
});
|
|
1047
1096
|
}
|
|
1048
|
-
_self
|
|
1097
|
+
_self[_DYN_GET_CTX ] = function (key) {
|
|
1049
1098
|
if (key) {
|
|
1050
|
-
if (key === PerfEvent
|
|
1099
|
+
if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {
|
|
1051
1100
|
return _self[key];
|
|
1052
1101
|
}
|
|
1053
1102
|
return (_self[strExecutionContextKey] || {})[key];
|
|
1054
1103
|
}
|
|
1055
1104
|
return null;
|
|
1056
1105
|
};
|
|
1057
|
-
_self
|
|
1106
|
+
_self[_DYN_SET_CTX ] = function (key, value) {
|
|
1058
1107
|
if (key) {
|
|
1059
|
-
if (key === PerfEvent
|
|
1108
|
+
if (key === PerfEvent[strParentContextKey]) {
|
|
1060
1109
|
if (!_self[key]) {
|
|
1061
|
-
_self
|
|
1110
|
+
_self[_DYN_IS_CHILD_EVT ] = function () { return true; };
|
|
1062
1111
|
}
|
|
1063
1112
|
_self[key] = value;
|
|
1064
1113
|
}
|
|
1065
|
-
else if (key === PerfEvent
|
|
1114
|
+
else if (key === PerfEvent[strChildrenContextKey]) {
|
|
1066
1115
|
_self[key] = value;
|
|
1067
1116
|
}
|
|
1068
1117
|
else {
|
|
@@ -1071,20 +1120,20 @@
|
|
|
1071
1120
|
}
|
|
1072
1121
|
}
|
|
1073
1122
|
};
|
|
1074
|
-
_self
|
|
1123
|
+
_self[_DYN_COMPLETE ] = function () {
|
|
1075
1124
|
var childTime = 0;
|
|
1076
|
-
var childEvts = _self
|
|
1125
|
+
var childEvts = _self[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
|
|
1077
1126
|
if (isArray(childEvts)) {
|
|
1078
|
-
for (var lp = 0; lp < childEvts
|
|
1127
|
+
for (var lp = 0; lp < childEvts[_DYN_LENGTH$2 ]; lp++) {
|
|
1079
1128
|
var childEvt = childEvts[lp];
|
|
1080
1129
|
if (childEvt) {
|
|
1081
|
-
childTime += childEvt
|
|
1130
|
+
childTime += childEvt[_DYN_TIME ];
|
|
1082
1131
|
}
|
|
1083
1132
|
}
|
|
1084
1133
|
}
|
|
1085
|
-
_self
|
|
1086
|
-
_self.exTime = _self
|
|
1087
|
-
_self
|
|
1134
|
+
_self[_DYN_TIME ] = dateNow() - _self.start;
|
|
1135
|
+
_self.exTime = _self[_DYN_TIME ] - childTime;
|
|
1136
|
+
_self[_DYN_COMPLETE ] = function () { };
|
|
1088
1137
|
if (!accessorDefined && isFunction(payloadDetails)) {
|
|
1089
1138
|
_self.payload = payloadDetails();
|
|
1090
1139
|
}
|
|
@@ -1098,40 +1147,40 @@
|
|
|
1098
1147
|
function doPerf(mgrSource, getSource, func, details, isAsync) {
|
|
1099
1148
|
if (mgrSource) {
|
|
1100
1149
|
var perfMgr = mgrSource;
|
|
1101
|
-
if (
|
|
1102
|
-
perfMgr = perfMgr[
|
|
1150
|
+
if (perfMgr[STR_GET_PERF_MGR]) {
|
|
1151
|
+
perfMgr = perfMgr[STR_GET_PERF_MGR]();
|
|
1103
1152
|
}
|
|
1104
1153
|
if (perfMgr) {
|
|
1105
1154
|
var perfEvt = void 0;
|
|
1106
|
-
var currentActive = perfMgr
|
|
1155
|
+
var currentActive = perfMgr[_DYN_GET_CTX ](doPerfActiveKey);
|
|
1107
1156
|
try {
|
|
1108
1157
|
perfEvt = perfMgr.create(getSource(), details, isAsync);
|
|
1109
1158
|
if (perfEvt) {
|
|
1110
|
-
if (currentActive && perfEvt
|
|
1111
|
-
perfEvt
|
|
1112
|
-
if (currentActive
|
|
1113
|
-
var children = currentActive
|
|
1159
|
+
if (currentActive && perfEvt[_DYN_SET_CTX ]) {
|
|
1160
|
+
perfEvt[_DYN_SET_CTX ](PerfEvent[strParentContextKey], currentActive);
|
|
1161
|
+
if (currentActive[_DYN_GET_CTX ] && currentActive[_DYN_SET_CTX ]) {
|
|
1162
|
+
var children = currentActive[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
|
|
1114
1163
|
if (!children) {
|
|
1115
1164
|
children = [];
|
|
1116
|
-
currentActive
|
|
1165
|
+
currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
|
|
1117
1166
|
}
|
|
1118
|
-
children
|
|
1167
|
+
children[_DYN_PUSH ](perfEvt);
|
|
1119
1168
|
}
|
|
1120
1169
|
}
|
|
1121
|
-
perfMgr
|
|
1170
|
+
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
|
|
1122
1171
|
return func(perfEvt);
|
|
1123
1172
|
}
|
|
1124
1173
|
}
|
|
1125
1174
|
catch (ex) {
|
|
1126
|
-
if (perfEvt && perfEvt
|
|
1127
|
-
perfEvt
|
|
1175
|
+
if (perfEvt && perfEvt[_DYN_SET_CTX ]) {
|
|
1176
|
+
perfEvt[_DYN_SET_CTX ]("exception", ex);
|
|
1128
1177
|
}
|
|
1129
1178
|
}
|
|
1130
1179
|
finally {
|
|
1131
1180
|
if (perfEvt) {
|
|
1132
1181
|
perfMgr.fire(perfEvt);
|
|
1133
1182
|
}
|
|
1134
|
-
perfMgr
|
|
1183
|
+
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, currentActive);
|
|
1135
1184
|
}
|
|
1136
1185
|
}
|
|
1137
1186
|
}
|
|
@@ -1193,8 +1242,8 @@
|
|
|
1193
1242
|
var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
1194
1243
|
var number = random32() >>> 0;
|
|
1195
1244
|
var chars = 0;
|
|
1196
|
-
var result =
|
|
1197
|
-
while (result
|
|
1245
|
+
var result = STR_EMPTY;
|
|
1246
|
+
while (result[_DYN_LENGTH$2 ] < maxLength) {
|
|
1198
1247
|
chars++;
|
|
1199
1248
|
result += base64chars.charAt(number & 0x3F);
|
|
1200
1249
|
number >>>= 6;
|
|
@@ -1207,7 +1256,7 @@
|
|
|
1207
1256
|
}
|
|
1208
1257
|
|
|
1209
1258
|
var _objDefineProperty = ObjDefineProperty;
|
|
1210
|
-
var version = "2.8.5-nightly.
|
|
1259
|
+
var version = "2.8.5-nightly.2207-02";
|
|
1211
1260
|
var instanceName = "." + newId(6);
|
|
1212
1261
|
var _dataUid = 0;
|
|
1213
1262
|
function _createAccessor(target, prop, value) {
|
|
@@ -1226,7 +1275,7 @@
|
|
|
1226
1275
|
return false;
|
|
1227
1276
|
}
|
|
1228
1277
|
function _canAcceptData(target) {
|
|
1229
|
-
return target
|
|
1278
|
+
return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
|
|
1230
1279
|
}
|
|
1231
1280
|
function _getCache(data, target) {
|
|
1232
1281
|
var theCache = target[data.id];
|
|
@@ -1246,11 +1295,11 @@
|
|
|
1246
1295
|
}
|
|
1247
1296
|
function createUniqueNamespace(name, includeVersion) {
|
|
1248
1297
|
if (includeVersion === void 0) { includeVersion = false; }
|
|
1249
|
-
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version :
|
|
1298
|
+
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
|
|
1250
1299
|
}
|
|
1251
1300
|
function createElmNodeData(name) {
|
|
1252
1301
|
var data = {
|
|
1253
|
-
id: createUniqueNamespace("_aiData-" + (name ||
|
|
1302
|
+
id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
|
|
1254
1303
|
accept: function (target) {
|
|
1255
1304
|
return _canAcceptData(target);
|
|
1256
1305
|
},
|
|
@@ -1307,7 +1356,7 @@
|
|
|
1307
1356
|
return true;
|
|
1308
1357
|
}
|
|
1309
1358
|
function _createCookieMgrConfig(rootConfig) {
|
|
1310
|
-
var cookieMgrCfg = rootConfig
|
|
1359
|
+
var cookieMgrCfg = rootConfig[_DYN_COOKIE_CFG ] = rootConfig[_DYN_COOKIE_CFG ] || {};
|
|
1311
1360
|
setValue(cookieMgrCfg, "domain", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);
|
|
1312
1361
|
setValue(cookieMgrCfg, "path", rootConfig.cookiePath || "/", null, isNullOrUndefined);
|
|
1313
1362
|
if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {
|
|
@@ -1328,7 +1377,7 @@
|
|
|
1328
1377
|
cookieMgr = core.getCookieMgr();
|
|
1329
1378
|
}
|
|
1330
1379
|
else if (config) {
|
|
1331
|
-
var cookieCfg = config
|
|
1380
|
+
var cookieCfg = config[_DYN_COOKIE_CFG ];
|
|
1332
1381
|
if (cookieCfg[strConfigCookieMgr]) {
|
|
1333
1382
|
cookieMgr = cookieCfg[strConfigCookieMgr];
|
|
1334
1383
|
}
|
|
@@ -1337,36 +1386,38 @@
|
|
|
1337
1386
|
}
|
|
1338
1387
|
}
|
|
1339
1388
|
if (!cookieMgr) {
|
|
1340
|
-
cookieMgr = _gblCookieMgr(config, (core || {})
|
|
1389
|
+
cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER ]);
|
|
1341
1390
|
}
|
|
1342
1391
|
return cookieMgr;
|
|
1343
1392
|
}
|
|
1344
1393
|
function createCookieMgr(rootConfig, logger) {
|
|
1394
|
+
var _a;
|
|
1345
1395
|
var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);
|
|
1346
1396
|
var _path = cookieMgrConfig.path || "/";
|
|
1347
1397
|
var _domain = cookieMgrConfig.domain;
|
|
1348
1398
|
var _enabled = cookieMgrConfig[strEnabled] !== false;
|
|
1349
|
-
var cookieMgr = {
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1399
|
+
var cookieMgr = (_a = {
|
|
1400
|
+
isEnabled: function () {
|
|
1401
|
+
var enabled = _enabled && areCookiesSupported(logger);
|
|
1402
|
+
var gblManager = _globalCookieConfig[strConfigCookieMgr];
|
|
1403
|
+
if (enabled && gblManager && cookieMgr !== gblManager) {
|
|
1404
|
+
enabled = _isMgrEnabled(gblManager);
|
|
1405
|
+
}
|
|
1406
|
+
return enabled;
|
|
1355
1407
|
}
|
|
1356
|
-
return enabled;
|
|
1357
1408
|
},
|
|
1358
|
-
|
|
1409
|
+
_a[_DYN_SET_ENABLED ] = function (value) {
|
|
1359
1410
|
_enabled = value !== false;
|
|
1360
1411
|
},
|
|
1361
|
-
set
|
|
1412
|
+
_a.set = function (name, value, maxAgeSec, domain, path) {
|
|
1362
1413
|
var result = false;
|
|
1363
1414
|
if (_isMgrEnabled(cookieMgr)) {
|
|
1364
1415
|
var values = {};
|
|
1365
|
-
var theValue = strTrim(value ||
|
|
1366
|
-
var idx = theValue
|
|
1416
|
+
var theValue = strTrim(value || STR_EMPTY);
|
|
1417
|
+
var idx = theValue[_DYN_INDEX_OF$1 ](";");
|
|
1367
1418
|
if (idx !== -1) {
|
|
1368
|
-
theValue = strTrim(value
|
|
1369
|
-
values = _extractParts(value
|
|
1419
|
+
theValue = strTrim(value[_DYN_SUBSTRING$1 ](0, idx));
|
|
1420
|
+
values = _extractParts(value[_DYN_SUBSTRING$1 ](idx + 1));
|
|
1370
1421
|
}
|
|
1371
1422
|
setValue(values, "domain", domain || _domain, isTruthy, isUndefined);
|
|
1372
1423
|
if (!isNullOrUndefined(maxAgeSec)) {
|
|
@@ -1377,18 +1428,18 @@
|
|
|
1377
1428
|
if (expireMs > 0) {
|
|
1378
1429
|
var expiry = new Date();
|
|
1379
1430
|
expiry.setTime(expireMs);
|
|
1380
|
-
setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) ||
|
|
1431
|
+
setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);
|
|
1381
1432
|
}
|
|
1382
1433
|
}
|
|
1383
1434
|
if (!_isIE) {
|
|
1384
|
-
setValue(values, "max-age",
|
|
1435
|
+
setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
|
|
1385
1436
|
}
|
|
1386
1437
|
}
|
|
1387
1438
|
var location_1 = getLocation();
|
|
1388
1439
|
if (location_1 && location_1.protocol === "https:") {
|
|
1389
1440
|
setValue(values, "secure", null, null, isUndefined);
|
|
1390
1441
|
if (_allowUaSameSite === null) {
|
|
1391
|
-
_allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})
|
|
1442
|
+
_allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
|
|
1392
1443
|
}
|
|
1393
1444
|
if (_allowUaSameSite) {
|
|
1394
1445
|
setValue(values, "SameSite", "None", null, isUndefined);
|
|
@@ -1401,21 +1452,21 @@
|
|
|
1401
1452
|
}
|
|
1402
1453
|
return result;
|
|
1403
1454
|
},
|
|
1404
|
-
get
|
|
1405
|
-
var value =
|
|
1455
|
+
_a.get = function (name) {
|
|
1456
|
+
var value = STR_EMPTY;
|
|
1406
1457
|
if (_isMgrEnabled(cookieMgr)) {
|
|
1407
1458
|
value = (cookieMgrConfig.getCookie || _getCookieValue)(name);
|
|
1408
1459
|
}
|
|
1409
1460
|
return value;
|
|
1410
1461
|
},
|
|
1411
|
-
del
|
|
1462
|
+
_a.del = function (name, path) {
|
|
1412
1463
|
var result = false;
|
|
1413
1464
|
if (_isMgrEnabled(cookieMgr)) {
|
|
1414
1465
|
result = cookieMgr.purge(name, path);
|
|
1415
1466
|
}
|
|
1416
1467
|
return result;
|
|
1417
1468
|
},
|
|
1418
|
-
purge
|
|
1469
|
+
_a.purge = function (name, path) {
|
|
1419
1470
|
var _a;
|
|
1420
1471
|
var result = false;
|
|
1421
1472
|
if (areCookiesSupported(logger)) {
|
|
@@ -1427,12 +1478,12 @@
|
|
|
1427
1478
|
values["max-age"] = "0";
|
|
1428
1479
|
}
|
|
1429
1480
|
var delCookie = cookieMgrConfig.delCookie || _setCookieValue;
|
|
1430
|
-
delCookie(name, _formatCookieValue(
|
|
1481
|
+
delCookie(name, _formatCookieValue(STR_EMPTY, values));
|
|
1431
1482
|
result = true;
|
|
1432
1483
|
}
|
|
1433
1484
|
return result;
|
|
1434
|
-
}
|
|
1435
|
-
|
|
1485
|
+
},
|
|
1486
|
+
_a);
|
|
1436
1487
|
cookieMgr[strConfigCookieMgr] = cookieMgr;
|
|
1437
1488
|
return cookieMgr;
|
|
1438
1489
|
}
|
|
@@ -1451,17 +1502,17 @@
|
|
|
1451
1502
|
}
|
|
1452
1503
|
function _extractParts(theValue) {
|
|
1453
1504
|
var values = {};
|
|
1454
|
-
if (theValue && theValue
|
|
1455
|
-
var parts = strTrim(theValue)
|
|
1505
|
+
if (theValue && theValue[_DYN_LENGTH$2 ]) {
|
|
1506
|
+
var parts = strTrim(theValue)[_DYN_SPLIT$1 ](";");
|
|
1456
1507
|
arrForEach(parts, function (thePart) {
|
|
1457
|
-
thePart = strTrim(thePart ||
|
|
1508
|
+
thePart = strTrim(thePart || STR_EMPTY);
|
|
1458
1509
|
if (thePart) {
|
|
1459
|
-
var idx = thePart
|
|
1510
|
+
var idx = thePart[_DYN_INDEX_OF$1 ]("=");
|
|
1460
1511
|
if (idx === -1) {
|
|
1461
1512
|
values[thePart] = null;
|
|
1462
1513
|
}
|
|
1463
1514
|
else {
|
|
1464
|
-
values[strTrim(thePart
|
|
1515
|
+
values[strTrim(thePart[_DYN_SUBSTRING$1 ](0, idx))] = strTrim(thePart[_DYN_SUBSTRING$1 ](idx + 1));
|
|
1465
1516
|
}
|
|
1466
1517
|
}
|
|
1467
1518
|
});
|
|
@@ -1475,21 +1526,21 @@
|
|
|
1475
1526
|
return null;
|
|
1476
1527
|
}
|
|
1477
1528
|
function _formatCookieValue(value, values) {
|
|
1478
|
-
var cookieValue = value ||
|
|
1529
|
+
var cookieValue = value || STR_EMPTY;
|
|
1479
1530
|
objForEachKey(values, function (name, theValue) {
|
|
1480
|
-
cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue :
|
|
1531
|
+
cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY);
|
|
1481
1532
|
});
|
|
1482
1533
|
return cookieValue;
|
|
1483
1534
|
}
|
|
1484
1535
|
function _getCookieValue(name) {
|
|
1485
|
-
var cookieValue =
|
|
1536
|
+
var cookieValue = STR_EMPTY;
|
|
1486
1537
|
if (_doc) {
|
|
1487
|
-
var theCookie = _doc[strCookie] ||
|
|
1538
|
+
var theCookie = _doc[strCookie] || STR_EMPTY;
|
|
1488
1539
|
if (_parsedCookieValue !== theCookie) {
|
|
1489
1540
|
_cookieCache = _extractParts(theCookie);
|
|
1490
1541
|
_parsedCookieValue = theCookie;
|
|
1491
1542
|
}
|
|
1492
|
-
cookieValue = strTrim(_cookieCache[name] ||
|
|
1543
|
+
cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);
|
|
1493
1544
|
}
|
|
1494
1545
|
return cookieValue;
|
|
1495
1546
|
}
|
|
@@ -1537,16 +1588,17 @@
|
|
|
1537
1588
|
var elmNodeData = createElmNodeData("events");
|
|
1538
1589
|
var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
|
|
1539
1590
|
function _normalizeNamespace(name) {
|
|
1540
|
-
if (name && name
|
|
1541
|
-
return name.replace(/^\s*\.*|\.*\s*$/g,
|
|
1591
|
+
if (name && name[_DYN_REPLACE ]) {
|
|
1592
|
+
return name.replace(/^\s*\.*|\.*\s*$/g, STR_EMPTY);
|
|
1542
1593
|
}
|
|
1543
1594
|
return name;
|
|
1544
1595
|
}
|
|
1545
1596
|
function _getEvtNamespace(eventName, evtNamespace) {
|
|
1597
|
+
var _a;
|
|
1546
1598
|
if (evtNamespace) {
|
|
1547
|
-
var theNamespace_1 =
|
|
1599
|
+
var theNamespace_1 = STR_EMPTY;
|
|
1548
1600
|
if (isArray(evtNamespace)) {
|
|
1549
|
-
theNamespace_1 =
|
|
1601
|
+
theNamespace_1 = STR_EMPTY;
|
|
1550
1602
|
arrForEach(evtNamespace, function (name) {
|
|
1551
1603
|
name = _normalizeNamespace(name);
|
|
1552
1604
|
if (name) {
|
|
@@ -1564,14 +1616,14 @@
|
|
|
1564
1616
|
if (theNamespace_1[0] !== ".") {
|
|
1565
1617
|
theNamespace_1 = "." + theNamespace_1;
|
|
1566
1618
|
}
|
|
1567
|
-
eventName = (eventName ||
|
|
1619
|
+
eventName = (eventName || STR_EMPTY) + theNamespace_1;
|
|
1568
1620
|
}
|
|
1569
1621
|
}
|
|
1570
|
-
var parsedEvent = (eventNamespace.exec(eventName ||
|
|
1571
|
-
return {
|
|
1572
|
-
|
|
1573
|
-
ns
|
|
1574
|
-
|
|
1622
|
+
var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
|
|
1623
|
+
return _a = {},
|
|
1624
|
+
_a[_DYN_TYPE ] = parsedEvent[1],
|
|
1625
|
+
_a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT$1 ](".").sort()).join("."),
|
|
1626
|
+
_a;
|
|
1575
1627
|
}
|
|
1576
1628
|
function _getRegisteredEvents(target, evtName, addDefault) {
|
|
1577
1629
|
if (addDefault === void 0) { addDefault = true; }
|
|
@@ -1583,53 +1635,53 @@
|
|
|
1583
1635
|
return registeredEvents;
|
|
1584
1636
|
}
|
|
1585
1637
|
function _doDetach(obj, evtName, handlerRef, useCapture) {
|
|
1586
|
-
if (obj && evtName && evtName
|
|
1638
|
+
if (obj && evtName && evtName[_DYN_TYPE ]) {
|
|
1587
1639
|
if (obj[strRemoveEventListener]) {
|
|
1588
|
-
obj[strRemoveEventListener](evtName
|
|
1640
|
+
obj[strRemoveEventListener](evtName[_DYN_TYPE ], handlerRef, useCapture);
|
|
1589
1641
|
}
|
|
1590
1642
|
else if (obj[strDetachEvent]) {
|
|
1591
|
-
obj[strDetachEvent](strOnPrefix + evtName
|
|
1643
|
+
obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
|
|
1592
1644
|
}
|
|
1593
1645
|
}
|
|
1594
1646
|
}
|
|
1595
1647
|
function _doAttach(obj, evtName, handlerRef, useCapture) {
|
|
1596
1648
|
var result = false;
|
|
1597
|
-
if (obj && evtName && evtName
|
|
1649
|
+
if (obj && evtName && evtName[_DYN_TYPE ] && handlerRef) {
|
|
1598
1650
|
if (obj[strAddEventHelper]) {
|
|
1599
|
-
obj[strAddEventHelper](evtName
|
|
1651
|
+
obj[strAddEventHelper](evtName[_DYN_TYPE ], handlerRef, useCapture);
|
|
1600
1652
|
result = true;
|
|
1601
1653
|
}
|
|
1602
1654
|
else if (obj[strAttachEvent]) {
|
|
1603
|
-
obj[strAttachEvent](strOnPrefix + evtName
|
|
1655
|
+
obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
|
|
1604
1656
|
result = true;
|
|
1605
1657
|
}
|
|
1606
1658
|
}
|
|
1607
1659
|
return result;
|
|
1608
1660
|
}
|
|
1609
1661
|
function _doUnregister(target, events, evtName, unRegFn) {
|
|
1610
|
-
var idx = events
|
|
1662
|
+
var idx = events[_DYN_LENGTH$2 ];
|
|
1611
1663
|
while (idx--) {
|
|
1612
1664
|
var theEvent = events[idx];
|
|
1613
1665
|
if (theEvent) {
|
|
1614
1666
|
if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
|
|
1615
1667
|
if (!unRegFn || unRegFn(theEvent)) {
|
|
1616
|
-
_doDetach(target, theEvent.evtName, theEvent
|
|
1617
|
-
events
|
|
1668
|
+
_doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
|
|
1669
|
+
events[_DYN_SPLICE ](idx, 1);
|
|
1618
1670
|
}
|
|
1619
1671
|
}
|
|
1620
1672
|
}
|
|
1621
1673
|
}
|
|
1622
1674
|
}
|
|
1623
1675
|
function _unregisterEvents(target, evtName, unRegFn) {
|
|
1624
|
-
if (evtName
|
|
1625
|
-
_doUnregister(target, _getRegisteredEvents(target, evtName
|
|
1676
|
+
if (evtName[_DYN_TYPE ]) {
|
|
1677
|
+
_doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE ]), evtName, unRegFn);
|
|
1626
1678
|
}
|
|
1627
1679
|
else {
|
|
1628
1680
|
var eventCache = elmNodeData.get(target, strEvents, {});
|
|
1629
1681
|
objForEachKey(eventCache, function (evtType, events) {
|
|
1630
1682
|
_doUnregister(target, events, evtName, unRegFn);
|
|
1631
1683
|
});
|
|
1632
|
-
if (objKeys(eventCache)
|
|
1684
|
+
if (objKeys(eventCache)[_DYN_LENGTH$2 ] === 0) {
|
|
1633
1685
|
elmNodeData.kill(target, strEvents);
|
|
1634
1686
|
}
|
|
1635
1687
|
}
|
|
@@ -1643,7 +1695,7 @@
|
|
|
1643
1695
|
else {
|
|
1644
1696
|
newNamespaces = [theNamespace, namespaces];
|
|
1645
1697
|
}
|
|
1646
|
-
newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)
|
|
1698
|
+
newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)[_DYN_SPLIT$1 ](".");
|
|
1647
1699
|
}
|
|
1648
1700
|
else {
|
|
1649
1701
|
newNamespaces = theNamespace;
|
|
@@ -1651,6 +1703,7 @@
|
|
|
1651
1703
|
return newNamespaces;
|
|
1652
1704
|
}
|
|
1653
1705
|
function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
|
|
1706
|
+
var _a;
|
|
1654
1707
|
if (useCapture === void 0) { useCapture = false; }
|
|
1655
1708
|
var result = false;
|
|
1656
1709
|
if (target) {
|
|
@@ -1658,13 +1711,14 @@
|
|
|
1658
1711
|
var evtName = _getEvtNamespace(eventName, evtNamespace);
|
|
1659
1712
|
result = _doAttach(target, evtName, handlerRef, useCapture);
|
|
1660
1713
|
if (result && elmNodeData.accept(target)) {
|
|
1661
|
-
var registeredEvent = {
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1714
|
+
var registeredEvent = (_a = {
|
|
1715
|
+
guid: _guid++,
|
|
1716
|
+
evtName: evtName
|
|
1717
|
+
},
|
|
1718
|
+
_a[_DYN_HANDLER ] = handlerRef,
|
|
1719
|
+
_a.capture = useCapture,
|
|
1720
|
+
_a);
|
|
1721
|
+
_getRegisteredEvents(target, evtName.type)[_DYN_PUSH ](registeredEvent);
|
|
1668
1722
|
}
|
|
1669
1723
|
}
|
|
1670
1724
|
catch (e) {
|
|
@@ -1679,7 +1733,7 @@
|
|
|
1679
1733
|
var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
|
|
1680
1734
|
var found_1 = false;
|
|
1681
1735
|
_unregisterEvents(target, evtName_1, function (regEvent) {
|
|
1682
|
-
if ((evtName_1.ns && !handlerRef) || regEvent
|
|
1736
|
+
if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
|
|
1683
1737
|
found_1 = true;
|
|
1684
1738
|
return true;
|
|
1685
1739
|
}
|
|
@@ -1696,7 +1750,7 @@
|
|
|
1696
1750
|
|
|
1697
1751
|
function generateW3CId() {
|
|
1698
1752
|
var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
|
|
1699
|
-
var oct =
|
|
1753
|
+
var oct = STR_EMPTY, tmp;
|
|
1700
1754
|
for (var a = 0; a < 4; a++) {
|
|
1701
1755
|
tmp = random32();
|
|
1702
1756
|
oct +=
|
|
@@ -1710,13 +1764,13 @@
|
|
|
1710
1764
|
hexValues[tmp >> 28 & 0xF];
|
|
1711
1765
|
}
|
|
1712
1766
|
var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
|
|
1713
|
-
return oct
|
|
1767
|
+
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);
|
|
1714
1768
|
}
|
|
1715
1769
|
|
|
1716
1770
|
var INVALID_TRACE_ID = "00000000000000000000000000000000";
|
|
1717
1771
|
var INVALID_SPAN_ID = "0000000000000000";
|
|
1718
1772
|
function _isValid(value, len, invalidValue) {
|
|
1719
|
-
if (value && value
|
|
1773
|
+
if (value && value[_DYN_LENGTH$2 ] === len && value !== invalidValue) {
|
|
1720
1774
|
return !!value.match(/^[\da-f]*$/);
|
|
1721
1775
|
}
|
|
1722
1776
|
return false;
|
|
@@ -1739,12 +1793,12 @@
|
|
|
1739
1793
|
var _chainId = 0;
|
|
1740
1794
|
function _getNextProxyStart(proxy, core, startAt) {
|
|
1741
1795
|
while (proxy) {
|
|
1742
|
-
if (proxy
|
|
1796
|
+
if (proxy[_DYN_GET_PLUGIN ]() === startAt) {
|
|
1743
1797
|
return proxy;
|
|
1744
1798
|
}
|
|
1745
|
-
proxy = proxy
|
|
1799
|
+
proxy = proxy[_DYN_GET_NEXT ]();
|
|
1746
1800
|
}
|
|
1747
|
-
return createTelemetryProxyChain([startAt], core
|
|
1801
|
+
return createTelemetryProxyChain([startAt], core[_DYN_CONFIG ] || {}, core);
|
|
1748
1802
|
}
|
|
1749
1803
|
function _createInternalContext(telemetryChain, config, core, startAt) {
|
|
1750
1804
|
var _nextProxy = null;
|
|
@@ -1785,7 +1839,7 @@
|
|
|
1785
1839
|
args[_i - 2] = arguments[_i];
|
|
1786
1840
|
}
|
|
1787
1841
|
if (onComplete) {
|
|
1788
|
-
_onComplete
|
|
1842
|
+
_onComplete[_DYN_PUSH ]({
|
|
1789
1843
|
func: onComplete,
|
|
1790
1844
|
self: !isUndefined(that) ? that : context.ctx,
|
|
1791
1845
|
args: args
|
|
@@ -1794,16 +1848,16 @@
|
|
|
1794
1848
|
}
|
|
1795
1849
|
function _moveNext() {
|
|
1796
1850
|
var nextProxy = _nextProxy;
|
|
1797
|
-
_nextProxy = nextProxy ? nextProxy
|
|
1851
|
+
_nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT ]() : null;
|
|
1798
1852
|
if (!nextProxy) {
|
|
1799
1853
|
var onComplete = _onComplete;
|
|
1800
|
-
if (onComplete && onComplete
|
|
1854
|
+
if (onComplete && onComplete[_DYN_LENGTH$2 ] > 0) {
|
|
1801
1855
|
arrForEach(onComplete, function (completeDetails) {
|
|
1802
1856
|
try {
|
|
1803
|
-
completeDetails.func
|
|
1857
|
+
completeDetails.func[_DYN_CALL ](completeDetails.self, completeDetails.args);
|
|
1804
1858
|
}
|
|
1805
1859
|
catch (e) {
|
|
1806
|
-
_throwInternal(core
|
|
1860
|
+
_throwInternal(core[_DYN_LOGGER ], 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
|
|
1807
1861
|
}
|
|
1808
1862
|
});
|
|
1809
1863
|
_onComplete = [];
|
|
@@ -1816,7 +1870,7 @@
|
|
|
1816
1870
|
if (mergeDefault === void 0) { mergeDefault = 0 ; }
|
|
1817
1871
|
var theConfig;
|
|
1818
1872
|
if (config) {
|
|
1819
|
-
var extConfig = config
|
|
1873
|
+
var extConfig = config[STR_EXTENSION_CONFIG ];
|
|
1820
1874
|
if (extConfig && identifier) {
|
|
1821
1875
|
theConfig = extConfig[identifier];
|
|
1822
1876
|
}
|
|
@@ -1857,7 +1911,7 @@
|
|
|
1857
1911
|
function _iterateChain(cb) {
|
|
1858
1912
|
var nextPlugin;
|
|
1859
1913
|
while (!!(nextPlugin = context._next())) {
|
|
1860
|
-
var plugin = nextPlugin
|
|
1914
|
+
var plugin = nextPlugin[_DYN_GET_PLUGIN ]();
|
|
1861
1915
|
if (plugin) {
|
|
1862
1916
|
cb(plugin);
|
|
1863
1917
|
}
|
|
@@ -1870,7 +1924,7 @@
|
|
|
1870
1924
|
var context = internalContext.ctx;
|
|
1871
1925
|
function _processNext(env) {
|
|
1872
1926
|
var nextPlugin = internalContext._next();
|
|
1873
|
-
nextPlugin && nextPlugin
|
|
1927
|
+
nextPlugin && nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
|
|
1874
1928
|
return !nextPlugin;
|
|
1875
1929
|
}
|
|
1876
1930
|
function _createNew(plugins, startAt) {
|
|
@@ -1878,14 +1932,14 @@
|
|
|
1878
1932
|
if (isArray(plugins)) {
|
|
1879
1933
|
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
1880
1934
|
}
|
|
1881
|
-
return createProcessTelemetryContext(plugins || context
|
|
1935
|
+
return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config, core, startAt);
|
|
1882
1936
|
}
|
|
1883
|
-
context
|
|
1884
|
-
context
|
|
1937
|
+
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1938
|
+
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1885
1939
|
return context;
|
|
1886
1940
|
}
|
|
1887
1941
|
function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
|
|
1888
|
-
var config = core
|
|
1942
|
+
var config = core[_DYN_CONFIG ] || {};
|
|
1889
1943
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1890
1944
|
var context = internalContext.ctx;
|
|
1891
1945
|
function _processNext(unloadState) {
|
|
@@ -1898,20 +1952,20 @@
|
|
|
1898
1952
|
if (isArray(plugins)) {
|
|
1899
1953
|
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
1900
1954
|
}
|
|
1901
|
-
return createProcessTelemetryUnloadContext(plugins || context
|
|
1955
|
+
return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
|
|
1902
1956
|
}
|
|
1903
|
-
context
|
|
1904
|
-
context
|
|
1957
|
+
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1958
|
+
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1905
1959
|
return context;
|
|
1906
1960
|
}
|
|
1907
1961
|
function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
|
|
1908
|
-
var config = core
|
|
1962
|
+
var config = core[_DYN_CONFIG ] || {};
|
|
1909
1963
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1910
1964
|
var context = internalContext.ctx;
|
|
1911
1965
|
function _processNext(updateState) {
|
|
1912
1966
|
return context.iterate(function (plugin) {
|
|
1913
|
-
if (isFunction(plugin
|
|
1914
|
-
plugin
|
|
1967
|
+
if (isFunction(plugin[_DYN_UPDATE ])) {
|
|
1968
|
+
plugin[_DYN_UPDATE ](context, updateState);
|
|
1915
1969
|
}
|
|
1916
1970
|
});
|
|
1917
1971
|
}
|
|
@@ -1920,22 +1974,22 @@
|
|
|
1920
1974
|
if (isArray(plugins)) {
|
|
1921
1975
|
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
1922
1976
|
}
|
|
1923
|
-
return createProcessTelemetryUpdateContext(plugins || context
|
|
1977
|
+
return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
|
|
1924
1978
|
}
|
|
1925
|
-
context
|
|
1926
|
-
context
|
|
1979
|
+
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1980
|
+
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1927
1981
|
return context;
|
|
1928
1982
|
}
|
|
1929
1983
|
function createTelemetryProxyChain(plugins, config, core, startAt) {
|
|
1930
1984
|
var firstProxy = null;
|
|
1931
1985
|
var add = startAt ? false : true;
|
|
1932
|
-
if (isArray(plugins) && plugins
|
|
1986
|
+
if (isArray(plugins) && plugins[_DYN_LENGTH$2 ] > 0) {
|
|
1933
1987
|
var lastProxy_1 = null;
|
|
1934
1988
|
arrForEach(plugins, function (thePlugin) {
|
|
1935
1989
|
if (!add && startAt === thePlugin) {
|
|
1936
1990
|
add = true;
|
|
1937
1991
|
}
|
|
1938
|
-
if (add && thePlugin && isFunction(thePlugin
|
|
1992
|
+
if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY ])) {
|
|
1939
1993
|
var newProxy = createTelemetryPluginProxy(thePlugin, config, core);
|
|
1940
1994
|
if (!firstProxy) {
|
|
1941
1995
|
firstProxy = newProxy;
|
|
@@ -1954,11 +2008,11 @@
|
|
|
1954
2008
|
}
|
|
1955
2009
|
function createTelemetryPluginProxy(plugin, config, core) {
|
|
1956
2010
|
var nextProxy = null;
|
|
1957
|
-
var hasProcessTelemetry = isFunction(plugin
|
|
1958
|
-
var hasSetNext = isFunction(plugin
|
|
2011
|
+
var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY ]);
|
|
2012
|
+
var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN ]);
|
|
1959
2013
|
var chainId;
|
|
1960
2014
|
if (plugin) {
|
|
1961
|
-
chainId = plugin
|
|
2015
|
+
chainId = plugin[_DYN_IDENTIFIER ] + "-" + plugin[STR_PRIORITY ] + "-" + _chainId++;
|
|
1962
2016
|
}
|
|
1963
2017
|
else {
|
|
1964
2018
|
chainId = "Unknown-0-" + _chainId++;
|
|
@@ -1990,17 +2044,17 @@
|
|
|
1990
2044
|
}
|
|
1991
2045
|
function _processChain(itemCtx, processPluginFn, name, details, isAsync) {
|
|
1992
2046
|
var hasRun = false;
|
|
1993
|
-
var identifier = plugin ? plugin
|
|
2047
|
+
var identifier = plugin ? plugin[_DYN_IDENTIFIER ] : strTelemetryPluginChain;
|
|
1994
2048
|
var hasRunContext = itemCtx[strHasRunFlags];
|
|
1995
2049
|
if (!hasRunContext) {
|
|
1996
2050
|
hasRunContext = itemCtx[strHasRunFlags] = {};
|
|
1997
2051
|
}
|
|
1998
2052
|
itemCtx.setNext(nextProxy);
|
|
1999
2053
|
if (plugin) {
|
|
2000
|
-
doPerf(itemCtx[
|
|
2054
|
+
doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
|
|
2001
2055
|
hasRunContext[chainId] = true;
|
|
2002
2056
|
try {
|
|
2003
|
-
var nextId = nextProxy ? nextProxy._id :
|
|
2057
|
+
var nextId = nextProxy ? nextProxy._id : STR_EMPTY;
|
|
2004
2058
|
if (nextId) {
|
|
2005
2059
|
hasRunContext[nextId] = false;
|
|
2006
2060
|
}
|
|
@@ -2012,7 +2066,7 @@
|
|
|
2012
2066
|
hasRun = true;
|
|
2013
2067
|
}
|
|
2014
2068
|
if (!nextProxy || !hasNextRun) {
|
|
2015
|
-
_throwInternal(itemCtx
|
|
2069
|
+
_throwInternal(itemCtx[_DYN_DIAG_LOG$1 ](), 1 , 73 , "Plugin [" + identifier + "] failed during " + name + " - " + dumpObj(error) + ", run flags: " + dumpObj(hasRunContext));
|
|
2016
2070
|
}
|
|
2017
2071
|
}
|
|
2018
2072
|
}, details, isAsync);
|
|
@@ -2026,17 +2080,17 @@
|
|
|
2026
2080
|
return false;
|
|
2027
2081
|
}
|
|
2028
2082
|
var pluginState = _getPluginState(plugin);
|
|
2029
|
-
if (pluginState
|
|
2083
|
+
if (pluginState[_DYN_TEARDOWN ] || pluginState[STR_DISABLED]) {
|
|
2030
2084
|
return false;
|
|
2031
2085
|
}
|
|
2032
2086
|
if (hasSetNext) {
|
|
2033
|
-
plugin
|
|
2087
|
+
plugin[_DYN_SET_NEXT_PLUGIN ](nextProxy);
|
|
2034
2088
|
}
|
|
2035
|
-
plugin
|
|
2089
|
+
plugin[STR_PROCESS_TELEMETRY ](env, itemCtx);
|
|
2036
2090
|
return true;
|
|
2037
2091
|
}
|
|
2038
2092
|
if (!_processChain(itemCtx, _callProcessTelemetry, "processTelemetry", function () { return ({ item: env }); }, !(env.sync))) {
|
|
2039
|
-
itemCtx
|
|
2093
|
+
itemCtx[_DYN_PROCESS_NEXT ](env);
|
|
2040
2094
|
}
|
|
2041
2095
|
}
|
|
2042
2096
|
function _unloadPlugin(unloadCtx, unloadState) {
|
|
@@ -2044,20 +2098,20 @@
|
|
|
2044
2098
|
var hasRun = false;
|
|
2045
2099
|
if (plugin) {
|
|
2046
2100
|
var pluginState = _getPluginState(plugin);
|
|
2047
|
-
var pluginCore = plugin[
|
|
2048
|
-
if (plugin && (!pluginCore || pluginCore === unloadCtx
|
|
2049
|
-
pluginState[
|
|
2050
|
-
pluginState[
|
|
2051
|
-
pluginState[
|
|
2052
|
-
if (plugin[
|
|
2101
|
+
var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
|
|
2102
|
+
if (plugin && (!pluginCore || pluginCore === unloadCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
|
|
2103
|
+
pluginState[STR_CORE ] = null;
|
|
2104
|
+
pluginState[_DYN_TEARDOWN ] = true;
|
|
2105
|
+
pluginState[_DYN_IS_INITIALIZED ] = false;
|
|
2106
|
+
if (plugin[_DYN_TEARDOWN ] && plugin[_DYN_TEARDOWN ](unloadCtx, unloadState) === true) {
|
|
2053
2107
|
hasRun = true;
|
|
2054
2108
|
}
|
|
2055
2109
|
}
|
|
2056
2110
|
}
|
|
2057
2111
|
return hasRun;
|
|
2058
2112
|
}
|
|
2059
|
-
if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState
|
|
2060
|
-
unloadCtx
|
|
2113
|
+
if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState[_DYN_IS_ASYNC ])) {
|
|
2114
|
+
unloadCtx[_DYN_PROCESS_NEXT ](unloadState);
|
|
2061
2115
|
}
|
|
2062
2116
|
}
|
|
2063
2117
|
function _updatePlugin(updateCtx, updateState) {
|
|
@@ -2065,9 +2119,9 @@
|
|
|
2065
2119
|
var hasRun = false;
|
|
2066
2120
|
if (plugin) {
|
|
2067
2121
|
var pluginState = _getPluginState(plugin);
|
|
2068
|
-
var pluginCore = plugin[
|
|
2069
|
-
if (plugin && (!pluginCore || pluginCore === updateCtx
|
|
2070
|
-
if (plugin[
|
|
2122
|
+
var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
|
|
2123
|
+
if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
|
|
2124
|
+
if (plugin[_DYN_UPDATE ] && plugin[_DYN_UPDATE ](updateCtx, updateState) === true) {
|
|
2071
2125
|
hasRun = true;
|
|
2072
2126
|
}
|
|
2073
2127
|
}
|
|
@@ -2075,19 +2129,17 @@
|
|
|
2075
2129
|
return hasRun;
|
|
2076
2130
|
}
|
|
2077
2131
|
if (!_processChain(updateCtx, _callUpdate, "update", function () { }, false)) {
|
|
2078
|
-
updateCtx
|
|
2132
|
+
updateCtx[_DYN_PROCESS_NEXT ](updateState);
|
|
2079
2133
|
}
|
|
2080
2134
|
}
|
|
2081
2135
|
return objFreeze(proxyChain);
|
|
2082
2136
|
}
|
|
2083
2137
|
|
|
2084
|
-
var strExtensionConfig = "extensionConfig";
|
|
2085
|
-
|
|
2086
2138
|
function createUnloadHandlerContainer() {
|
|
2087
2139
|
var handlers = [];
|
|
2088
2140
|
function _addHandler(handler) {
|
|
2089
2141
|
if (handler) {
|
|
2090
|
-
handlers
|
|
2142
|
+
handlers[_DYN_PUSH ](handler);
|
|
2091
2143
|
}
|
|
2092
2144
|
}
|
|
2093
2145
|
function _runHandlers(unloadCtx, unloadState) {
|
|
@@ -2096,7 +2148,7 @@
|
|
|
2096
2148
|
handler(unloadCtx, unloadState);
|
|
2097
2149
|
}
|
|
2098
2150
|
catch (e) {
|
|
2099
|
-
_throwInternal(unloadCtx
|
|
2151
|
+
_throwInternal(unloadCtx[_DYN_DIAG_LOG$1 ](), 2 , 73 , "Unexpected error calling unload handler - " + dumpObj(e));
|
|
2100
2152
|
}
|
|
2101
2153
|
});
|
|
2102
2154
|
handlers = [];
|
|
@@ -2118,37 +2170,40 @@
|
|
|
2118
2170
|
var _hooks;
|
|
2119
2171
|
_initDefaults();
|
|
2120
2172
|
dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
|
|
2121
|
-
_self
|
|
2173
|
+
_self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
|
|
2122
2174
|
_setDefaults(config, core, pluginChain);
|
|
2123
2175
|
_isinitialized = true;
|
|
2124
2176
|
};
|
|
2125
|
-
_self
|
|
2126
|
-
var
|
|
2127
|
-
|
|
2177
|
+
_self[_DYN_TEARDOWN ] = function (unloadCtx, unloadState) {
|
|
2178
|
+
var _a;
|
|
2179
|
+
var core = _self[STR_CORE ];
|
|
2180
|
+
if (!core || (unloadCtx && core !== unloadCtx[STR_CORE ]())) {
|
|
2128
2181
|
return;
|
|
2129
2182
|
}
|
|
2130
2183
|
var result;
|
|
2131
2184
|
var unloadDone = false;
|
|
2132
2185
|
var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);
|
|
2133
|
-
var theUnloadState = unloadState || {
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2186
|
+
var theUnloadState = unloadState || (_a = {
|
|
2187
|
+
reason: 0
|
|
2188
|
+
},
|
|
2189
|
+
_a[_DYN_IS_ASYNC ] = false,
|
|
2190
|
+
_a);
|
|
2137
2191
|
function _unloadCallback() {
|
|
2138
2192
|
if (!unloadDone) {
|
|
2139
2193
|
unloadDone = true;
|
|
2140
2194
|
_unloadHandlerContainer.run(theUnloadCtx, unloadState);
|
|
2141
|
-
|
|
2195
|
+
var oldHooks = _hooks;
|
|
2196
|
+
_hooks = [];
|
|
2197
|
+
arrForEach(oldHooks, function (fn) {
|
|
2142
2198
|
fn.rm();
|
|
2143
2199
|
});
|
|
2144
|
-
_hooks = [];
|
|
2145
2200
|
if (result === true) {
|
|
2146
|
-
theUnloadCtx
|
|
2201
|
+
theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
|
|
2147
2202
|
}
|
|
2148
2203
|
_initDefaults();
|
|
2149
2204
|
}
|
|
2150
2205
|
}
|
|
2151
|
-
if (!_self[
|
|
2206
|
+
if (!_self[_DYN__DO_TEARDOWN ] || _self[_DYN__DO_TEARDOWN ](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {
|
|
2152
2207
|
_unloadCallback();
|
|
2153
2208
|
}
|
|
2154
2209
|
else {
|
|
@@ -2156,9 +2211,9 @@
|
|
|
2156
2211
|
}
|
|
2157
2212
|
return result;
|
|
2158
2213
|
};
|
|
2159
|
-
_self
|
|
2160
|
-
var core = _self
|
|
2161
|
-
if (!core || (updateCtx && core !== updateCtx
|
|
2214
|
+
_self[_DYN_UPDATE ] = function (updateCtx, updateState) {
|
|
2215
|
+
var core = _self[STR_CORE ];
|
|
2216
|
+
if (!core || (updateCtx && core !== updateCtx[STR_CORE ]())) {
|
|
2162
2217
|
return;
|
|
2163
2218
|
}
|
|
2164
2219
|
var result;
|
|
@@ -2170,7 +2225,7 @@
|
|
|
2170
2225
|
function _updateCallback() {
|
|
2171
2226
|
if (!updateDone) {
|
|
2172
2227
|
updateDone = true;
|
|
2173
|
-
_setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx
|
|
2228
|
+
_setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT ]());
|
|
2174
2229
|
}
|
|
2175
2230
|
}
|
|
2176
2231
|
if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {
|
|
@@ -2187,30 +2242,30 @@
|
|
|
2187
2242
|
_hooks = _hooks.concat(hooks);
|
|
2188
2243
|
}
|
|
2189
2244
|
else {
|
|
2190
|
-
_hooks
|
|
2245
|
+
_hooks[_DYN_PUSH ](hooks);
|
|
2191
2246
|
}
|
|
2192
2247
|
}
|
|
2193
2248
|
};
|
|
2194
2249
|
proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
|
|
2195
2250
|
});
|
|
2196
|
-
_self
|
|
2197
|
-
return _getTelCtx(itemCtx)
|
|
2251
|
+
_self[_DYN_DIAG_LOG$1 ] = function (itemCtx) {
|
|
2252
|
+
return _getTelCtx(itemCtx)[_DYN_DIAG_LOG$1 ]();
|
|
2198
2253
|
};
|
|
2199
|
-
_self[
|
|
2254
|
+
_self[_DYN_IS_INITIALIZED ] = function () {
|
|
2200
2255
|
return _isinitialized;
|
|
2201
2256
|
};
|
|
2202
2257
|
_self.setInitialized = function (isInitialized) {
|
|
2203
2258
|
_isinitialized = isInitialized;
|
|
2204
2259
|
};
|
|
2205
|
-
_self[
|
|
2260
|
+
_self[_DYN_SET_NEXT_PLUGIN ] = function (next) {
|
|
2206
2261
|
_nextPlugin = next;
|
|
2207
2262
|
};
|
|
2208
|
-
_self
|
|
2263
|
+
_self[_DYN_PROCESS_NEXT ] = function (env, itemCtx) {
|
|
2209
2264
|
if (itemCtx) {
|
|
2210
|
-
itemCtx
|
|
2265
|
+
itemCtx[_DYN_PROCESS_NEXT ](env);
|
|
2211
2266
|
}
|
|
2212
|
-
else if (_nextPlugin && isFunction(_nextPlugin
|
|
2213
|
-
_nextPlugin
|
|
2267
|
+
else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY ])) {
|
|
2268
|
+
_nextPlugin[STR_PROCESS_TELEMETRY ](env, null);
|
|
2214
2269
|
}
|
|
2215
2270
|
};
|
|
2216
2271
|
_self._getTelCtx = _getTelCtx;
|
|
@@ -2218,33 +2273,33 @@
|
|
|
2218
2273
|
if (currentCtx === void 0) { currentCtx = null; }
|
|
2219
2274
|
var itemCtx = currentCtx;
|
|
2220
2275
|
if (!itemCtx) {
|
|
2221
|
-
var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self
|
|
2276
|
+
var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE ]);
|
|
2222
2277
|
if (_nextPlugin && _nextPlugin[strGetPlugin]) {
|
|
2223
|
-
itemCtx = rootCtx
|
|
2278
|
+
itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin[strGetPlugin]);
|
|
2224
2279
|
}
|
|
2225
2280
|
else {
|
|
2226
|
-
itemCtx = rootCtx
|
|
2281
|
+
itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin);
|
|
2227
2282
|
}
|
|
2228
2283
|
}
|
|
2229
2284
|
return itemCtx;
|
|
2230
2285
|
}
|
|
2231
2286
|
function _setDefaults(config, core, pluginChain) {
|
|
2232
2287
|
if (config) {
|
|
2233
|
-
setValue(config,
|
|
2288
|
+
setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);
|
|
2234
2289
|
}
|
|
2235
2290
|
if (!pluginChain && core) {
|
|
2236
|
-
pluginChain = core
|
|
2291
|
+
pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
|
|
2237
2292
|
}
|
|
2238
2293
|
var nextPlugin = _nextPlugin;
|
|
2239
2294
|
if (_nextPlugin && _nextPlugin[strGetPlugin]) {
|
|
2240
2295
|
nextPlugin = _nextPlugin[strGetPlugin]();
|
|
2241
2296
|
}
|
|
2242
|
-
_self
|
|
2297
|
+
_self[STR_CORE ] = core;
|
|
2243
2298
|
_rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);
|
|
2244
2299
|
}
|
|
2245
2300
|
function _initDefaults() {
|
|
2246
2301
|
_isinitialized = false;
|
|
2247
|
-
_self
|
|
2302
|
+
_self[STR_CORE ] = null;
|
|
2248
2303
|
_rootCtx = null;
|
|
2249
2304
|
_nextPlugin = null;
|
|
2250
2305
|
_hooks = [];
|
|
@@ -2261,7 +2316,7 @@
|
|
|
2261
2316
|
];
|
|
2262
2317
|
function _arrLoop(arr, fn) {
|
|
2263
2318
|
if (arr) {
|
|
2264
|
-
for (var lp = 0; lp < arr
|
|
2319
|
+
for (var lp = 0; lp < arr[_DYN_LENGTH$2 ]; lp++) {
|
|
2265
2320
|
if (fn(arr[lp], lp)) {
|
|
2266
2321
|
break;
|
|
2267
2322
|
}
|
|
@@ -2279,7 +2334,7 @@
|
|
|
2279
2334
|
return ctx;
|
|
2280
2335
|
};
|
|
2281
2336
|
try {
|
|
2282
|
-
cb
|
|
2337
|
+
cb[_DYN_APPLY ](callDetails.inst, cbArgs);
|
|
2283
2338
|
}
|
|
2284
2339
|
catch (err) {
|
|
2285
2340
|
var orgEx = callDetails.err;
|
|
@@ -2287,7 +2342,7 @@
|
|
|
2287
2342
|
var hookErrorCb = cbks[cbNames[2 ]];
|
|
2288
2343
|
if (hookErrorCb) {
|
|
2289
2344
|
callDetails.err = err;
|
|
2290
|
-
hookErrorCb
|
|
2345
|
+
hookErrorCb[_DYN_APPLY ](callDetails.inst, cbArgs);
|
|
2291
2346
|
}
|
|
2292
2347
|
}
|
|
2293
2348
|
catch (e) {
|
|
@@ -2302,21 +2357,22 @@
|
|
|
2302
2357
|
}
|
|
2303
2358
|
function _createFunctionHook(aiHook) {
|
|
2304
2359
|
return function () {
|
|
2360
|
+
var _a;
|
|
2305
2361
|
var funcThis = this;
|
|
2306
2362
|
var orgArgs = arguments;
|
|
2307
2363
|
var hooks = aiHook.h;
|
|
2308
|
-
var funcArgs = {
|
|
2309
|
-
|
|
2310
|
-
inst
|
|
2311
|
-
ctx
|
|
2312
|
-
set
|
|
2313
|
-
|
|
2364
|
+
var funcArgs = (_a = {},
|
|
2365
|
+
_a[_DYN_NAME$1 ] = aiHook.n,
|
|
2366
|
+
_a.inst = funcThis,
|
|
2367
|
+
_a.ctx = null,
|
|
2368
|
+
_a.set = _replaceArg,
|
|
2369
|
+
_a);
|
|
2314
2370
|
var hookCtx = [];
|
|
2315
2371
|
var cbArgs = _createArgs([funcArgs], orgArgs);
|
|
2316
2372
|
funcArgs.evt = getGlobalInst("event");
|
|
2317
2373
|
function _createArgs(target, theArgs) {
|
|
2318
2374
|
_arrLoop(theArgs, function (arg) {
|
|
2319
|
-
target
|
|
2375
|
+
target[_DYN_PUSH ](arg);
|
|
2320
2376
|
});
|
|
2321
2377
|
return target;
|
|
2322
2378
|
}
|
|
@@ -2329,7 +2385,7 @@
|
|
|
2329
2385
|
var theFunc = aiHook.f;
|
|
2330
2386
|
if (theFunc) {
|
|
2331
2387
|
try {
|
|
2332
|
-
funcArgs.rslt = theFunc
|
|
2388
|
+
funcArgs.rslt = theFunc[_DYN_APPLY ](funcThis, orgArgs);
|
|
2333
2389
|
}
|
|
2334
2390
|
catch (err) {
|
|
2335
2391
|
funcArgs.err = err;
|
|
@@ -2348,7 +2404,7 @@
|
|
|
2348
2404
|
owner = target;
|
|
2349
2405
|
}
|
|
2350
2406
|
else if (checkPrototype) {
|
|
2351
|
-
owner = _getOwner(_getObjProto
|
|
2407
|
+
owner = _getOwner(_getObjProto(target), name, false);
|
|
2352
2408
|
}
|
|
2353
2409
|
}
|
|
2354
2410
|
return owner;
|
|
@@ -2366,145 +2422,36 @@
|
|
|
2366
2422
|
newFunc[aiInstrumentHooks] = aiHook;
|
|
2367
2423
|
owner[funcName] = newFunc;
|
|
2368
2424
|
}
|
|
2369
|
-
var theHook = {
|
|
2370
|
-
id: aiHook.i,
|
|
2371
|
-
cbks: callbacks,
|
|
2372
|
-
rm: function () {
|
|
2373
|
-
var id = this.id;
|
|
2374
|
-
_arrLoop(aiHook.h, function (hook, idx) {
|
|
2375
|
-
if (hook.id === id) {
|
|
2376
|
-
aiHook.h
|
|
2377
|
-
return 1;
|
|
2378
|
-
}
|
|
2379
|
-
});
|
|
2380
|
-
}
|
|
2381
|
-
};
|
|
2382
|
-
aiHook.i++;
|
|
2383
|
-
aiHook.h
|
|
2384
|
-
return theHook;
|
|
2385
|
-
}
|
|
2386
|
-
function InstrumentEvent(target, evtName, callbacks, checkPrototype) {
|
|
2387
|
-
if (target && evtName && callbacks) {
|
|
2388
|
-
var owner = _getOwner(target, evtName, checkPrototype) || target;
|
|
2389
|
-
if (owner) {
|
|
2390
|
-
return _createInstrumentHook(owner, evtName, owner[evtName], callbacks);
|
|
2391
|
-
}
|
|
2392
|
-
}
|
|
2393
|
-
return null;
|
|
2394
|
-
}
|
|
2395
|
-
|
|
2396
|
-
function dataSanitizeKeyAndAddUniqueness(logger, key, map) {
|
|
2397
|
-
var origLength = key.length;
|
|
2398
|
-
var field = dataSanitizeKey(logger, key);
|
|
2399
|
-
if (field.length !== origLength) {
|
|
2400
|
-
var i = 0;
|
|
2401
|
-
var uniqueField = field;
|
|
2402
|
-
while (map[uniqueField] !== undefined) {
|
|
2403
|
-
i++;
|
|
2404
|
-
uniqueField = field.substring(0, 150 - 3) + dsPadNumber(i);
|
|
2405
|
-
}
|
|
2406
|
-
field = uniqueField;
|
|
2407
|
-
}
|
|
2408
|
-
return field;
|
|
2409
|
-
}
|
|
2410
|
-
function dataSanitizeKey(logger, name) {
|
|
2411
|
-
var nameTrunc;
|
|
2412
|
-
if (name) {
|
|
2413
|
-
name = strTrim(name.toString());
|
|
2414
|
-
if (name.length > 150 ) {
|
|
2415
|
-
nameTrunc = name.substring(0, 150 );
|
|
2416
|
-
_throwInternal(logger, 2 , 57 , "name is too long. It has been truncated to " + 150 + " characters.", { name: name }, true);
|
|
2417
|
-
}
|
|
2418
|
-
}
|
|
2419
|
-
return nameTrunc || name;
|
|
2420
|
-
}
|
|
2421
|
-
function dataSanitizeString(logger, value, maxLength) {
|
|
2422
|
-
if (maxLength === void 0) { maxLength = 1024 ; }
|
|
2423
|
-
var valueTrunc;
|
|
2424
|
-
if (value) {
|
|
2425
|
-
maxLength = maxLength ? maxLength : 1024 ;
|
|
2426
|
-
value = strTrim(value);
|
|
2427
|
-
if (value.toString().length > maxLength) {
|
|
2428
|
-
valueTrunc = value.toString().substring(0, maxLength);
|
|
2429
|
-
_throwInternal(logger, 2 , 61 , "string value is too long. It has been truncated to " + maxLength + " characters.", { value: value }, true);
|
|
2430
|
-
}
|
|
2431
|
-
}
|
|
2432
|
-
return valueTrunc || value;
|
|
2433
|
-
}
|
|
2434
|
-
function dataSanitizeUrl(logger, url) {
|
|
2435
|
-
return dataSanitizeInput(logger, url, 2048 , 66 );
|
|
2436
|
-
}
|
|
2437
|
-
function dataSanitizeMessage(logger, message) {
|
|
2438
|
-
var messageTrunc;
|
|
2439
|
-
if (message) {
|
|
2440
|
-
if (message.length > 32768 ) {
|
|
2441
|
-
messageTrunc = message.substring(0, 32768 );
|
|
2442
|
-
_throwInternal(logger, 2 , 56 , "message is too long, it has been truncated to " + 32768 + " characters.", { message: message }, true);
|
|
2443
|
-
}
|
|
2444
|
-
}
|
|
2445
|
-
return messageTrunc || message;
|
|
2446
|
-
}
|
|
2447
|
-
function dataSanitizeException(logger, exception) {
|
|
2448
|
-
var exceptionTrunc;
|
|
2449
|
-
if (exception) {
|
|
2450
|
-
var value = "" + exception;
|
|
2451
|
-
if (value.length > 32768 ) {
|
|
2452
|
-
exceptionTrunc = value.substring(0, 32768 );
|
|
2453
|
-
_throwInternal(logger, 2 , 52 , "exception is too long, it has been truncated to " + 32768 + " characters.", { exception: exception }, true);
|
|
2454
|
-
}
|
|
2455
|
-
}
|
|
2456
|
-
return exceptionTrunc || exception;
|
|
2457
|
-
}
|
|
2458
|
-
function dataSanitizeProperties(logger, properties) {
|
|
2459
|
-
if (properties) {
|
|
2460
|
-
var tempProps_1 = {};
|
|
2461
|
-
objForEachKey(properties, function (prop, value) {
|
|
2462
|
-
if (isObject(value) && hasJSON()) {
|
|
2463
|
-
try {
|
|
2464
|
-
value = getJSON().stringify(value);
|
|
2465
|
-
}
|
|
2466
|
-
catch (e) {
|
|
2467
|
-
_throwInternal(logger, 2 , 49 , "custom property is not valid", { exception: e }, true);
|
|
2468
|
-
}
|
|
2469
|
-
}
|
|
2470
|
-
value = dataSanitizeString(logger, value, 8192 );
|
|
2471
|
-
prop = dataSanitizeKeyAndAddUniqueness(logger, prop, tempProps_1);
|
|
2472
|
-
tempProps_1[prop] = value;
|
|
2473
|
-
});
|
|
2474
|
-
properties = tempProps_1;
|
|
2475
|
-
}
|
|
2476
|
-
return properties;
|
|
2477
|
-
}
|
|
2478
|
-
function dataSanitizeMeasurements(logger, measurements) {
|
|
2479
|
-
if (measurements) {
|
|
2480
|
-
var tempMeasurements_1 = {};
|
|
2481
|
-
objForEachKey(measurements, function (measure, value) {
|
|
2482
|
-
measure = dataSanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements_1);
|
|
2483
|
-
tempMeasurements_1[measure] = value;
|
|
2484
|
-
});
|
|
2485
|
-
measurements = tempMeasurements_1;
|
|
2486
|
-
}
|
|
2487
|
-
return measurements;
|
|
2488
|
-
}
|
|
2489
|
-
function dataSanitizeId(logger, id) {
|
|
2490
|
-
return id ? dataSanitizeInput(logger, id, 128 , 69 ).toString() : id;
|
|
2425
|
+
var theHook = {
|
|
2426
|
+
id: aiHook.i,
|
|
2427
|
+
cbks: callbacks,
|
|
2428
|
+
rm: function () {
|
|
2429
|
+
var id = this.id;
|
|
2430
|
+
_arrLoop(aiHook.h, function (hook, idx) {
|
|
2431
|
+
if (hook.id === id) {
|
|
2432
|
+
aiHook.h[_DYN_SPLICE ](idx, 1);
|
|
2433
|
+
return 1;
|
|
2434
|
+
}
|
|
2435
|
+
});
|
|
2436
|
+
}
|
|
2437
|
+
};
|
|
2438
|
+
aiHook.i++;
|
|
2439
|
+
aiHook.h[_DYN_PUSH ](theHook);
|
|
2440
|
+
return theHook;
|
|
2491
2441
|
}
|
|
2492
|
-
function
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
inputTrunc = input.substring(0, maxLength);
|
|
2498
|
-
_throwInternal(logger, 2 , _msgId, "input is too long, it has been truncated to " + maxLength + " characters.", { data: input }, true);
|
|
2442
|
+
function InstrumentEvent(target, evtName, callbacks, checkPrototype) {
|
|
2443
|
+
if (target && evtName && callbacks) {
|
|
2444
|
+
var owner = _getOwner(target, evtName, checkPrototype) || target;
|
|
2445
|
+
if (owner) {
|
|
2446
|
+
return _createInstrumentHook(owner, evtName, owner[evtName], callbacks);
|
|
2499
2447
|
}
|
|
2500
2448
|
}
|
|
2501
|
-
return
|
|
2502
|
-
}
|
|
2503
|
-
function dsPadNumber(num) {
|
|
2504
|
-
var s = "00" + num;
|
|
2505
|
-
return s.substr(s.length - 3);
|
|
2449
|
+
return null;
|
|
2506
2450
|
}
|
|
2507
2451
|
|
|
2452
|
+
var strNotSpecified = "not_specified";
|
|
2453
|
+
var strIkey = "iKey";
|
|
2454
|
+
|
|
2508
2455
|
function createDomEvent(eventName) {
|
|
2509
2456
|
var event = null;
|
|
2510
2457
|
if (isFunction(Event)) {
|
|
@@ -2520,13 +2467,47 @@
|
|
|
2520
2467
|
return event;
|
|
2521
2468
|
}
|
|
2522
2469
|
|
|
2470
|
+
var _DYN_SPLIT = "split";
|
|
2471
|
+
var _DYN_LENGTH$1 = "length";
|
|
2472
|
+
var _DYN_TO_LOWER_CASE = "toLowerCase";
|
|
2473
|
+
var _DYN_TO_STRING$1 = "toString";
|
|
2474
|
+
var _DYN_REMOVE_ITEM = "removeItem";
|
|
2475
|
+
var _DYN_NAME = "name";
|
|
2476
|
+
var _DYN_PATHNAME = "pathname";
|
|
2477
|
+
var _DYN_INDEX_OF = "indexOf";
|
|
2478
|
+
var _DYN_EXCEPTIONS = "exceptions";
|
|
2479
|
+
var _DYN_PARSED_STACK = "parsedStack";
|
|
2480
|
+
var _DYN_PROPERTIES = "properties";
|
|
2481
|
+
var _DYN_MEASUREMENTS = "measurements";
|
|
2482
|
+
var _DYN_STRINGIFY = "stringify";
|
|
2483
|
+
var _DYN_MESSAGE$1 = "message";
|
|
2484
|
+
var _DYN_SIZE_IN_BYTES = "sizeInBytes";
|
|
2485
|
+
var _DYN_TYPE_NAME = "typeName";
|
|
2486
|
+
var _DYN_SEVERITY_LEVEL = "severityLevel";
|
|
2487
|
+
var _DYN_PROBLEM_GROUP = "problemGroup";
|
|
2488
|
+
var _DYN_IS_MANUAL = "isManual";
|
|
2489
|
+
var _DYN__CREATE_FROM_INTERFA1 = "CreateFromInterface";
|
|
2490
|
+
var _DYN_HAS_FULL_STACK = "hasFullStack";
|
|
2491
|
+
var _DYN_LEVEL = "level";
|
|
2492
|
+
var _DYN_METHOD = "method";
|
|
2493
|
+
var _DYN_ASSEMBLY = "assembly";
|
|
2494
|
+
var _DYN_FILE_NAME = "fileName";
|
|
2495
|
+
var _DYN_LINE = "line";
|
|
2496
|
+
var _DYN_DURATION$1 = "duration";
|
|
2497
|
+
var _DYN_RECEIVED_RESPONSE = "receivedResponse";
|
|
2498
|
+
var _DYN_SUBSTRING = "substring";
|
|
2499
|
+
var _DYN_SANITIZE_KEY_AND_ADD2 = "sanitizeKeyAndAddUniqueness";
|
|
2500
|
+
var _DYN_SANITIZE_EXCEPTION = "sanitizeException";
|
|
2501
|
+
var _DYN_SANITIZE_PROPERTIES = "sanitizeProperties";
|
|
2502
|
+
var _DYN_SANITIZE_MEASUREMENT3 = "sanitizeMeasurements";
|
|
2503
|
+
|
|
2523
2504
|
var strEmpty = "";
|
|
2524
2505
|
function stringToBoolOrDefault(str, defaultValue) {
|
|
2525
2506
|
if (defaultValue === void 0) { defaultValue = false; }
|
|
2526
2507
|
if (str === undefined || str === null) {
|
|
2527
2508
|
return defaultValue;
|
|
2528
2509
|
}
|
|
2529
|
-
return str.toString()
|
|
2510
|
+
return str.toString()[_DYN_TO_LOWER_CASE ]() === "true";
|
|
2530
2511
|
}
|
|
2531
2512
|
function msToTimeSpan(totalms) {
|
|
2532
2513
|
if (isNaN(totalms) || totalms < 0) {
|
|
@@ -2538,19 +2519,16 @@
|
|
|
2538
2519
|
var min = strEmpty + Math.floor(totalms / (1000 * 60)) % 60;
|
|
2539
2520
|
var hour = strEmpty + Math.floor(totalms / (1000 * 60 * 60)) % 24;
|
|
2540
2521
|
var days = Math.floor(totalms / (1000 * 60 * 60 * 24));
|
|
2541
|
-
ms = ms
|
|
2542
|
-
sec = sec
|
|
2543
|
-
min = min
|
|
2544
|
-
hour = hour
|
|
2522
|
+
ms = ms[_DYN_LENGTH$1 ] === 1 ? "00" + ms : ms[_DYN_LENGTH$1 ] === 2 ? "0" + ms : ms;
|
|
2523
|
+
sec = sec[_DYN_LENGTH$1 ] < 2 ? "0" + sec : sec;
|
|
2524
|
+
min = min[_DYN_LENGTH$1 ] < 2 ? "0" + min : min;
|
|
2525
|
+
hour = hour[_DYN_LENGTH$1 ] < 2 ? "0" + hour : hour;
|
|
2545
2526
|
return (days > 0 ? days + "." : strEmpty) + hour + ":" + min + ":" + sec + "." + ms;
|
|
2546
2527
|
}
|
|
2547
2528
|
function isCrossOriginError(message, url, lineNumber, columnNumber, error) {
|
|
2548
2529
|
return !error && isString(message) && (message === "Script error." || message === "Script error");
|
|
2549
2530
|
}
|
|
2550
2531
|
|
|
2551
|
-
var strNotSpecified = "not_specified";
|
|
2552
|
-
var strIkey = "iKey";
|
|
2553
|
-
|
|
2554
2532
|
var StorageType = createEnumStyle({
|
|
2555
2533
|
LocalStorage: 0 ,
|
|
2556
2534
|
SessionStorage: 1
|
|
@@ -2568,11 +2546,11 @@
|
|
|
2568
2546
|
if (isNullOrUndefined(getGlobal())) {
|
|
2569
2547
|
return null;
|
|
2570
2548
|
}
|
|
2571
|
-
var uid = (new Date)
|
|
2549
|
+
var uid = (new Date)[_DYN_TO_STRING$1 ]();
|
|
2572
2550
|
var storage = getGlobalInst(storageType === StorageType.LocalStorage ? "localStorage" : "sessionStorage");
|
|
2573
2551
|
storage.setItem(uid, uid);
|
|
2574
2552
|
var fail = storage.getItem(uid) !== uid;
|
|
2575
|
-
storage
|
|
2553
|
+
storage[_DYN_REMOVE_ITEM ](uid);
|
|
2576
2554
|
if (!fail) {
|
|
2577
2555
|
return storage;
|
|
2578
2556
|
}
|
|
@@ -2638,7 +2616,7 @@
|
|
|
2638
2616
|
var storage = _getSessionStorageObject();
|
|
2639
2617
|
if (storage !== null) {
|
|
2640
2618
|
try {
|
|
2641
|
-
storage
|
|
2619
|
+
storage[_DYN_REMOVE_ITEM ](name);
|
|
2642
2620
|
return true;
|
|
2643
2621
|
}
|
|
2644
2622
|
catch (e) {
|
|
@@ -2649,6 +2627,141 @@
|
|
|
2649
2627
|
return false;
|
|
2650
2628
|
}
|
|
2651
2629
|
|
|
2630
|
+
var _a;
|
|
2631
|
+
function dataSanitizeKeyAndAddUniqueness(logger, key, map) {
|
|
2632
|
+
var origLength = key[_DYN_LENGTH$1 ];
|
|
2633
|
+
var field = dataSanitizeKey(logger, key);
|
|
2634
|
+
if (field[_DYN_LENGTH$1 ] !== origLength) {
|
|
2635
|
+
var i = 0;
|
|
2636
|
+
var uniqueField = field;
|
|
2637
|
+
while (map[uniqueField] !== undefined) {
|
|
2638
|
+
i++;
|
|
2639
|
+
uniqueField = field[_DYN_SUBSTRING ](0, 150 - 3) + dsPadNumber(i);
|
|
2640
|
+
}
|
|
2641
|
+
field = uniqueField;
|
|
2642
|
+
}
|
|
2643
|
+
return field;
|
|
2644
|
+
}
|
|
2645
|
+
function dataSanitizeKey(logger, name) {
|
|
2646
|
+
var nameTrunc;
|
|
2647
|
+
if (name) {
|
|
2648
|
+
name = strTrim(name[_DYN_TO_STRING$1 ]());
|
|
2649
|
+
if (name[_DYN_LENGTH$1 ] > 150 ) {
|
|
2650
|
+
nameTrunc = name[_DYN_SUBSTRING ](0, 150 );
|
|
2651
|
+
_throwInternal(logger, 2 , 57 , "name is too long. It has been truncated to " + 150 + " characters.", { name: name }, true);
|
|
2652
|
+
}
|
|
2653
|
+
}
|
|
2654
|
+
return nameTrunc || name;
|
|
2655
|
+
}
|
|
2656
|
+
function dataSanitizeString(logger, value, maxLength) {
|
|
2657
|
+
if (maxLength === void 0) { maxLength = 1024 ; }
|
|
2658
|
+
var valueTrunc;
|
|
2659
|
+
if (value) {
|
|
2660
|
+
maxLength = maxLength ? maxLength : 1024 ;
|
|
2661
|
+
value = strTrim(value);
|
|
2662
|
+
if (value.toString()[_DYN_LENGTH$1 ] > maxLength) {
|
|
2663
|
+
valueTrunc = value[_DYN_TO_STRING$1 ]()[_DYN_SUBSTRING ](0, maxLength);
|
|
2664
|
+
_throwInternal(logger, 2 , 61 , "string value is too long. It has been truncated to " + maxLength + " characters.", { value: value }, true);
|
|
2665
|
+
}
|
|
2666
|
+
}
|
|
2667
|
+
return valueTrunc || value;
|
|
2668
|
+
}
|
|
2669
|
+
function dataSanitizeUrl(logger, url) {
|
|
2670
|
+
return dataSanitizeInput(logger, url, 2048 , 66 );
|
|
2671
|
+
}
|
|
2672
|
+
function dataSanitizeMessage(logger, message) {
|
|
2673
|
+
var messageTrunc;
|
|
2674
|
+
if (message) {
|
|
2675
|
+
if (message[_DYN_LENGTH$1 ] > 32768 ) {
|
|
2676
|
+
messageTrunc = message[_DYN_SUBSTRING ](0, 32768 );
|
|
2677
|
+
_throwInternal(logger, 2 , 56 , "message is too long, it has been truncated to " + 32768 + " characters.", { message: message }, true);
|
|
2678
|
+
}
|
|
2679
|
+
}
|
|
2680
|
+
return messageTrunc || message;
|
|
2681
|
+
}
|
|
2682
|
+
function dataSanitizeException(logger, exception) {
|
|
2683
|
+
var exceptionTrunc;
|
|
2684
|
+
if (exception) {
|
|
2685
|
+
var value = "" + exception;
|
|
2686
|
+
if (value[_DYN_LENGTH$1 ] > 32768 ) {
|
|
2687
|
+
exceptionTrunc = value[_DYN_SUBSTRING ](0, 32768 );
|
|
2688
|
+
_throwInternal(logger, 2 , 52 , "exception is too long, it has been truncated to " + 32768 + " characters.", { exception: exception }, true);
|
|
2689
|
+
}
|
|
2690
|
+
}
|
|
2691
|
+
return exceptionTrunc || exception;
|
|
2692
|
+
}
|
|
2693
|
+
function dataSanitizeProperties(logger, properties) {
|
|
2694
|
+
if (properties) {
|
|
2695
|
+
var tempProps_1 = {};
|
|
2696
|
+
objForEachKey(properties, function (prop, value) {
|
|
2697
|
+
if (isObject(value) && hasJSON()) {
|
|
2698
|
+
try {
|
|
2699
|
+
value = getJSON()[_DYN_STRINGIFY ](value);
|
|
2700
|
+
}
|
|
2701
|
+
catch (e) {
|
|
2702
|
+
_throwInternal(logger, 2 , 49 , "custom property is not valid", { exception: e }, true);
|
|
2703
|
+
}
|
|
2704
|
+
}
|
|
2705
|
+
value = dataSanitizeString(logger, value, 8192 );
|
|
2706
|
+
prop = dataSanitizeKeyAndAddUniqueness(logger, prop, tempProps_1);
|
|
2707
|
+
tempProps_1[prop] = value;
|
|
2708
|
+
});
|
|
2709
|
+
properties = tempProps_1;
|
|
2710
|
+
}
|
|
2711
|
+
return properties;
|
|
2712
|
+
}
|
|
2713
|
+
function dataSanitizeMeasurements(logger, measurements) {
|
|
2714
|
+
if (measurements) {
|
|
2715
|
+
var tempMeasurements_1 = {};
|
|
2716
|
+
objForEachKey(measurements, function (measure, value) {
|
|
2717
|
+
measure = dataSanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements_1);
|
|
2718
|
+
tempMeasurements_1[measure] = value;
|
|
2719
|
+
});
|
|
2720
|
+
measurements = tempMeasurements_1;
|
|
2721
|
+
}
|
|
2722
|
+
return measurements;
|
|
2723
|
+
}
|
|
2724
|
+
function dataSanitizeId(logger, id) {
|
|
2725
|
+
return id ? dataSanitizeInput(logger, id, 128 , 69 )[_DYN_TO_STRING$1 ]() : id;
|
|
2726
|
+
}
|
|
2727
|
+
function dataSanitizeInput(logger, input, maxLength, _msgId) {
|
|
2728
|
+
var inputTrunc;
|
|
2729
|
+
if (input) {
|
|
2730
|
+
input = strTrim(input);
|
|
2731
|
+
if (input[_DYN_LENGTH$1 ] > maxLength) {
|
|
2732
|
+
inputTrunc = input[_DYN_SUBSTRING ](0, maxLength);
|
|
2733
|
+
_throwInternal(logger, 2 , _msgId, "input is too long, it has been truncated to " + maxLength + " characters.", { data: input }, true);
|
|
2734
|
+
}
|
|
2735
|
+
}
|
|
2736
|
+
return inputTrunc || input;
|
|
2737
|
+
}
|
|
2738
|
+
function dsPadNumber(num) {
|
|
2739
|
+
var s = "00" + num;
|
|
2740
|
+
return s.substr(s[_DYN_LENGTH$1 ] - 3);
|
|
2741
|
+
}
|
|
2742
|
+
(_a = {
|
|
2743
|
+
MAX_NAME_LENGTH: 150 ,
|
|
2744
|
+
MAX_ID_LENGTH: 128 ,
|
|
2745
|
+
MAX_PROPERTY_LENGTH: 8192 ,
|
|
2746
|
+
MAX_STRING_LENGTH: 1024 ,
|
|
2747
|
+
MAX_URL_LENGTH: 2048 ,
|
|
2748
|
+
MAX_MESSAGE_LENGTH: 32768 ,
|
|
2749
|
+
MAX_EXCEPTION_LENGTH: 32768
|
|
2750
|
+
},
|
|
2751
|
+
_a[_DYN_SANITIZE_KEY_AND_ADD2 ] = dataSanitizeKeyAndAddUniqueness,
|
|
2752
|
+
_a.sanitizeKey = dataSanitizeKey,
|
|
2753
|
+
_a.sanitizeString = dataSanitizeString,
|
|
2754
|
+
_a.sanitizeUrl = dataSanitizeUrl,
|
|
2755
|
+
_a.sanitizeMessage = dataSanitizeMessage,
|
|
2756
|
+
_a[_DYN_SANITIZE_EXCEPTION ] = dataSanitizeException,
|
|
2757
|
+
_a[_DYN_SANITIZE_PROPERTIES ] = dataSanitizeProperties,
|
|
2758
|
+
_a[_DYN_SANITIZE_MEASUREMENT3 ] = dataSanitizeMeasurements,
|
|
2759
|
+
_a.sanitizeId = dataSanitizeId,
|
|
2760
|
+
_a.sanitizeInput = dataSanitizeInput,
|
|
2761
|
+
_a.padNumber = dsPadNumber,
|
|
2762
|
+
_a.trim = strTrim,
|
|
2763
|
+
_a);
|
|
2764
|
+
|
|
2652
2765
|
var _document = getDocument() || {};
|
|
2653
2766
|
var _htmlAnchorIdx = 0;
|
|
2654
2767
|
var _htmlAnchorElement = [null, null, null, null, null];
|
|
@@ -2664,7 +2777,7 @@
|
|
|
2664
2777
|
}
|
|
2665
2778
|
tempAnchor.href = url;
|
|
2666
2779
|
anchorIdx++;
|
|
2667
|
-
if (anchorIdx >= anchorCache
|
|
2780
|
+
if (anchorIdx >= anchorCache[_DYN_LENGTH$1 ]) {
|
|
2668
2781
|
anchorIdx = 0;
|
|
2669
2782
|
}
|
|
2670
2783
|
_htmlAnchorIdx = anchorIdx;
|
|
@@ -2674,7 +2787,7 @@
|
|
|
2674
2787
|
var fullHost = urlParseFullHost(url, inclPort) || "";
|
|
2675
2788
|
if (fullHost) {
|
|
2676
2789
|
var match = fullHost.match(/(www[0-9]?\.)?(.[^/:]+)(\:[\d]+)?/i);
|
|
2677
|
-
if (match != null && match
|
|
2790
|
+
if (match != null && match[_DYN_LENGTH$1 ] > 3 && isString(match[2]) && match[2][_DYN_LENGTH$1 ] > 0) {
|
|
2678
2791
|
return match[2] + (match[3] || "");
|
|
2679
2792
|
}
|
|
2680
2793
|
}
|
|
@@ -2684,10 +2797,10 @@
|
|
|
2684
2797
|
var result = null;
|
|
2685
2798
|
if (url) {
|
|
2686
2799
|
var match = url.match(/(\w*):\/\/(.[^/:]+)(\:[\d]+)?/i);
|
|
2687
|
-
if (match != null && match
|
|
2800
|
+
if (match != null && match[_DYN_LENGTH$1 ] > 2 && isString(match[2]) && match[2][_DYN_LENGTH$1 ] > 0) {
|
|
2688
2801
|
result = match[2] || "";
|
|
2689
|
-
if (inclPort && match
|
|
2690
|
-
var protocol = (match[1] || "")
|
|
2802
|
+
if (inclPort && match[_DYN_LENGTH$1 ] > 2) {
|
|
2803
|
+
var protocol = (match[1] || "")[_DYN_TO_LOWER_CASE ]();
|
|
2691
2804
|
var port = match[3] || "";
|
|
2692
2805
|
if (protocol === "http" && port === ":80") {
|
|
2693
2806
|
port = "";
|
|
@@ -2704,16 +2817,16 @@
|
|
|
2704
2817
|
|
|
2705
2818
|
function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName) {
|
|
2706
2819
|
var target, name = commandName, data = commandName;
|
|
2707
|
-
if (absoluteUrl && absoluteUrl
|
|
2820
|
+
if (absoluteUrl && absoluteUrl[_DYN_LENGTH$1 ] > 0) {
|
|
2708
2821
|
var parsedUrl = urlParseUrl(absoluteUrl);
|
|
2709
2822
|
target = parsedUrl.host;
|
|
2710
2823
|
if (!name) {
|
|
2711
|
-
if (parsedUrl
|
|
2712
|
-
var pathName = (parsedUrl.pathname
|
|
2824
|
+
if (parsedUrl[_DYN_PATHNAME ] != null) {
|
|
2825
|
+
var pathName = (parsedUrl.pathname[_DYN_LENGTH$1 ] === 0) ? "/" : parsedUrl[_DYN_PATHNAME ];
|
|
2713
2826
|
if (pathName.charAt(0) !== "/") {
|
|
2714
2827
|
pathName = "/" + pathName;
|
|
2715
2828
|
}
|
|
2716
|
-
data = parsedUrl
|
|
2829
|
+
data = parsedUrl[_DYN_PATHNAME ];
|
|
2717
2830
|
name = dataSanitizeString(logger, method ? method + " " + pathName : pathName);
|
|
2718
2831
|
}
|
|
2719
2832
|
else {
|
|
@@ -2742,11 +2855,11 @@
|
|
|
2742
2855
|
var trace = telemetryTrace || {};
|
|
2743
2856
|
return {
|
|
2744
2857
|
getName: function () {
|
|
2745
|
-
return trace
|
|
2858
|
+
return trace[_DYN_NAME ];
|
|
2746
2859
|
},
|
|
2747
2860
|
setName: function (newValue) {
|
|
2748
2861
|
parentCtx && parentCtx.setName(newValue);
|
|
2749
|
-
trace
|
|
2862
|
+
trace[_DYN_NAME ] = newValue;
|
|
2750
2863
|
},
|
|
2751
2864
|
getTraceId: function () {
|
|
2752
2865
|
return trace.traceID;
|
|
@@ -2786,9 +2899,9 @@
|
|
|
2786
2899
|
};
|
|
2787
2900
|
var _self = this;
|
|
2788
2901
|
_self.ver = 2;
|
|
2789
|
-
_self
|
|
2790
|
-
_self
|
|
2791
|
-
_self
|
|
2902
|
+
_self[_DYN_NAME ] = dataSanitizeString(logger, name) || strNotSpecified;
|
|
2903
|
+
_self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
|
|
2904
|
+
_self[_DYN_MEASUREMENTS ] = dataSanitizeMeasurements(logger, measurements);
|
|
2792
2905
|
}
|
|
2793
2906
|
Event.envelopeType = "Microsoft.ApplicationInsights.{0}.Event";
|
|
2794
2907
|
Event.dataType = "EventData";
|
|
@@ -2805,11 +2918,11 @@
|
|
|
2805
2918
|
function _stringify(value, convertToString) {
|
|
2806
2919
|
var result = value;
|
|
2807
2920
|
if (result && !isString(result)) {
|
|
2808
|
-
if (JSON && JSON
|
|
2809
|
-
result = JSON
|
|
2921
|
+
if (JSON && JSON[_DYN_STRINGIFY ]) {
|
|
2922
|
+
result = JSON[_DYN_STRINGIFY ](value);
|
|
2810
2923
|
if (convertToString && (!result || result === "{}")) {
|
|
2811
|
-
if (isFunction(value
|
|
2812
|
-
result = value
|
|
2924
|
+
if (isFunction(value[_DYN_TO_STRING$1 ])) {
|
|
2925
|
+
result = value[_DYN_TO_STRING$1 ]();
|
|
2813
2926
|
}
|
|
2814
2927
|
else {
|
|
2815
2928
|
result = "" + value;
|
|
@@ -2835,7 +2948,7 @@
|
|
|
2835
2948
|
evtMessage = evtMessage + " @" + (theEvent["filename"] || "") + ":" + (theEvent["lineno"] || "?") + ":" + (theEvent["colno"] || "?");
|
|
2836
2949
|
}
|
|
2837
2950
|
}
|
|
2838
|
-
if (errorType && errorType !== "String" && errorType !== "Object" && errorType !== "Error" && (evtMessage || "")
|
|
2951
|
+
if (errorType && errorType !== "String" && errorType !== "Object" && errorType !== "Error" && (evtMessage || "")[_DYN_INDEX_OF ](errorType) === -1) {
|
|
2839
2952
|
evtMessage = errorType + ": " + evtMessage;
|
|
2840
2953
|
}
|
|
2841
2954
|
return evtMessage || "";
|
|
@@ -2873,7 +2986,7 @@
|
|
|
2873
2986
|
src = "" + src;
|
|
2874
2987
|
}
|
|
2875
2988
|
}
|
|
2876
|
-
var items = src
|
|
2989
|
+
var items = src[_DYN_SPLIT ]("\n");
|
|
2877
2990
|
return {
|
|
2878
2991
|
src: src,
|
|
2879
2992
|
obj: items
|
|
@@ -2881,8 +2994,8 @@
|
|
|
2881
2994
|
}
|
|
2882
2995
|
function _getOperaStack(errorMessage) {
|
|
2883
2996
|
var stack = [];
|
|
2884
|
-
var lines = errorMessage
|
|
2885
|
-
for (var lp = 0; lp < lines
|
|
2997
|
+
var lines = errorMessage[_DYN_SPLIT ]("\n");
|
|
2998
|
+
for (var lp = 0; lp < lines[_DYN_LENGTH$1 ]; lp++) {
|
|
2886
2999
|
var entry = lines[lp];
|
|
2887
3000
|
if (lines[lp + 1]) {
|
|
2888
3001
|
entry += "@" + lines[lp + 1];
|
|
@@ -2915,7 +3028,7 @@
|
|
|
2915
3028
|
details = errorObj[strStackDetails];
|
|
2916
3029
|
}
|
|
2917
3030
|
else if (window && window["opera"] && errorObj[strMessage]) {
|
|
2918
|
-
details = _getOperaStack(errorObj
|
|
3031
|
+
details = _getOperaStack(errorObj[_DYN_MESSAGE$1 ]);
|
|
2919
3032
|
}
|
|
2920
3033
|
else if (isString(errorObj)) {
|
|
2921
3034
|
details = _convertStackObj(errorObj);
|
|
@@ -2959,28 +3072,28 @@
|
|
|
2959
3072
|
function _parseStack(stack) {
|
|
2960
3073
|
var parsedStack;
|
|
2961
3074
|
var frames = stack.obj;
|
|
2962
|
-
if (frames && frames
|
|
3075
|
+
if (frames && frames[_DYN_LENGTH$1 ] > 0) {
|
|
2963
3076
|
parsedStack = [];
|
|
2964
3077
|
var level_1 = 0;
|
|
2965
3078
|
var totalSizeInBytes_1 = 0;
|
|
2966
3079
|
arrForEach(frames, function (frame) {
|
|
2967
|
-
var theFrame = frame
|
|
3080
|
+
var theFrame = frame[_DYN_TO_STRING$1 ]();
|
|
2968
3081
|
if (_StackFrame.regex.test(theFrame)) {
|
|
2969
3082
|
var parsedFrame = new _StackFrame(theFrame, level_1++);
|
|
2970
|
-
totalSizeInBytes_1 += parsedFrame
|
|
3083
|
+
totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES ];
|
|
2971
3084
|
parsedStack.push(parsedFrame);
|
|
2972
3085
|
}
|
|
2973
3086
|
});
|
|
2974
3087
|
var exceptionParsedStackThreshold = 32 * 1024;
|
|
2975
3088
|
if (totalSizeInBytes_1 > exceptionParsedStackThreshold) {
|
|
2976
3089
|
var left = 0;
|
|
2977
|
-
var right = parsedStack
|
|
3090
|
+
var right = parsedStack[_DYN_LENGTH$1 ] - 1;
|
|
2978
3091
|
var size = 0;
|
|
2979
3092
|
var acceptedLeft = left;
|
|
2980
3093
|
var acceptedRight = right;
|
|
2981
3094
|
while (left < right) {
|
|
2982
|
-
var lSize = parsedStack[left]
|
|
2983
|
-
var rSize = parsedStack[right]
|
|
3095
|
+
var lSize = parsedStack[left][_DYN_SIZE_IN_BYTES ];
|
|
3096
|
+
var rSize = parsedStack[right][_DYN_SIZE_IN_BYTES ];
|
|
2984
3097
|
size += lSize + rSize;
|
|
2985
3098
|
if (size > exceptionParsedStackThreshold) {
|
|
2986
3099
|
var howMany = acceptedRight - acceptedLeft + 1;
|
|
@@ -2999,12 +3112,12 @@
|
|
|
2999
3112
|
function _getErrorType(errorType) {
|
|
3000
3113
|
var typeName = "";
|
|
3001
3114
|
if (errorType) {
|
|
3002
|
-
typeName = errorType.typeName || errorType
|
|
3115
|
+
typeName = errorType.typeName || errorType[_DYN_NAME ] || "";
|
|
3003
3116
|
if (!typeName) {
|
|
3004
3117
|
try {
|
|
3005
3118
|
var funcNameRegex = /function (.{1,200})\(/;
|
|
3006
|
-
var results = (funcNameRegex).exec((errorType).constructor
|
|
3007
|
-
typeName = (results && results
|
|
3119
|
+
var results = (funcNameRegex).exec((errorType).constructor[_DYN_TO_STRING$1 ]());
|
|
3120
|
+
typeName = (results && results[_DYN_LENGTH$1 ] > 1) ? results[1] : "";
|
|
3008
3121
|
}
|
|
3009
3122
|
catch (e) {
|
|
3010
3123
|
}
|
|
@@ -3025,7 +3138,7 @@
|
|
|
3025
3138
|
}
|
|
3026
3139
|
result = _stringify(errorObj, true);
|
|
3027
3140
|
}
|
|
3028
|
-
if (result
|
|
3141
|
+
if (result[_DYN_INDEX_OF ](errorType) !== 0 && errorType !== "String") {
|
|
3029
3142
|
return errorType + ":" + result;
|
|
3030
3143
|
}
|
|
3031
3144
|
return result;
|
|
@@ -3051,79 +3164,83 @@
|
|
|
3051
3164
|
if (!properties) {
|
|
3052
3165
|
properties = {};
|
|
3053
3166
|
}
|
|
3054
|
-
_self
|
|
3055
|
-
_self
|
|
3056
|
-
_self
|
|
3167
|
+
_self[_DYN_EXCEPTIONS ] = [new _ExceptionDetails(logger, exception, properties)];
|
|
3168
|
+
_self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
|
|
3169
|
+
_self[_DYN_MEASUREMENTS ] = dataSanitizeMeasurements(logger, measurements);
|
|
3057
3170
|
if (severityLevel) {
|
|
3058
|
-
_self
|
|
3171
|
+
_self[_DYN_SEVERITY_LEVEL ] = severityLevel;
|
|
3059
3172
|
}
|
|
3060
3173
|
if (id) {
|
|
3061
3174
|
_self.id = id;
|
|
3062
3175
|
}
|
|
3063
3176
|
}
|
|
3064
3177
|
else {
|
|
3065
|
-
_self
|
|
3066
|
-
_self
|
|
3067
|
-
_self
|
|
3068
|
-
if (exception
|
|
3069
|
-
_self
|
|
3178
|
+
_self[_DYN_EXCEPTIONS ] = exception[_DYN_EXCEPTIONS ] || [];
|
|
3179
|
+
_self[_DYN_PROPERTIES ] = exception[_DYN_PROPERTIES ];
|
|
3180
|
+
_self[_DYN_MEASUREMENTS ] = exception[_DYN_MEASUREMENTS ];
|
|
3181
|
+
if (exception[_DYN_SEVERITY_LEVEL ]) {
|
|
3182
|
+
_self[_DYN_SEVERITY_LEVEL ] = exception[_DYN_SEVERITY_LEVEL ];
|
|
3070
3183
|
}
|
|
3071
3184
|
if (exception.id) {
|
|
3072
3185
|
_self.id = exception.id;
|
|
3073
3186
|
}
|
|
3074
|
-
if (exception
|
|
3075
|
-
_self
|
|
3187
|
+
if (exception[_DYN_PROBLEM_GROUP ]) {
|
|
3188
|
+
_self[_DYN_PROBLEM_GROUP ] = exception[_DYN_PROBLEM_GROUP ];
|
|
3076
3189
|
}
|
|
3077
|
-
if (!isNullOrUndefined(exception
|
|
3078
|
-
_self
|
|
3190
|
+
if (!isNullOrUndefined(exception[_DYN_IS_MANUAL ])) {
|
|
3191
|
+
_self[_DYN_IS_MANUAL ] = exception[_DYN_IS_MANUAL ];
|
|
3079
3192
|
}
|
|
3080
3193
|
}
|
|
3081
3194
|
}
|
|
3082
3195
|
Exception.CreateAutoException = function (message, url, lineNumber, columnNumber, error, evt, stack, errorSrc) {
|
|
3196
|
+
var _a;
|
|
3083
3197
|
var errorType = _getErrorType(error || evt || message);
|
|
3084
|
-
return {
|
|
3085
|
-
|
|
3086
|
-
url
|
|
3087
|
-
lineNumber
|
|
3088
|
-
columnNumber
|
|
3089
|
-
error
|
|
3090
|
-
evt
|
|
3091
|
-
|
|
3092
|
-
stackDetails
|
|
3093
|
-
errorSrc
|
|
3094
|
-
|
|
3198
|
+
return _a = {},
|
|
3199
|
+
_a[_DYN_MESSAGE$1 ] = _formatMessage(message, errorType),
|
|
3200
|
+
_a.url = url,
|
|
3201
|
+
_a.lineNumber = lineNumber,
|
|
3202
|
+
_a.columnNumber = columnNumber,
|
|
3203
|
+
_a.error = _formatErrorCode(error || evt || message),
|
|
3204
|
+
_a.evt = _formatErrorCode(evt || message),
|
|
3205
|
+
_a[_DYN_TYPE_NAME ] = errorType,
|
|
3206
|
+
_a.stackDetails = _getStackFromErrorObj(stack || error || evt),
|
|
3207
|
+
_a.errorSrc = errorSrc,
|
|
3208
|
+
_a;
|
|
3095
3209
|
};
|
|
3096
3210
|
Exception.CreateFromInterface = function (logger, exception, properties, measurements) {
|
|
3097
|
-
var exceptions = exception
|
|
3098
|
-
&& arrMap(exception
|
|
3211
|
+
var exceptions = exception[_DYN_EXCEPTIONS ]
|
|
3212
|
+
&& arrMap(exception[_DYN_EXCEPTIONS ], function (ex) { return _ExceptionDetails[_DYN__CREATE_FROM_INTERFA1 ](logger, ex); });
|
|
3099
3213
|
var exceptionData = new Exception(logger, __assignFn(__assignFn({}, exception), { exceptions: exceptions }), properties, measurements);
|
|
3100
3214
|
return exceptionData;
|
|
3101
3215
|
};
|
|
3102
3216
|
Exception.prototype.toInterface = function () {
|
|
3103
|
-
var _a
|
|
3217
|
+
var _a;
|
|
3218
|
+
var _b = this, exceptions = _b.exceptions, properties = _b.properties, measurements = _b.measurements, severityLevel = _b.severityLevel, problemGroup = _b.problemGroup, id = _b.id, isManual = _b.isManual;
|
|
3104
3219
|
var exceptionDetailsInterface = exceptions instanceof Array
|
|
3105
3220
|
&& arrMap(exceptions, function (exception) { return exception.toInterface(); })
|
|
3106
3221
|
|| undefined;
|
|
3107
|
-
return {
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3222
|
+
return _a = {
|
|
3223
|
+
ver: "4.0"
|
|
3224
|
+
},
|
|
3225
|
+
_a[_DYN_EXCEPTIONS ] = exceptionDetailsInterface,
|
|
3226
|
+
_a.severityLevel = severityLevel,
|
|
3227
|
+
_a.properties = properties,
|
|
3228
|
+
_a.measurements = measurements,
|
|
3229
|
+
_a.problemGroup = problemGroup,
|
|
3230
|
+
_a.id = id,
|
|
3231
|
+
_a.isManual = isManual,
|
|
3232
|
+
_a;
|
|
3117
3233
|
};
|
|
3118
3234
|
Exception.CreateSimpleException = function (message, typeName, assembly, fileName, details, line) {
|
|
3235
|
+
var _a;
|
|
3119
3236
|
return {
|
|
3120
3237
|
exceptions: [
|
|
3121
|
-
{
|
|
3122
|
-
|
|
3123
|
-
message
|
|
3124
|
-
stack
|
|
3125
|
-
typeName
|
|
3126
|
-
|
|
3238
|
+
(_a = {},
|
|
3239
|
+
_a[_DYN_HAS_FULL_STACK ] = true,
|
|
3240
|
+
_a.message = message,
|
|
3241
|
+
_a.stack = details,
|
|
3242
|
+
_a.typeName = typeName,
|
|
3243
|
+
_a)
|
|
3127
3244
|
]
|
|
3128
3245
|
};
|
|
3129
3246
|
};
|
|
@@ -3150,43 +3267,45 @@
|
|
|
3150
3267
|
if (!isError(error)) {
|
|
3151
3268
|
error = error[strError] || evt || error;
|
|
3152
3269
|
}
|
|
3153
|
-
_self
|
|
3154
|
-
_self
|
|
3270
|
+
_self[_DYN_TYPE_NAME ] = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;
|
|
3271
|
+
_self[_DYN_MESSAGE$1 ] = dataSanitizeMessage(logger, _formatMessage(exception || error, _self[_DYN_TYPE_NAME ])) || strNotSpecified;
|
|
3155
3272
|
var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);
|
|
3156
|
-
_self
|
|
3273
|
+
_self[_DYN_PARSED_STACK ] = _parseStack(stack);
|
|
3157
3274
|
_self[strStack] = dataSanitizeException(logger, _formatStackTrace(stack));
|
|
3158
|
-
_self.hasFullStack = isArray(_self.parsedStack) && _self.parsedStack
|
|
3275
|
+
_self.hasFullStack = isArray(_self.parsedStack) && _self.parsedStack[_DYN_LENGTH$1 ] > 0;
|
|
3159
3276
|
if (properties) {
|
|
3160
|
-
properties
|
|
3277
|
+
properties[_DYN_TYPE_NAME ] = properties[_DYN_TYPE_NAME ] || _self[_DYN_TYPE_NAME ];
|
|
3161
3278
|
}
|
|
3162
3279
|
}
|
|
3163
3280
|
else {
|
|
3164
|
-
_self
|
|
3165
|
-
_self
|
|
3281
|
+
_self[_DYN_TYPE_NAME ] = exception[_DYN_TYPE_NAME ];
|
|
3282
|
+
_self[_DYN_MESSAGE$1 ] = exception[_DYN_MESSAGE$1 ];
|
|
3166
3283
|
_self[strStack] = exception[strStack];
|
|
3167
|
-
_self
|
|
3168
|
-
_self
|
|
3284
|
+
_self[_DYN_PARSED_STACK ] = exception[_DYN_PARSED_STACK ] || [];
|
|
3285
|
+
_self[_DYN_HAS_FULL_STACK ] = exception[_DYN_HAS_FULL_STACK ];
|
|
3169
3286
|
}
|
|
3170
3287
|
}
|
|
3171
3288
|
_ExceptionDetails.prototype.toInterface = function () {
|
|
3289
|
+
var _a;
|
|
3172
3290
|
var _self = this;
|
|
3173
|
-
var parsedStack = _self
|
|
3174
|
-
&& arrMap(_self
|
|
3175
|
-
var exceptionDetailsInterface = {
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
|
-
|
|
3183
|
-
|
|
3291
|
+
var parsedStack = _self[_DYN_PARSED_STACK ] instanceof Array
|
|
3292
|
+
&& arrMap(_self[_DYN_PARSED_STACK ], function (frame) { return frame.toInterface(); });
|
|
3293
|
+
var exceptionDetailsInterface = (_a = {
|
|
3294
|
+
id: _self.id,
|
|
3295
|
+
outerId: _self.outerId,
|
|
3296
|
+
typeName: _self[_DYN_TYPE_NAME ],
|
|
3297
|
+
message: _self[_DYN_MESSAGE$1 ],
|
|
3298
|
+
hasFullStack: _self[_DYN_HAS_FULL_STACK ],
|
|
3299
|
+
stack: _self[strStack]
|
|
3300
|
+
},
|
|
3301
|
+
_a[_DYN_PARSED_STACK ] = parsedStack || undefined,
|
|
3302
|
+
_a);
|
|
3184
3303
|
return exceptionDetailsInterface;
|
|
3185
3304
|
};
|
|
3186
3305
|
_ExceptionDetails.CreateFromInterface = function (logger, exception) {
|
|
3187
|
-
var parsedStack = (exception
|
|
3188
|
-
&& arrMap(exception
|
|
3189
|
-
|| exception
|
|
3306
|
+
var parsedStack = (exception[_DYN_PARSED_STACK ] instanceof Array
|
|
3307
|
+
&& arrMap(exception[_DYN_PARSED_STACK ], function (frame) { return _StackFrame[_DYN__CREATE_FROM_INTERFA1 ](frame); }))
|
|
3308
|
+
|| exception[_DYN_PARSED_STACK ];
|
|
3190
3309
|
var exceptionDetails = new _ExceptionDetails(logger, __assignFn(__assignFn({}, exception), { parsedStack: parsedStack }));
|
|
3191
3310
|
return exceptionDetails;
|
|
3192
3311
|
};
|
|
@@ -3202,35 +3321,35 @@
|
|
|
3202
3321
|
line: 0
|
|
3203
3322
|
};
|
|
3204
3323
|
var _self = this;
|
|
3205
|
-
_self
|
|
3324
|
+
_self[_DYN_SIZE_IN_BYTES ] = 0;
|
|
3206
3325
|
if (typeof sourceFrame === "string") {
|
|
3207
3326
|
var frame = sourceFrame;
|
|
3208
|
-
_self
|
|
3209
|
-
_self
|
|
3210
|
-
_self
|
|
3211
|
-
_self
|
|
3212
|
-
_self
|
|
3327
|
+
_self[_DYN_LEVEL ] = level;
|
|
3328
|
+
_self[_DYN_METHOD ] = NoMethod;
|
|
3329
|
+
_self[_DYN_ASSEMBLY ] = strTrim(frame);
|
|
3330
|
+
_self[_DYN_FILE_NAME ] = "";
|
|
3331
|
+
_self[_DYN_LINE ] = 0;
|
|
3213
3332
|
var matches = frame.match(_StackFrame.regex);
|
|
3214
|
-
if (matches && matches
|
|
3215
|
-
_self
|
|
3216
|
-
_self
|
|
3217
|
-
_self
|
|
3333
|
+
if (matches && matches[_DYN_LENGTH$1 ] >= 5) {
|
|
3334
|
+
_self[_DYN_METHOD ] = strTrim(matches[2]) || _self[_DYN_METHOD ];
|
|
3335
|
+
_self[_DYN_FILE_NAME ] = strTrim(matches[4]);
|
|
3336
|
+
_self[_DYN_LINE ] = parseInt(matches[5]) || 0;
|
|
3218
3337
|
}
|
|
3219
3338
|
}
|
|
3220
3339
|
else {
|
|
3221
|
-
_self
|
|
3222
|
-
_self
|
|
3223
|
-
_self
|
|
3224
|
-
_self
|
|
3225
|
-
_self
|
|
3226
|
-
_self
|
|
3227
|
-
}
|
|
3228
|
-
_self.sizeInBytes += _self.method
|
|
3229
|
-
_self.sizeInBytes += _self.fileName
|
|
3230
|
-
_self.sizeInBytes += _self.assembly
|
|
3231
|
-
_self
|
|
3232
|
-
_self.sizeInBytes += _self.level.toString()
|
|
3233
|
-
_self.sizeInBytes += _self.line.toString()
|
|
3340
|
+
_self[_DYN_LEVEL ] = sourceFrame[_DYN_LEVEL ];
|
|
3341
|
+
_self[_DYN_METHOD ] = sourceFrame[_DYN_METHOD ];
|
|
3342
|
+
_self[_DYN_ASSEMBLY ] = sourceFrame[_DYN_ASSEMBLY ];
|
|
3343
|
+
_self[_DYN_FILE_NAME ] = sourceFrame[_DYN_FILE_NAME ];
|
|
3344
|
+
_self[_DYN_LINE ] = sourceFrame[_DYN_LINE ];
|
|
3345
|
+
_self[_DYN_SIZE_IN_BYTES ] = 0;
|
|
3346
|
+
}
|
|
3347
|
+
_self.sizeInBytes += _self.method[_DYN_LENGTH$1 ];
|
|
3348
|
+
_self.sizeInBytes += _self.fileName[_DYN_LENGTH$1 ];
|
|
3349
|
+
_self.sizeInBytes += _self.assembly[_DYN_LENGTH$1 ];
|
|
3350
|
+
_self[_DYN_SIZE_IN_BYTES ] += _StackFrame.baseSize;
|
|
3351
|
+
_self.sizeInBytes += _self.level.toString()[_DYN_LENGTH$1 ];
|
|
3352
|
+
_self.sizeInBytes += _self.line.toString()[_DYN_LENGTH$1 ];
|
|
3234
3353
|
}
|
|
3235
3354
|
_StackFrame.CreateFromInterface = function (frame) {
|
|
3236
3355
|
return new _StackFrame(frame, null );
|
|
@@ -3238,11 +3357,11 @@
|
|
|
3238
3357
|
_StackFrame.prototype.toInterface = function () {
|
|
3239
3358
|
var _self = this;
|
|
3240
3359
|
return {
|
|
3241
|
-
level: _self
|
|
3242
|
-
method: _self
|
|
3243
|
-
assembly: _self
|
|
3244
|
-
fileName: _self
|
|
3245
|
-
line: _self
|
|
3360
|
+
level: _self[_DYN_LEVEL ],
|
|
3361
|
+
method: _self[_DYN_METHOD ],
|
|
3362
|
+
assembly: _self[_DYN_ASSEMBLY ],
|
|
3363
|
+
fileName: _self[_DYN_FILE_NAME ],
|
|
3364
|
+
line: _self[_DYN_LINE ]
|
|
3246
3365
|
};
|
|
3247
3366
|
};
|
|
3248
3367
|
_StackFrame.regex = /^([\s]+at)?[\s]{0,50}([^\@\()]+?)[\s]{0,50}(\@|\()([^\(\n]+):([0-9]+):([0-9]+)(\)?)$/;
|
|
@@ -3279,12 +3398,12 @@
|
|
|
3279
3398
|
dataPoint.count = count > 0 ? count : undefined;
|
|
3280
3399
|
dataPoint.max = isNaN(max) || max === null ? undefined : max;
|
|
3281
3400
|
dataPoint.min = isNaN(min) || min === null ? undefined : min;
|
|
3282
|
-
dataPoint
|
|
3401
|
+
dataPoint[_DYN_NAME ] = dataSanitizeString(logger, name) || strNotSpecified;
|
|
3283
3402
|
dataPoint.value = value;
|
|
3284
3403
|
dataPoint.stdDev = isNaN(stdDev) || stdDev === null ? undefined : stdDev;
|
|
3285
3404
|
_self.metrics = [dataPoint];
|
|
3286
|
-
_self
|
|
3287
|
-
_self
|
|
3405
|
+
_self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
|
|
3406
|
+
_self[_DYN_MEASUREMENTS ] = dataSanitizeMeasurements(logger, measurements);
|
|
3288
3407
|
}
|
|
3289
3408
|
Metric.envelopeType = "Microsoft.ApplicationInsights.{0}.Metric";
|
|
3290
3409
|
Metric.dataType = "MetricData";
|
|
@@ -3306,12 +3425,12 @@
|
|
|
3306
3425
|
_self.ver = 2;
|
|
3307
3426
|
_self.id = dataSanitizeId(logger, id);
|
|
3308
3427
|
_self.url = dataSanitizeUrl(logger, url);
|
|
3309
|
-
_self
|
|
3428
|
+
_self[_DYN_NAME ] = dataSanitizeString(logger, name) || strNotSpecified;
|
|
3310
3429
|
if (!isNaN(durationMs)) {
|
|
3311
|
-
_self
|
|
3430
|
+
_self[_DYN_DURATION$1 ] = msToTimeSpan(durationMs);
|
|
3312
3431
|
}
|
|
3313
|
-
_self
|
|
3314
|
-
_self
|
|
3432
|
+
_self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
|
|
3433
|
+
_self[_DYN_MEASUREMENTS ] = dataSanitizeMeasurements(logger, measurements);
|
|
3315
3434
|
}
|
|
3316
3435
|
PageView.envelopeType = "Microsoft.ApplicationInsights.{0}.Pageview";
|
|
3317
3436
|
PageView.dataType = "PageviewData";
|
|
@@ -3347,7 +3466,7 @@
|
|
|
3347
3466
|
var _self = this;
|
|
3348
3467
|
_self.ver = 2;
|
|
3349
3468
|
_self.id = id;
|
|
3350
|
-
_self
|
|
3469
|
+
_self[_DYN_DURATION$1 ] = msToTimeSpan(value);
|
|
3351
3470
|
_self.success = success;
|
|
3352
3471
|
_self.resultCode = resultCode + "";
|
|
3353
3472
|
_self.type = dataSanitizeString(logger, requestAPI);
|
|
@@ -3357,9 +3476,9 @@
|
|
|
3357
3476
|
if (correlationContext) {
|
|
3358
3477
|
_self.target = "".concat(_self.target, " | ").concat(correlationContext);
|
|
3359
3478
|
}
|
|
3360
|
-
_self
|
|
3361
|
-
_self
|
|
3362
|
-
_self
|
|
3479
|
+
_self[_DYN_NAME ] = dataSanitizeString(logger, dependencyFields[_DYN_NAME ]);
|
|
3480
|
+
_self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
|
|
3481
|
+
_self[_DYN_MEASUREMENTS ] = dataSanitizeMeasurements(logger, measurements);
|
|
3363
3482
|
}
|
|
3364
3483
|
RemoteDependencyData.envelopeType = "Microsoft.ApplicationInsights.{0}.RemoteDependency";
|
|
3365
3484
|
RemoteDependencyData.dataType = "RemoteDependencyData";
|
|
@@ -3377,11 +3496,11 @@
|
|
|
3377
3496
|
var _self = this;
|
|
3378
3497
|
_self.ver = 2;
|
|
3379
3498
|
message = message || strNotSpecified;
|
|
3380
|
-
_self
|
|
3381
|
-
_self
|
|
3382
|
-
_self
|
|
3499
|
+
_self[_DYN_MESSAGE$1 ] = dataSanitizeMessage(logger, message);
|
|
3500
|
+
_self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
|
|
3501
|
+
_self[_DYN_MEASUREMENTS ] = dataSanitizeMeasurements(logger, measurements);
|
|
3383
3502
|
if (severityLevel) {
|
|
3384
|
-
_self
|
|
3503
|
+
_self[_DYN_SEVERITY_LEVEL ] = severityLevel;
|
|
3385
3504
|
}
|
|
3386
3505
|
}
|
|
3387
3506
|
Trace.envelopeType = "Microsoft.ApplicationInsights.{0}.Message";
|
|
@@ -3407,15 +3526,15 @@
|
|
|
3407
3526
|
var _self = this;
|
|
3408
3527
|
_self.ver = 2;
|
|
3409
3528
|
_self.url = dataSanitizeUrl(logger, url);
|
|
3410
|
-
_self
|
|
3411
|
-
_self
|
|
3412
|
-
_self
|
|
3529
|
+
_self[_DYN_NAME ] = dataSanitizeString(logger, name) || strNotSpecified;
|
|
3530
|
+
_self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
|
|
3531
|
+
_self[_DYN_MEASUREMENTS ] = dataSanitizeMeasurements(logger, measurements);
|
|
3413
3532
|
if (cs4BaseData) {
|
|
3414
3533
|
_self.domProcessing = cs4BaseData.domProcessing;
|
|
3415
|
-
_self
|
|
3534
|
+
_self[_DYN_DURATION$1 ] = cs4BaseData[_DYN_DURATION$1 ];
|
|
3416
3535
|
_self.networkConnect = cs4BaseData.networkConnect;
|
|
3417
3536
|
_self.perfTotal = cs4BaseData.perfTotal;
|
|
3418
|
-
_self
|
|
3537
|
+
_self[_DYN_RECEIVED_RESPONSE ] = cs4BaseData[_DYN_RECEIVED_RESPONSE ];
|
|
3419
3538
|
_self.sentRequest = cs4BaseData.sentRequest;
|
|
3420
3539
|
}
|
|
3421
3540
|
}
|
|
@@ -3425,6 +3544,7 @@
|
|
|
3425
3544
|
}());
|
|
3426
3545
|
|
|
3427
3546
|
function createTelemetryItem(item, baseType, envelopeName, logger, customProperties, systemProperties) {
|
|
3547
|
+
var _a;
|
|
3428
3548
|
envelopeName = dataSanitizeString(logger, envelopeName) || strNotSpecified;
|
|
3429
3549
|
if (isNullOrUndefined(item) ||
|
|
3430
3550
|
isNullOrUndefined(baseType) ||
|
|
@@ -3436,16 +3556,17 @@
|
|
|
3436
3556
|
iKey = item[strIkey];
|
|
3437
3557
|
delete item[strIkey];
|
|
3438
3558
|
}
|
|
3439
|
-
var telemetryItem = {
|
|
3440
|
-
|
|
3441
|
-
time
|
|
3442
|
-
iKey
|
|
3443
|
-
ext
|
|
3444
|
-
tags
|
|
3445
|
-
data
|
|
3446
|
-
baseType
|
|
3447
|
-
baseData
|
|
3448
|
-
|
|
3559
|
+
var telemetryItem = (_a = {},
|
|
3560
|
+
_a[_DYN_NAME ] = envelopeName,
|
|
3561
|
+
_a.time = toISOString(new Date()),
|
|
3562
|
+
_a.iKey = iKey,
|
|
3563
|
+
_a.ext = systemProperties ? systemProperties : {},
|
|
3564
|
+
_a.tags = [],
|
|
3565
|
+
_a.data = {},
|
|
3566
|
+
_a.baseType = baseType,
|
|
3567
|
+
_a.baseData = item
|
|
3568
|
+
,
|
|
3569
|
+
_a);
|
|
3449
3570
|
if (!isNullOrUndefined(customProperties)) {
|
|
3450
3571
|
objForEachKey(customProperties, function (prop, value) {
|
|
3451
3572
|
telemetryItem.data[prop] = value;
|
|
@@ -3457,6 +3578,53 @@
|
|
|
3457
3578
|
var PropertiesPluginIdentifier = "AppInsightsPropertiesPlugin";
|
|
3458
3579
|
var AnalyticsPluginIdentifier = "ApplicationInsightsAnalytics";
|
|
3459
3580
|
|
|
3581
|
+
var _DYN_TO_STRING = "toString";
|
|
3582
|
+
var _DYN_DISABLE_EXCEPTION_TR0 = "disableExceptionTracking";
|
|
3583
|
+
var _DYN_AUTO_TRACK_PAGE_VISI1 = "autoTrackPageVisitTime";
|
|
3584
|
+
var _DYN_OVERRIDE_PAGE_VIEW_D2 = "overridePageViewDuration";
|
|
3585
|
+
var _DYN_ENABLE_UNHANDLED_PRO3 = "enableUnhandledPromiseRejectionTracking";
|
|
3586
|
+
var _DYN_SAMPLING_PERCENTAGE = "samplingPercentage";
|
|
3587
|
+
var _DYN_IS_STORAGE_USE_DISAB4 = "isStorageUseDisabled";
|
|
3588
|
+
var _DYN_IS_BROWSER_LINK_TRAC5 = "isBrowserLinkTrackingEnabled";
|
|
3589
|
+
var _DYN_ENABLE_AUTO_ROUTE_TR6 = "enableAutoRouteTracking";
|
|
3590
|
+
var _DYN_NAME_PREFIX = "namePrefix";
|
|
3591
|
+
var _DYN_DISABLE_FLUSH_ON_BEF7 = "disableFlushOnBeforeUnload";
|
|
3592
|
+
var _DYN_CORE = "core";
|
|
3593
|
+
var _DYN_DATA_TYPE = "dataType";
|
|
3594
|
+
var _DYN_ENVELOPE_TYPE = "envelopeType";
|
|
3595
|
+
var _DYN_DIAG_LOG = "diagLog";
|
|
3596
|
+
var _DYN_TRACK = "track";
|
|
3597
|
+
var _DYN_TRACK_PAGE_VIEW = "trackPageView";
|
|
3598
|
+
var _DYN_TRACK_PREVIOUS_PAGE_9 = "trackPreviousPageVisit";
|
|
3599
|
+
var _DYN_SEND_PAGE_VIEW_INTER10 = "sendPageViewInternal";
|
|
3600
|
+
var _DYN_SEND_PAGE_VIEW_PERFO11 = "sendPageViewPerformanceInternal";
|
|
3601
|
+
var _DYN_POPULATE_PAGE_VIEW_P12 = "populatePageViewPerformanceEvent";
|
|
3602
|
+
var _DYN_HREF = "href";
|
|
3603
|
+
var _DYN_SEND_EXCEPTION_INTER13 = "sendExceptionInternal";
|
|
3604
|
+
var _DYN_EXCEPTION = "exception";
|
|
3605
|
+
var _DYN_ERROR = "error";
|
|
3606
|
+
var _DYN__ONERROR = "_onerror";
|
|
3607
|
+
var _DYN_ERROR_SRC = "errorSrc";
|
|
3608
|
+
var _DYN_LINE_NUMBER = "lineNumber";
|
|
3609
|
+
var _DYN_COLUMN_NUMBER = "columnNumber";
|
|
3610
|
+
var _DYN_MESSAGE = "message";
|
|
3611
|
+
var _DYN__CREATE_AUTO_EXCEPTI14 = "CreateAutoException";
|
|
3612
|
+
var _DYN_ADD_TELEMETRY_INITIA15 = "addTelemetryInitializer";
|
|
3613
|
+
var _DYN_DURATION = "duration";
|
|
3614
|
+
var _DYN_LENGTH = "length";
|
|
3615
|
+
var _DYN_IS_PERFORMANCE_TIMIN16 = "isPerformanceTimingSupported";
|
|
3616
|
+
var _DYN_GET_PERFORMANCE_TIMI17 = "getPerformanceTiming";
|
|
3617
|
+
var _DYN_NAVIGATION_START = "navigationStart";
|
|
3618
|
+
var _DYN_SHOULD_COLLECT_DURAT18 = "shouldCollectDuration";
|
|
3619
|
+
var _DYN_IS_PERFORMANCE_TIMIN19 = "isPerformanceTimingDataReady";
|
|
3620
|
+
var _DYN_GET_ENTRIES_BY_TYPE = "getEntriesByType";
|
|
3621
|
+
var _DYN_RESPONSE_START = "responseStart";
|
|
3622
|
+
var _DYN_REQUEST_START = "requestStart";
|
|
3623
|
+
var _DYN_LOAD_EVENT_END = "loadEventEnd";
|
|
3624
|
+
var _DYN_RESPONSE_END = "responseEnd";
|
|
3625
|
+
var _DYN_CONNECT_END = "connectEnd";
|
|
3626
|
+
var _DYN_PAGE_VISIT_START_TIM20 = "pageVisitStartTime";
|
|
3627
|
+
|
|
3460
3628
|
var PageViewManager = /** @class */ (function () {
|
|
3461
3629
|
function PageViewManager(appInsights, overridePageViewDuration, core, pageViewPerformanceManager) {
|
|
3462
3630
|
dynamicProto(PageViewManager, this, function (_self) {
|
|
@@ -3487,7 +3655,7 @@
|
|
|
3487
3655
|
doFlush = true;
|
|
3488
3656
|
}
|
|
3489
3657
|
});
|
|
3490
|
-
if (itemQueue
|
|
3658
|
+
if (itemQueue[_DYN_LENGTH ] === 0) {
|
|
3491
3659
|
clearInterval(intervalHandle);
|
|
3492
3660
|
intervalHandle = null;
|
|
3493
3661
|
}
|
|
@@ -3497,7 +3665,7 @@
|
|
|
3497
3665
|
}), 100);
|
|
3498
3666
|
}
|
|
3499
3667
|
}
|
|
3500
|
-
_self
|
|
3668
|
+
_self[_DYN_TRACK_PAGE_VIEW ] = function (pageView, customProperties) {
|
|
3501
3669
|
var name = pageView.name;
|
|
3502
3670
|
if (isNullOrUndefined(name) || typeof name !== "string") {
|
|
3503
3671
|
var doc = getDocument();
|
|
@@ -3506,36 +3674,36 @@
|
|
|
3506
3674
|
var uri = pageView.uri;
|
|
3507
3675
|
if (isNullOrUndefined(uri) || typeof uri !== "string") {
|
|
3508
3676
|
var location_1 = getLocation();
|
|
3509
|
-
uri = pageView.uri = location_1 && location_1
|
|
3677
|
+
uri = pageView.uri = location_1 && location_1[_DYN_HREF ] || "";
|
|
3510
3678
|
}
|
|
3511
|
-
if (!pageViewPerformanceManager
|
|
3512
|
-
appInsights
|
|
3679
|
+
if (!pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN16 ]()) {
|
|
3680
|
+
appInsights[_DYN_SEND_PAGE_VIEW_INTER10 ](pageView, customProperties);
|
|
3513
3681
|
_flushChannels(true);
|
|
3514
3682
|
_throwInternal(_logger, 2 , 25 , "trackPageView: navigation timing API used for calculation of page duration is not supported in this browser. This page view will be collected without duration and timing info.");
|
|
3515
3683
|
return;
|
|
3516
3684
|
}
|
|
3517
3685
|
var pageViewSent = false;
|
|
3518
3686
|
var customDuration;
|
|
3519
|
-
var start = pageViewPerformanceManager
|
|
3687
|
+
var start = pageViewPerformanceManager[_DYN_GET_PERFORMANCE_TIMI17 ]()[_DYN_NAVIGATION_START ];
|
|
3520
3688
|
if (start > 0) {
|
|
3521
3689
|
customDuration = dateTimeUtilsDuration(start, +new Date);
|
|
3522
|
-
if (!pageViewPerformanceManager
|
|
3690
|
+
if (!pageViewPerformanceManager[_DYN_SHOULD_COLLECT_DURAT18 ](customDuration)) {
|
|
3523
3691
|
customDuration = undefined;
|
|
3524
3692
|
}
|
|
3525
3693
|
}
|
|
3526
3694
|
var duration;
|
|
3527
3695
|
if (!isNullOrUndefined(customProperties) &&
|
|
3528
|
-
!isNullOrUndefined(customProperties
|
|
3529
|
-
duration = customProperties
|
|
3696
|
+
!isNullOrUndefined(customProperties[_DYN_DURATION ])) {
|
|
3697
|
+
duration = customProperties[_DYN_DURATION ];
|
|
3530
3698
|
}
|
|
3531
3699
|
if (overridePageViewDuration || !isNaN(duration)) {
|
|
3532
3700
|
if (isNaN(duration)) {
|
|
3533
3701
|
if (!customProperties) {
|
|
3534
3702
|
customProperties = {};
|
|
3535
3703
|
}
|
|
3536
|
-
customProperties[
|
|
3704
|
+
customProperties[_DYN_DURATION ] = customDuration;
|
|
3537
3705
|
}
|
|
3538
|
-
appInsights
|
|
3706
|
+
appInsights[_DYN_SEND_PAGE_VIEW_INTER10 ](pageView, customProperties);
|
|
3539
3707
|
_flushChannels(true);
|
|
3540
3708
|
pageViewSent = true;
|
|
3541
3709
|
}
|
|
@@ -3546,24 +3714,24 @@
|
|
|
3546
3714
|
_addQueue(function () {
|
|
3547
3715
|
var processed = false;
|
|
3548
3716
|
try {
|
|
3549
|
-
if (pageViewPerformanceManager
|
|
3717
|
+
if (pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN19 ]()) {
|
|
3550
3718
|
processed = true;
|
|
3551
3719
|
var pageViewPerformance = {
|
|
3552
3720
|
name: name,
|
|
3553
3721
|
uri: uri
|
|
3554
3722
|
};
|
|
3555
|
-
pageViewPerformanceManager
|
|
3723
|
+
pageViewPerformanceManager[_DYN_POPULATE_PAGE_VIEW_P12 ](pageViewPerformance);
|
|
3556
3724
|
if (!pageViewPerformance.isValid && !pageViewSent) {
|
|
3557
|
-
customProperties[
|
|
3558
|
-
appInsights
|
|
3725
|
+
customProperties[_DYN_DURATION ] = customDuration;
|
|
3726
|
+
appInsights[_DYN_SEND_PAGE_VIEW_INTER10 ](pageView, customProperties);
|
|
3559
3727
|
}
|
|
3560
3728
|
else {
|
|
3561
3729
|
if (!pageViewSent) {
|
|
3562
|
-
customProperties[
|
|
3563
|
-
appInsights
|
|
3730
|
+
customProperties[_DYN_DURATION ] = pageViewPerformance.durationMs;
|
|
3731
|
+
appInsights[_DYN_SEND_PAGE_VIEW_INTER10 ](pageView, customProperties);
|
|
3564
3732
|
}
|
|
3565
3733
|
if (!pageViewPerformanceSent) {
|
|
3566
|
-
appInsights
|
|
3734
|
+
appInsights[_DYN_SEND_PAGE_VIEW_PERFO11 ](pageViewPerformance, customProperties);
|
|
3567
3735
|
pageViewPerformanceSent = true;
|
|
3568
3736
|
}
|
|
3569
3737
|
}
|
|
@@ -3571,8 +3739,8 @@
|
|
|
3571
3739
|
else if (start > 0 && dateTimeUtilsDuration(start, +new Date) > maxDurationLimit) {
|
|
3572
3740
|
processed = true;
|
|
3573
3741
|
if (!pageViewSent) {
|
|
3574
|
-
customProperties[
|
|
3575
|
-
appInsights
|
|
3742
|
+
customProperties[_DYN_DURATION ] = maxDurationLimit;
|
|
3743
|
+
appInsights[_DYN_SEND_PAGE_VIEW_INTER10 ](pageView, customProperties);
|
|
3576
3744
|
}
|
|
3577
3745
|
}
|
|
3578
3746
|
}
|
|
@@ -3599,196 +3767,202 @@
|
|
|
3599
3767
|
return PageViewManager;
|
|
3600
3768
|
}());
|
|
3601
3769
|
|
|
3602
|
-
var
|
|
3603
|
-
|
|
3604
|
-
|
|
3605
|
-
|
|
3606
|
-
|
|
3770
|
+
var MAX_DURATION_ALLOWED = 3600000;
|
|
3771
|
+
var botAgentNames = ["googlebot", "adsbot-google", "apis-google", "mediapartners-google"];
|
|
3772
|
+
function _isPerformanceTimingSupported() {
|
|
3773
|
+
var perf = getPerformance();
|
|
3774
|
+
return perf && !!perf.timing;
|
|
3775
|
+
}
|
|
3776
|
+
function _isPerformanceNavigationTimingSupported() {
|
|
3777
|
+
var perf = getPerformance();
|
|
3778
|
+
return perf && perf.getEntriesByType && perf.getEntriesByType("navigation")[_DYN_LENGTH ] > 0;
|
|
3779
|
+
}
|
|
3780
|
+
function _isPerformanceTimingDataReady() {
|
|
3781
|
+
var perf = getPerformance();
|
|
3782
|
+
var timing = perf ? perf.timing : 0;
|
|
3783
|
+
return timing
|
|
3784
|
+
&& timing.domainLookupStart > 0
|
|
3785
|
+
&& timing[_DYN_NAVIGATION_START ] > 0
|
|
3786
|
+
&& timing[_DYN_RESPONSE_START ] > 0
|
|
3787
|
+
&& timing[_DYN_REQUEST_START ] > 0
|
|
3788
|
+
&& timing[_DYN_LOAD_EVENT_END ] > 0
|
|
3789
|
+
&& timing[_DYN_RESPONSE_END ] > 0
|
|
3790
|
+
&& timing[_DYN_CONNECT_END ] > 0
|
|
3791
|
+
&& timing.domLoading > 0;
|
|
3792
|
+
}
|
|
3793
|
+
function _getPerformanceTiming() {
|
|
3794
|
+
if (_isPerformanceTimingSupported()) {
|
|
3795
|
+
return getPerformance().timing;
|
|
3607
3796
|
}
|
|
3608
|
-
|
|
3609
|
-
|
|
3610
|
-
|
|
3611
|
-
|
|
3612
|
-
|
|
3613
|
-
|
|
3614
|
-
|
|
3615
|
-
|
|
3616
|
-
|
|
3617
|
-
|
|
3618
|
-
|
|
3619
|
-
|
|
3620
|
-
|
|
3621
|
-
|
|
3622
|
-
|
|
3623
|
-
|
|
3797
|
+
return null;
|
|
3798
|
+
}
|
|
3799
|
+
function _getPerformanceNavigationTiming() {
|
|
3800
|
+
if (_isPerformanceNavigationTimingSupported()) {
|
|
3801
|
+
return getPerformance()[_DYN_GET_ENTRIES_BY_TYPE ]("navigation")[0];
|
|
3802
|
+
}
|
|
3803
|
+
return null;
|
|
3804
|
+
}
|
|
3805
|
+
function _shouldCollectDuration() {
|
|
3806
|
+
var durations = [];
|
|
3807
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
3808
|
+
durations[_i] = arguments[_i];
|
|
3809
|
+
}
|
|
3810
|
+
var _navigator = getNavigator() || {};
|
|
3811
|
+
var userAgent = _navigator.userAgent;
|
|
3812
|
+
var isGoogleBot = false;
|
|
3813
|
+
if (userAgent) {
|
|
3814
|
+
for (var i = 0; i < botAgentNames[_DYN_LENGTH ]; i++) {
|
|
3815
|
+
isGoogleBot = isGoogleBot || userAgent.toLowerCase().indexOf(botAgentNames[i]) !== -1;
|
|
3624
3816
|
}
|
|
3625
|
-
|
|
3626
|
-
|
|
3627
|
-
|
|
3817
|
+
}
|
|
3818
|
+
if (isGoogleBot) {
|
|
3819
|
+
return false;
|
|
3820
|
+
}
|
|
3821
|
+
else {
|
|
3822
|
+
for (var i = 0; i < durations[_DYN_LENGTH ]; i++) {
|
|
3823
|
+
if (durations[i] < 0 || durations[i] >= MAX_DURATION_ALLOWED) {
|
|
3824
|
+
return false;
|
|
3825
|
+
}
|
|
3628
3826
|
}
|
|
3629
|
-
}
|
|
3630
|
-
|
|
3631
|
-
|
|
3632
|
-
|
|
3633
|
-
|
|
3634
|
-
|
|
3827
|
+
}
|
|
3828
|
+
return true;
|
|
3829
|
+
}
|
|
3830
|
+
var PageViewPerformanceManager = /** @class */ (function () {
|
|
3831
|
+
function PageViewPerformanceManager(core) {
|
|
3832
|
+
var _this = this;
|
|
3833
|
+
var _logger = safeGetLogger(core);
|
|
3834
|
+
dynamicProto(PageViewPerformanceManager, this, function (_self) {
|
|
3835
|
+
_self[_DYN_POPULATE_PAGE_VIEW_P12 ] = function (pageViewPerformance) {
|
|
3836
|
+
pageViewPerformance.isValid = false;
|
|
3837
|
+
var navigationTiming = _getPerformanceNavigationTiming();
|
|
3838
|
+
var timing = _getPerformanceTiming();
|
|
3839
|
+
var total = 0;
|
|
3840
|
+
var network = 0;
|
|
3841
|
+
var request = 0;
|
|
3842
|
+
var response = 0;
|
|
3843
|
+
var dom = 0;
|
|
3844
|
+
if (navigationTiming || timing) {
|
|
3845
|
+
if (navigationTiming) {
|
|
3846
|
+
total = navigationTiming[_DYN_DURATION ];
|
|
3847
|
+
network = navigationTiming.startTime === 0 ? navigationTiming[_DYN_CONNECT_END ] : dateTimeUtilsDuration(navigationTiming.startTime, navigationTiming[_DYN_CONNECT_END ]);
|
|
3848
|
+
request = dateTimeUtilsDuration(navigationTiming.requestStart, navigationTiming[_DYN_RESPONSE_START ]);
|
|
3849
|
+
response = dateTimeUtilsDuration(navigationTiming[_DYN_RESPONSE_START ], navigationTiming[_DYN_RESPONSE_END ]);
|
|
3850
|
+
dom = dateTimeUtilsDuration(navigationTiming.responseEnd, navigationTiming[_DYN_LOAD_EVENT_END ]);
|
|
3851
|
+
}
|
|
3852
|
+
else {
|
|
3853
|
+
total = dateTimeUtilsDuration(timing[_DYN_NAVIGATION_START ], timing[_DYN_LOAD_EVENT_END ]);
|
|
3854
|
+
network = dateTimeUtilsDuration(timing[_DYN_NAVIGATION_START ], timing[_DYN_CONNECT_END ]);
|
|
3855
|
+
request = dateTimeUtilsDuration(timing.requestStart, timing[_DYN_RESPONSE_START ]);
|
|
3856
|
+
response = dateTimeUtilsDuration(timing[_DYN_RESPONSE_START ], timing[_DYN_RESPONSE_END ]);
|
|
3857
|
+
dom = dateTimeUtilsDuration(timing.responseEnd, timing[_DYN_LOAD_EVENT_END ]);
|
|
3858
|
+
}
|
|
3859
|
+
if (total === 0) {
|
|
3860
|
+
_throwInternal(_logger, 2 , 10 , "error calculating page view performance.", { total: total, network: network, request: request, response: response, dom: dom });
|
|
3861
|
+
}
|
|
3862
|
+
else if (!_this[_DYN_SHOULD_COLLECT_DURAT18 ](total, network, request, response, dom)) {
|
|
3863
|
+
_throwInternal(_logger, 2 , 45 , "Invalid page load duration value. Browser perf data won't be sent.", { total: total, network: network, request: request, response: response, dom: dom });
|
|
3864
|
+
}
|
|
3865
|
+
else if (total < Math.floor(network) + Math.floor(request) + Math.floor(response) + Math.floor(dom)) {
|
|
3866
|
+
_throwInternal(_logger, 2 , 8 , "client performance math error.", { total: total, network: network, request: request, response: response, dom: dom });
|
|
3867
|
+
}
|
|
3868
|
+
else {
|
|
3869
|
+
pageViewPerformance.durationMs = total;
|
|
3870
|
+
pageViewPerformance.perfTotal = pageViewPerformance[_DYN_DURATION ] = msToTimeSpan(total);
|
|
3871
|
+
pageViewPerformance.networkConnect = msToTimeSpan(network);
|
|
3872
|
+
pageViewPerformance.sentRequest = msToTimeSpan(request);
|
|
3873
|
+
pageViewPerformance.receivedResponse = msToTimeSpan(response);
|
|
3874
|
+
pageViewPerformance.domProcessing = msToTimeSpan(dom);
|
|
3875
|
+
pageViewPerformance.isValid = true;
|
|
3876
|
+
}
|
|
3877
|
+
}
|
|
3878
|
+
};
|
|
3879
|
+
_self[_DYN_GET_PERFORMANCE_TIMI17 ] = _getPerformanceTiming;
|
|
3880
|
+
_self[_DYN_IS_PERFORMANCE_TIMIN16 ] = _isPerformanceTimingSupported;
|
|
3881
|
+
_self[_DYN_IS_PERFORMANCE_TIMIN19 ] = _isPerformanceTimingDataReady;
|
|
3882
|
+
_self[_DYN_SHOULD_COLLECT_DURAT18 ] = _shouldCollectDuration;
|
|
3883
|
+
});
|
|
3884
|
+
}
|
|
3885
|
+
PageViewPerformanceManager.__ieDyn=1;
|
|
3886
|
+
return PageViewPerformanceManager;
|
|
3887
|
+
}());
|
|
3888
|
+
|
|
3889
|
+
var PageVisitTimeManager = /** @class */ (function () {
|
|
3890
|
+
function PageVisitTimeManager(logger, pageVisitTimeTrackingHandler) {
|
|
3891
|
+
var prevPageVisitDataKeyName = "prevPageVisitData";
|
|
3892
|
+
dynamicProto(PageVisitTimeManager, this, function (_self) {
|
|
3893
|
+
_self[_DYN_TRACK_PREVIOUS_PAGE_9 ] = function (currentPageName, currentPageUrl) {
|
|
3894
|
+
try {
|
|
3895
|
+
var prevPageVisitTimeData = restartPageVisitTimer(currentPageName, currentPageUrl);
|
|
3896
|
+
if (prevPageVisitTimeData) {
|
|
3897
|
+
pageVisitTimeTrackingHandler(prevPageVisitTimeData.pageName, prevPageVisitTimeData.pageUrl, prevPageVisitTimeData.pageVisitTime);
|
|
3898
|
+
}
|
|
3635
3899
|
}
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
|
|
3900
|
+
catch (e) {
|
|
3901
|
+
_warnToConsole(logger, "Auto track page visit time failed, metric will not be collected: " + dumpObj(e));
|
|
3902
|
+
}
|
|
3903
|
+
};
|
|
3904
|
+
function restartPageVisitTimer(pageName, pageUrl) {
|
|
3905
|
+
var prevPageVisitData = null;
|
|
3906
|
+
try {
|
|
3907
|
+
prevPageVisitData = stopPageVisitTimer();
|
|
3908
|
+
startPageVisitTimer(pageName, pageUrl);
|
|
3909
|
+
}
|
|
3910
|
+
catch (e) {
|
|
3911
|
+
_warnToConsole(logger, "Call to restart failed: " + dumpObj(e));
|
|
3912
|
+
prevPageVisitData = null;
|
|
3913
|
+
}
|
|
3914
|
+
return prevPageVisitData;
|
|
3639
3915
|
}
|
|
3640
|
-
|
|
3641
|
-
|
|
3642
|
-
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
if (pageVisitDataJsonStr && hasJSON()) {
|
|
3651
|
-
var prevPageVisitData = getJSON().parse(pageVisitDataJsonStr);
|
|
3652
|
-
prevPageVisitData.pageVisitTime = pageVisitEndTime - prevPageVisitData.pageVisitStartTime;
|
|
3653
|
-
utlRemoveSessionStorage(this._logger, this.prevPageVisitDataKeyName);
|
|
3654
|
-
return prevPageVisitData;
|
|
3916
|
+
function startPageVisitTimer(pageName, pageUrl) {
|
|
3917
|
+
try {
|
|
3918
|
+
if (utlCanUseSessionStorage()) {
|
|
3919
|
+
if (utlGetSessionStorage(logger, prevPageVisitDataKeyName) != null) {
|
|
3920
|
+
throwError("Cannot call startPageVisit consecutively without first calling stopPageVisit");
|
|
3921
|
+
}
|
|
3922
|
+
var currPageVisitData = new PageVisitData(pageName, pageUrl);
|
|
3923
|
+
var currPageVisitDataStr = getJSON().stringify(currPageVisitData);
|
|
3924
|
+
utlSetSessionStorage(logger, prevPageVisitDataKeyName, currPageVisitDataStr);
|
|
3925
|
+
}
|
|
3655
3926
|
}
|
|
3656
|
-
|
|
3657
|
-
|
|
3927
|
+
catch (e) {
|
|
3928
|
+
_warnToConsole(logger, "Call to start failed: " + dumpObj(e));
|
|
3658
3929
|
}
|
|
3659
3930
|
}
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3931
|
+
function stopPageVisitTimer() {
|
|
3932
|
+
var prevPageVisitData = null;
|
|
3933
|
+
try {
|
|
3934
|
+
if (utlCanUseSessionStorage()) {
|
|
3935
|
+
var pageVisitEndTime = dateNow();
|
|
3936
|
+
var pageVisitDataJsonStr = utlGetSessionStorage(logger, prevPageVisitDataKeyName);
|
|
3937
|
+
if (pageVisitDataJsonStr && hasJSON()) {
|
|
3938
|
+
prevPageVisitData = getJSON().parse(pageVisitDataJsonStr);
|
|
3939
|
+
prevPageVisitData.pageVisitTime = pageVisitEndTime - prevPageVisitData[_DYN_PAGE_VISIT_START_TIM20 ];
|
|
3940
|
+
utlRemoveSessionStorage(logger, prevPageVisitDataKeyName);
|
|
3941
|
+
}
|
|
3942
|
+
}
|
|
3943
|
+
}
|
|
3944
|
+
catch (e) {
|
|
3945
|
+
_warnToConsole(logger, "Stop page visit timer failed: " + dumpObj(e));
|
|
3946
|
+
prevPageVisitData = null;
|
|
3947
|
+
}
|
|
3948
|
+
return prevPageVisitData;
|
|
3949
|
+
}
|
|
3950
|
+
objDefineAccessors(_self, "_logger", function () { return logger; });
|
|
3951
|
+
objDefineAccessors(_self, "pageVisitTimeTrackingHandler", function () { return pageVisitTimeTrackingHandler; });
|
|
3952
|
+
});
|
|
3953
|
+
}
|
|
3954
|
+
PageVisitTimeManager.__ieDyn=1;
|
|
3667
3955
|
return PageVisitTimeManager;
|
|
3668
3956
|
}());
|
|
3669
3957
|
var PageVisitData = /** @class */ (function () {
|
|
3670
3958
|
function PageVisitData(pageName, pageUrl) {
|
|
3671
|
-
this
|
|
3959
|
+
this[_DYN_PAGE_VISIT_START_TIM20 ] = dateNow();
|
|
3672
3960
|
this.pageName = pageName;
|
|
3673
3961
|
this.pageUrl = pageUrl;
|
|
3674
3962
|
}
|
|
3675
3963
|
return PageVisitData;
|
|
3676
3964
|
}());
|
|
3677
3965
|
|
|
3678
|
-
var PageViewPerformanceManager = /** @class */ (function () {
|
|
3679
|
-
function PageViewPerformanceManager(core) {
|
|
3680
|
-
this.MAX_DURATION_ALLOWED = 3600000;
|
|
3681
|
-
if (core) {
|
|
3682
|
-
this._logger = core.logger;
|
|
3683
|
-
}
|
|
3684
|
-
}
|
|
3685
|
-
PageViewPerformanceManager.prototype.populatePageViewPerformanceEvent = function (pageViewPerformance) {
|
|
3686
|
-
pageViewPerformance.isValid = false;
|
|
3687
|
-
var navigationTiming = this.getPerformanceNavigationTiming();
|
|
3688
|
-
var timing = this.getPerformanceTiming();
|
|
3689
|
-
var total = 0;
|
|
3690
|
-
var network = 0;
|
|
3691
|
-
var request = 0;
|
|
3692
|
-
var response = 0;
|
|
3693
|
-
var dom = 0;
|
|
3694
|
-
if (navigationTiming || timing) {
|
|
3695
|
-
if (navigationTiming) {
|
|
3696
|
-
total = navigationTiming.duration;
|
|
3697
|
-
network = navigationTiming.startTime === 0 ? navigationTiming.connectEnd : dateTimeUtilsDuration(navigationTiming.startTime, navigationTiming.connectEnd);
|
|
3698
|
-
request = dateTimeUtilsDuration(navigationTiming.requestStart, navigationTiming.responseStart);
|
|
3699
|
-
response = dateTimeUtilsDuration(navigationTiming.responseStart, navigationTiming.responseEnd);
|
|
3700
|
-
dom = dateTimeUtilsDuration(navigationTiming.responseEnd, navigationTiming.loadEventEnd);
|
|
3701
|
-
}
|
|
3702
|
-
else {
|
|
3703
|
-
total = dateTimeUtilsDuration(timing.navigationStart, timing.loadEventEnd);
|
|
3704
|
-
network = dateTimeUtilsDuration(timing.navigationStart, timing.connectEnd);
|
|
3705
|
-
request = dateTimeUtilsDuration(timing.requestStart, timing.responseStart);
|
|
3706
|
-
response = dateTimeUtilsDuration(timing.responseStart, timing.responseEnd);
|
|
3707
|
-
dom = dateTimeUtilsDuration(timing.responseEnd, timing.loadEventEnd);
|
|
3708
|
-
}
|
|
3709
|
-
var logger = this._logger;
|
|
3710
|
-
if (total === 0) {
|
|
3711
|
-
_throwInternal(logger, 2 , 10 , "error calculating page view performance.", { total: total, network: network, request: request, response: response, dom: dom });
|
|
3712
|
-
}
|
|
3713
|
-
else if (!this.shouldCollectDuration(total, network, request, response, dom)) {
|
|
3714
|
-
_throwInternal(logger, 2 , 45 , "Invalid page load duration value. Browser perf data won't be sent.", { total: total, network: network, request: request, response: response, dom: dom });
|
|
3715
|
-
}
|
|
3716
|
-
else if (total < Math.floor(network) + Math.floor(request) + Math.floor(response) + Math.floor(dom)) {
|
|
3717
|
-
_throwInternal(logger, 2 , 8 , "client performance math error.", { total: total, network: network, request: request, response: response, dom: dom });
|
|
3718
|
-
}
|
|
3719
|
-
else {
|
|
3720
|
-
pageViewPerformance.durationMs = total;
|
|
3721
|
-
pageViewPerformance.perfTotal = pageViewPerformance.duration = msToTimeSpan(total);
|
|
3722
|
-
pageViewPerformance.networkConnect = msToTimeSpan(network);
|
|
3723
|
-
pageViewPerformance.sentRequest = msToTimeSpan(request);
|
|
3724
|
-
pageViewPerformance.receivedResponse = msToTimeSpan(response);
|
|
3725
|
-
pageViewPerformance.domProcessing = msToTimeSpan(dom);
|
|
3726
|
-
pageViewPerformance.isValid = true;
|
|
3727
|
-
}
|
|
3728
|
-
}
|
|
3729
|
-
};
|
|
3730
|
-
PageViewPerformanceManager.prototype.getPerformanceTiming = function () {
|
|
3731
|
-
if (this.isPerformanceTimingSupported()) {
|
|
3732
|
-
return getPerformance().timing;
|
|
3733
|
-
}
|
|
3734
|
-
return null;
|
|
3735
|
-
};
|
|
3736
|
-
PageViewPerformanceManager.prototype.getPerformanceNavigationTiming = function () {
|
|
3737
|
-
if (this.isPerformanceNavigationTimingSupported()) {
|
|
3738
|
-
return getPerformance().getEntriesByType("navigation")[0];
|
|
3739
|
-
}
|
|
3740
|
-
return null;
|
|
3741
|
-
};
|
|
3742
|
-
PageViewPerformanceManager.prototype.isPerformanceNavigationTimingSupported = function () {
|
|
3743
|
-
var perf = getPerformance();
|
|
3744
|
-
return perf && perf.getEntriesByType && perf.getEntriesByType("navigation").length > 0;
|
|
3745
|
-
};
|
|
3746
|
-
PageViewPerformanceManager.prototype.isPerformanceTimingSupported = function () {
|
|
3747
|
-
var perf = getPerformance();
|
|
3748
|
-
return perf && perf.timing;
|
|
3749
|
-
};
|
|
3750
|
-
PageViewPerformanceManager.prototype.isPerformanceTimingDataReady = function () {
|
|
3751
|
-
var perf = getPerformance();
|
|
3752
|
-
var timing = perf ? perf.timing : 0;
|
|
3753
|
-
return timing
|
|
3754
|
-
&& timing.domainLookupStart > 0
|
|
3755
|
-
&& timing.navigationStart > 0
|
|
3756
|
-
&& timing.responseStart > 0
|
|
3757
|
-
&& timing.requestStart > 0
|
|
3758
|
-
&& timing.loadEventEnd > 0
|
|
3759
|
-
&& timing.responseEnd > 0
|
|
3760
|
-
&& timing.connectEnd > 0
|
|
3761
|
-
&& timing.domLoading > 0;
|
|
3762
|
-
};
|
|
3763
|
-
PageViewPerformanceManager.prototype.shouldCollectDuration = function () {
|
|
3764
|
-
var durations = [];
|
|
3765
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
3766
|
-
durations[_i] = arguments[_i];
|
|
3767
|
-
}
|
|
3768
|
-
var _navigator = getNavigator() || {};
|
|
3769
|
-
var botAgentNames = ["googlebot", "adsbot-google", "apis-google", "mediapartners-google"];
|
|
3770
|
-
var userAgent = _navigator.userAgent;
|
|
3771
|
-
var isGoogleBot = false;
|
|
3772
|
-
if (userAgent) {
|
|
3773
|
-
for (var i = 0; i < botAgentNames.length; i++) {
|
|
3774
|
-
isGoogleBot = isGoogleBot || userAgent.toLowerCase().indexOf(botAgentNames[i]) !== -1;
|
|
3775
|
-
}
|
|
3776
|
-
}
|
|
3777
|
-
if (isGoogleBot) {
|
|
3778
|
-
return false;
|
|
3779
|
-
}
|
|
3780
|
-
else {
|
|
3781
|
-
for (var i = 0; i < durations.length; i++) {
|
|
3782
|
-
if (durations[i] < 0 || durations[i] >= this.MAX_DURATION_ALLOWED) {
|
|
3783
|
-
return false;
|
|
3784
|
-
}
|
|
3785
|
-
}
|
|
3786
|
-
}
|
|
3787
|
-
return true;
|
|
3788
|
-
};
|
|
3789
|
-
return PageViewPerformanceManager;
|
|
3790
|
-
}());
|
|
3791
|
-
|
|
3792
3966
|
var Timing = /** @class */ (function () {
|
|
3793
3967
|
function Timing(logger, name) {
|
|
3794
3968
|
var _self = this;
|
|
@@ -3816,7 +3990,6 @@
|
|
|
3816
3990
|
return Timing;
|
|
3817
3991
|
}());
|
|
3818
3992
|
|
|
3819
|
-
var durationProperty = "duration";
|
|
3820
3993
|
var strEvent = "event";
|
|
3821
3994
|
function _dispatchEvent(target, evnt) {
|
|
3822
3995
|
if (target && target.dispatchEvent && evnt) {
|
|
@@ -3826,8 +3999,8 @@
|
|
|
3826
3999
|
function _getReason(error) {
|
|
3827
4000
|
if (error && error.reason) {
|
|
3828
4001
|
var reason = error.reason;
|
|
3829
|
-
if (!isString(reason) && isFunction(reason
|
|
3830
|
-
return reason
|
|
4002
|
+
if (!isString(reason) && isFunction(reason[_DYN_TO_STRING ])) {
|
|
4003
|
+
return reason[_DYN_TO_STRING ]();
|
|
3831
4004
|
}
|
|
3832
4005
|
return dumpObj(reason);
|
|
3833
4006
|
}
|
|
@@ -3847,25 +4020,25 @@
|
|
|
3847
4020
|
}
|
|
3848
4021
|
config.sessionRenewalMs = _configMilliseconds(config.sessionRenewalMs, 30 * 60 * 1000);
|
|
3849
4022
|
config.sessionExpirationMs = _configMilliseconds(config.sessionExpirationMs, 24 * 60 * 60 * 1000);
|
|
3850
|
-
config
|
|
3851
|
-
config
|
|
3852
|
-
config
|
|
3853
|
-
config
|
|
3854
|
-
if (isNaN(config
|
|
3855
|
-
config
|
|
3856
|
-
}
|
|
3857
|
-
config
|
|
3858
|
-
config
|
|
3859
|
-
config
|
|
3860
|
-
config
|
|
4023
|
+
config[_DYN_DISABLE_EXCEPTION_TR0 ] = stringToBoolOrDefault(config[_DYN_DISABLE_EXCEPTION_TR0 ]);
|
|
4024
|
+
config[_DYN_AUTO_TRACK_PAGE_VISI1 ] = stringToBoolOrDefault(config[_DYN_AUTO_TRACK_PAGE_VISI1 ]);
|
|
4025
|
+
config[_DYN_OVERRIDE_PAGE_VIEW_D2 ] = stringToBoolOrDefault(config[_DYN_OVERRIDE_PAGE_VIEW_D2 ]);
|
|
4026
|
+
config[_DYN_ENABLE_UNHANDLED_PRO3 ] = stringToBoolOrDefault(config[_DYN_ENABLE_UNHANDLED_PRO3 ]);
|
|
4027
|
+
if (isNaN(config[_DYN_SAMPLING_PERCENTAGE ]) || config[_DYN_SAMPLING_PERCENTAGE ] <= 0 || config[_DYN_SAMPLING_PERCENTAGE ] >= 100) {
|
|
4028
|
+
config[_DYN_SAMPLING_PERCENTAGE ] = 100;
|
|
4029
|
+
}
|
|
4030
|
+
config[_DYN_IS_STORAGE_USE_DISAB4 ] = stringToBoolOrDefault(config[_DYN_IS_STORAGE_USE_DISAB4 ]);
|
|
4031
|
+
config[_DYN_IS_BROWSER_LINK_TRAC5 ] = stringToBoolOrDefault(config[_DYN_IS_BROWSER_LINK_TRAC5 ]);
|
|
4032
|
+
config[_DYN_ENABLE_AUTO_ROUTE_TR6 ] = stringToBoolOrDefault(config[_DYN_ENABLE_AUTO_ROUTE_TR6 ]);
|
|
4033
|
+
config[_DYN_NAME_PREFIX ] = config[_DYN_NAME_PREFIX ] || "";
|
|
3861
4034
|
config.enableDebug = stringToBoolOrDefault(config.enableDebug);
|
|
3862
|
-
config
|
|
3863
|
-
config.disableFlushOnUnload = stringToBoolOrDefault(config.disableFlushOnUnload, config
|
|
4035
|
+
config[_DYN_DISABLE_FLUSH_ON_BEF7 ] = stringToBoolOrDefault(config[_DYN_DISABLE_FLUSH_ON_BEF7 ]);
|
|
4036
|
+
config.disableFlushOnUnload = stringToBoolOrDefault(config.disableFlushOnUnload, config[_DYN_DISABLE_FLUSH_ON_BEF7 ]);
|
|
3864
4037
|
return config;
|
|
3865
4038
|
}
|
|
3866
4039
|
function _updateStorageUsage(extConfig) {
|
|
3867
|
-
if (!isUndefined(extConfig
|
|
3868
|
-
if (extConfig
|
|
4040
|
+
if (!isUndefined(extConfig[_DYN_IS_STORAGE_USE_DISAB4 ])) {
|
|
4041
|
+
if (extConfig[_DYN_IS_STORAGE_USE_DISAB4 ]) {
|
|
3869
4042
|
utlDisableStorage();
|
|
3870
4043
|
}
|
|
3871
4044
|
else {
|
|
@@ -3901,15 +4074,15 @@
|
|
|
3901
4074
|
var _addHook = _base._addHook;
|
|
3902
4075
|
_initDefaults();
|
|
3903
4076
|
_self.getCookieMgr = function () {
|
|
3904
|
-
return safeGetCookieMgr(_self
|
|
4077
|
+
return safeGetCookieMgr(_self[_DYN_CORE ]);
|
|
3905
4078
|
};
|
|
3906
4079
|
_self.processTelemetry = function (env, itemCtx) {
|
|
3907
4080
|
_self.processNext(env, itemCtx);
|
|
3908
4081
|
};
|
|
3909
4082
|
_self.trackEvent = function (event, customProperties) {
|
|
3910
4083
|
try {
|
|
3911
|
-
var telemetryItem = createTelemetryItem(event, Event$1
|
|
3912
|
-
_self
|
|
4084
|
+
var telemetryItem = createTelemetryItem(event, Event$1[_DYN_DATA_TYPE ], Event$1[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), customProperties);
|
|
4085
|
+
_self[_DYN_CORE ][_DYN_TRACK ](telemetryItem);
|
|
3913
4086
|
}
|
|
3914
4087
|
catch (e) {
|
|
3915
4088
|
_throwInternal(2 , 39 , "trackTrace failed, trace will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
@@ -3925,7 +4098,7 @@
|
|
|
3925
4098
|
};
|
|
3926
4099
|
_self.stopTrackEvent = function (name, properties, measurements) {
|
|
3927
4100
|
try {
|
|
3928
|
-
_eventTracking.stop(name, undefined, properties);
|
|
4101
|
+
_eventTracking.stop(name, undefined, properties, measurements);
|
|
3929
4102
|
}
|
|
3930
4103
|
catch (e) {
|
|
3931
4104
|
_throwInternal(1 , 30 , "stopTrackEvent failed, event will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
@@ -3933,8 +4106,8 @@
|
|
|
3933
4106
|
};
|
|
3934
4107
|
_self.trackTrace = function (trace, customProperties) {
|
|
3935
4108
|
try {
|
|
3936
|
-
var telemetryItem = createTelemetryItem(trace, Trace
|
|
3937
|
-
_self
|
|
4109
|
+
var telemetryItem = createTelemetryItem(trace, Trace[_DYN_DATA_TYPE ], Trace[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), customProperties);
|
|
4110
|
+
_self[_DYN_CORE ][_DYN_TRACK ](telemetryItem);
|
|
3938
4111
|
}
|
|
3939
4112
|
catch (e) {
|
|
3940
4113
|
_throwInternal(2 , 39 , "trackTrace failed, trace will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
@@ -3942,42 +4115,42 @@
|
|
|
3942
4115
|
};
|
|
3943
4116
|
_self.trackMetric = function (metric, customProperties) {
|
|
3944
4117
|
try {
|
|
3945
|
-
var telemetryItem = createTelemetryItem(metric, Metric
|
|
3946
|
-
_self
|
|
4118
|
+
var telemetryItem = createTelemetryItem(metric, Metric[_DYN_DATA_TYPE ], Metric[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), customProperties);
|
|
4119
|
+
_self[_DYN_CORE ][_DYN_TRACK ](telemetryItem);
|
|
3947
4120
|
}
|
|
3948
4121
|
catch (e) {
|
|
3949
4122
|
_throwInternal(1 , 36 , "trackMetric failed, metric will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
3950
4123
|
}
|
|
3951
4124
|
};
|
|
3952
|
-
_self
|
|
4125
|
+
_self[_DYN_TRACK_PAGE_VIEW ] = function (pageView, customProperties) {
|
|
3953
4126
|
try {
|
|
3954
4127
|
var inPv = pageView || {};
|
|
3955
|
-
_pageViewManager
|
|
3956
|
-
if (_self.config
|
|
3957
|
-
_pageVisitTimeManager
|
|
4128
|
+
_pageViewManager[_DYN_TRACK_PAGE_VIEW ](inPv, __assignFn(__assignFn(__assignFn({}, inPv.properties), inPv.measurements), customProperties));
|
|
4129
|
+
if (_self.config[_DYN_AUTO_TRACK_PAGE_VISI1 ]) {
|
|
4130
|
+
_pageVisitTimeManager[_DYN_TRACK_PREVIOUS_PAGE_9 ](inPv.name, inPv.uri);
|
|
3958
4131
|
}
|
|
3959
4132
|
}
|
|
3960
4133
|
catch (e) {
|
|
3961
4134
|
_throwInternal(1 , 37 , "trackPageView failed, page view will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
3962
4135
|
}
|
|
3963
4136
|
};
|
|
3964
|
-
_self
|
|
4137
|
+
_self[_DYN_SEND_PAGE_VIEW_INTER10 ] = function (pageView, properties, systemProperties) {
|
|
3965
4138
|
var doc = getDocument();
|
|
3966
4139
|
if (doc) {
|
|
3967
4140
|
pageView.refUri = pageView.refUri === undefined ? doc.referrer : pageView.refUri;
|
|
3968
4141
|
}
|
|
3969
|
-
var telemetryItem = createTelemetryItem(pageView, PageView
|
|
3970
|
-
_self
|
|
4142
|
+
var telemetryItem = createTelemetryItem(pageView, PageView[_DYN_DATA_TYPE ], PageView[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), properties, systemProperties);
|
|
4143
|
+
_self[_DYN_CORE ][_DYN_TRACK ](telemetryItem);
|
|
3971
4144
|
};
|
|
3972
|
-
_self
|
|
3973
|
-
var telemetryItem = createTelemetryItem(pageViewPerformance, PageViewPerformance
|
|
3974
|
-
_self
|
|
4145
|
+
_self[_DYN_SEND_PAGE_VIEW_PERFO11 ] = function (pageViewPerformance, properties, systemProperties) {
|
|
4146
|
+
var telemetryItem = createTelemetryItem(pageViewPerformance, PageViewPerformance[_DYN_DATA_TYPE ], PageViewPerformance[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), properties, systemProperties);
|
|
4147
|
+
_self[_DYN_CORE ][_DYN_TRACK ](telemetryItem);
|
|
3975
4148
|
};
|
|
3976
4149
|
_self.trackPageViewPerformance = function (pageViewPerformance, customProperties) {
|
|
3977
4150
|
var inPvp = pageViewPerformance || {};
|
|
3978
4151
|
try {
|
|
3979
|
-
_pageViewPerformanceManager
|
|
3980
|
-
_self
|
|
4152
|
+
_pageViewPerformanceManager[_DYN_POPULATE_PAGE_VIEW_P12 ](inPvp);
|
|
4153
|
+
_self[_DYN_SEND_PAGE_VIEW_PERFO11 ](inPvp, customProperties);
|
|
3981
4154
|
}
|
|
3982
4155
|
catch (e) {
|
|
3983
4156
|
_throwInternal(1 , 37 , "trackPageViewPerformance failed, page view will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
@@ -4003,36 +4176,36 @@
|
|
|
4003
4176
|
}
|
|
4004
4177
|
if (typeof url !== "string") {
|
|
4005
4178
|
var loc = getLocation();
|
|
4006
|
-
url = loc && loc
|
|
4179
|
+
url = loc && loc[_DYN_HREF ] || "";
|
|
4007
4180
|
}
|
|
4008
4181
|
_pageTracking.stop(name, url, properties, measurement);
|
|
4009
|
-
if (_self.config
|
|
4010
|
-
_pageVisitTimeManager
|
|
4182
|
+
if (_self.config[_DYN_AUTO_TRACK_PAGE_VISI1 ]) {
|
|
4183
|
+
_pageVisitTimeManager[_DYN_TRACK_PREVIOUS_PAGE_9 ](name, url);
|
|
4011
4184
|
}
|
|
4012
4185
|
}
|
|
4013
4186
|
catch (e) {
|
|
4014
4187
|
_throwInternal(1 , 32 , "stopTrackPage failed, page view will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
4015
4188
|
}
|
|
4016
4189
|
};
|
|
4017
|
-
_self
|
|
4018
|
-
var theError = exception
|
|
4019
|
-
var exceptionPartB = new Exception(_self
|
|
4020
|
-
var telemetryItem = createTelemetryItem(exceptionPartB, Exception
|
|
4021
|
-
_self
|
|
4190
|
+
_self[_DYN_SEND_EXCEPTION_INTER13 ] = function (exception, customProperties, systemProperties) {
|
|
4191
|
+
var theError = exception[_DYN_EXCEPTION ] || exception[_DYN_ERROR ] || new Error(strNotSpecified);
|
|
4192
|
+
var exceptionPartB = new Exception(_self[_DYN_DIAG_LOG ](), theError, exception.properties || customProperties, exception.measurements, exception.severityLevel, exception.id).toInterface();
|
|
4193
|
+
var telemetryItem = createTelemetryItem(exceptionPartB, Exception[_DYN_DATA_TYPE ], Exception[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), customProperties, systemProperties);
|
|
4194
|
+
_self[_DYN_CORE ][_DYN_TRACK ](telemetryItem);
|
|
4022
4195
|
};
|
|
4023
4196
|
_self.trackException = function (exception, customProperties) {
|
|
4024
|
-
if (exception && !exception
|
|
4025
|
-
exception
|
|
4197
|
+
if (exception && !exception[_DYN_EXCEPTION ] && exception[_DYN_ERROR ]) {
|
|
4198
|
+
exception[_DYN_EXCEPTION ] = exception[_DYN_ERROR ];
|
|
4026
4199
|
}
|
|
4027
4200
|
try {
|
|
4028
|
-
_self
|
|
4201
|
+
_self[_DYN_SEND_EXCEPTION_INTER13 ](exception, customProperties);
|
|
4029
4202
|
}
|
|
4030
4203
|
catch (e) {
|
|
4031
4204
|
_throwInternal(1 , 35 , "trackException failed, exception will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
4032
4205
|
}
|
|
4033
4206
|
};
|
|
4034
|
-
_self
|
|
4035
|
-
var error = exception && exception
|
|
4207
|
+
_self[_DYN__ONERROR ] = function (exception) {
|
|
4208
|
+
var error = exception && exception[_DYN_ERROR ];
|
|
4036
4209
|
var evt = exception && exception.evt;
|
|
4037
4210
|
try {
|
|
4038
4211
|
if (!evt) {
|
|
@@ -4042,33 +4215,33 @@
|
|
|
4042
4215
|
}
|
|
4043
4216
|
}
|
|
4044
4217
|
var url = (exception && exception.url) || (getDocument() || {}).URL;
|
|
4045
|
-
var errorSrc = exception
|
|
4218
|
+
var errorSrc = exception[_DYN_ERROR_SRC ] || "window.onerror@" + url + ":" + (exception[_DYN_LINE_NUMBER ] || 0) + ":" + (exception[_DYN_COLUMN_NUMBER ] || 0);
|
|
4046
4219
|
var properties = {
|
|
4047
4220
|
errorSrc: errorSrc,
|
|
4048
4221
|
url: url,
|
|
4049
|
-
lineNumber: exception
|
|
4050
|
-
columnNumber: exception
|
|
4051
|
-
message: exception
|
|
4222
|
+
lineNumber: exception[_DYN_LINE_NUMBER ] || 0,
|
|
4223
|
+
columnNumber: exception[_DYN_COLUMN_NUMBER ] || 0,
|
|
4224
|
+
message: exception[_DYN_MESSAGE ]
|
|
4052
4225
|
};
|
|
4053
|
-
if (isCrossOriginError(exception.message, exception.url, exception.lineNumber, exception.columnNumber, exception
|
|
4054
|
-
_sendCORSException(Exception
|
|
4226
|
+
if (isCrossOriginError(exception.message, exception.url, exception.lineNumber, exception.columnNumber, exception[_DYN_ERROR ])) {
|
|
4227
|
+
_sendCORSException(Exception[_DYN__CREATE_AUTO_EXCEPTI14 ]("Script error: The browser's same-origin policy prevents us from getting the details of this exception. Consider using the 'crossorigin' attribute.", url, exception[_DYN_LINE_NUMBER ] || 0, exception[_DYN_COLUMN_NUMBER ] || 0, error, evt, null, errorSrc), properties);
|
|
4055
4228
|
}
|
|
4056
4229
|
else {
|
|
4057
|
-
if (!exception
|
|
4058
|
-
exception
|
|
4230
|
+
if (!exception[_DYN_ERROR_SRC ]) {
|
|
4231
|
+
exception[_DYN_ERROR_SRC ] = errorSrc;
|
|
4059
4232
|
}
|
|
4060
4233
|
_self.trackException({ exception: exception, severityLevel: 3 }, properties);
|
|
4061
4234
|
}
|
|
4062
4235
|
}
|
|
4063
4236
|
catch (e) {
|
|
4064
|
-
var errorString = error ? (error.name + ", " + error
|
|
4237
|
+
var errorString = error ? (error.name + ", " + error[_DYN_MESSAGE ]) : "null";
|
|
4065
4238
|
_throwInternal(1 , 11 , "_onError threw exception while logging error, error will not be collected: "
|
|
4066
4239
|
+ getExceptionName(e), { exception: dumpObj(e), errorString: errorString });
|
|
4067
4240
|
}
|
|
4068
4241
|
};
|
|
4069
|
-
_self
|
|
4070
|
-
if (_self
|
|
4071
|
-
return _self
|
|
4242
|
+
_self[_DYN_ADD_TELEMETRY_INITIA15 ] = function (telemetryInitializer) {
|
|
4243
|
+
if (_self[_DYN_CORE ]) {
|
|
4244
|
+
return _self[_DYN_CORE ][_DYN_ADD_TELEMETRY_INITIA15 ](telemetryInitializer);
|
|
4072
4245
|
}
|
|
4073
4246
|
if (!_preInitTelemetryInitializers) {
|
|
4074
4247
|
_preInitTelemetryInitializers = [];
|
|
@@ -4087,38 +4260,41 @@
|
|
|
4087
4260
|
_evtNamespace = mergeEvtNamespace(createUniqueNamespace(_self.identifier), core.evtNamespace && core.evtNamespace());
|
|
4088
4261
|
if (_preInitTelemetryInitializers) {
|
|
4089
4262
|
arrForEach(_preInitTelemetryInitializers, function (initializer) {
|
|
4090
|
-
core
|
|
4263
|
+
core[_DYN_ADD_TELEMETRY_INITIA15 ](initializer);
|
|
4091
4264
|
});
|
|
4092
4265
|
_preInitTelemetryInitializers = null;
|
|
4093
4266
|
}
|
|
4094
4267
|
var extConfig = _populateDefaults(config);
|
|
4095
4268
|
_updateStorageUsage(extConfig);
|
|
4096
|
-
_pageViewPerformanceManager = new PageViewPerformanceManager(_self
|
|
4097
|
-
_pageViewManager = new PageViewManager(_this, extConfig
|
|
4098
|
-
_pageVisitTimeManager = new PageVisitTimeManager(_self
|
|
4269
|
+
_pageViewPerformanceManager = new PageViewPerformanceManager(_self[_DYN_CORE ]);
|
|
4270
|
+
_pageViewManager = new PageViewManager(_this, extConfig[_DYN_OVERRIDE_PAGE_VIEW_D2 ], _self[_DYN_CORE ], _pageViewPerformanceManager);
|
|
4271
|
+
_pageVisitTimeManager = new PageVisitTimeManager(_self[_DYN_DIAG_LOG ](), function (pageName, pageUrl, pageVisitTime) { return trackPageVisitTime(pageName, pageUrl, pageVisitTime); });
|
|
4099
4272
|
_updateBrowserLinkTracking(extConfig, config);
|
|
4100
|
-
_eventTracking = new Timing(_self
|
|
4273
|
+
_eventTracking = new Timing(_self[_DYN_DIAG_LOG ](), "trackEvent");
|
|
4101
4274
|
_eventTracking.action =
|
|
4102
|
-
function (name, url, duration, properties) {
|
|
4275
|
+
function (name, url, duration, properties, measurements) {
|
|
4103
4276
|
if (!properties) {
|
|
4104
4277
|
properties = {};
|
|
4105
4278
|
}
|
|
4106
|
-
|
|
4107
|
-
|
|
4279
|
+
if (!measurements) {
|
|
4280
|
+
measurements = {};
|
|
4281
|
+
}
|
|
4282
|
+
properties.duration = duration[_DYN_TO_STRING ]();
|
|
4283
|
+
_self.trackEvent({ name: name, properties: properties, measurements: measurements });
|
|
4108
4284
|
};
|
|
4109
|
-
_pageTracking = new Timing(_self
|
|
4285
|
+
_pageTracking = new Timing(_self[_DYN_DIAG_LOG ](), "trackPageView");
|
|
4110
4286
|
_pageTracking.action = function (name, url, duration, properties, measurements) {
|
|
4111
4287
|
if (isNullOrUndefined(properties)) {
|
|
4112
4288
|
properties = {};
|
|
4113
4289
|
}
|
|
4114
|
-
properties
|
|
4290
|
+
properties.duration = duration[_DYN_TO_STRING ]();
|
|
4115
4291
|
var pageViewItem = {
|
|
4116
4292
|
name: name,
|
|
4117
4293
|
uri: url,
|
|
4118
4294
|
properties: properties,
|
|
4119
4295
|
measurements: measurements
|
|
4120
4296
|
};
|
|
4121
|
-
_self
|
|
4297
|
+
_self[_DYN_SEND_PAGE_VIEW_INTER10 ](pageViewItem, properties);
|
|
4122
4298
|
};
|
|
4123
4299
|
if (hasWindow()) {
|
|
4124
4300
|
_updateExceptionTracking(extConfig);
|
|
@@ -4136,7 +4312,7 @@
|
|
|
4136
4312
|
_initDefaults();
|
|
4137
4313
|
};
|
|
4138
4314
|
function _populateDefaults(config) {
|
|
4139
|
-
var ctx = createProcessTelemetryContext(null, config, _self
|
|
4315
|
+
var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE ]);
|
|
4140
4316
|
var identifier = _self.identifier;
|
|
4141
4317
|
var defaults = _getDefaultConfig(config);
|
|
4142
4318
|
var extConfig = _self.config = ctx.getExtCfg(identifier);
|
|
@@ -4151,7 +4327,7 @@
|
|
|
4151
4327
|
return extConfig;
|
|
4152
4328
|
}
|
|
4153
4329
|
function _updateBrowserLinkTracking(extConfig, config) {
|
|
4154
|
-
_isBrowserLinkTrackingEnabled = extConfig
|
|
4330
|
+
_isBrowserLinkTrackingEnabled = extConfig[_DYN_IS_BROWSER_LINK_TRAC5 ] || config[_DYN_IS_BROWSER_LINK_TRAC5 ];
|
|
4155
4331
|
_addDefaultTelemetryInitializers();
|
|
4156
4332
|
}
|
|
4157
4333
|
function trackPageVisitTime(pageName, pageUrl, pageVisitTime) {
|
|
@@ -4168,10 +4344,10 @@
|
|
|
4168
4344
|
if (!_browserLinkInitializerAdded && _isBrowserLinkTrackingEnabled) {
|
|
4169
4345
|
var browserLinkPaths_1 = ["/browserLinkSignalR/", "/__browserLink/"];
|
|
4170
4346
|
var dropBrowserLinkRequests = function (envelope) {
|
|
4171
|
-
if (_isBrowserLinkTrackingEnabled && envelope.baseType === RemoteDependencyData
|
|
4347
|
+
if (_isBrowserLinkTrackingEnabled && envelope.baseType === RemoteDependencyData[_DYN_DATA_TYPE ]) {
|
|
4172
4348
|
var remoteData = envelope.baseData;
|
|
4173
4349
|
if (remoteData) {
|
|
4174
|
-
for (var i = 0; i < browserLinkPaths_1
|
|
4350
|
+
for (var i = 0; i < browserLinkPaths_1[_DYN_LENGTH ]; i++) {
|
|
4175
4351
|
if (remoteData.target && remoteData.target.indexOf(browserLinkPaths_1[i]) >= 0) {
|
|
4176
4352
|
return false;
|
|
4177
4353
|
}
|
|
@@ -4180,24 +4356,24 @@
|
|
|
4180
4356
|
}
|
|
4181
4357
|
return true;
|
|
4182
4358
|
};
|
|
4183
|
-
_self
|
|
4359
|
+
_self[_DYN_ADD_TELEMETRY_INITIA15 ](dropBrowserLinkRequests);
|
|
4184
4360
|
_browserLinkInitializerAdded = true;
|
|
4185
4361
|
}
|
|
4186
4362
|
}
|
|
4187
4363
|
function _sendCORSException(exception, properties) {
|
|
4188
|
-
var telemetryItem = createTelemetryItem(exception, Exception
|
|
4189
|
-
_self
|
|
4364
|
+
var telemetryItem = createTelemetryItem(exception, Exception[_DYN_DATA_TYPE ], Exception[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), properties);
|
|
4365
|
+
_self[_DYN_CORE ][_DYN_TRACK ](telemetryItem);
|
|
4190
4366
|
}
|
|
4191
4367
|
function _updateExceptionTracking(extConfig) {
|
|
4192
4368
|
var _window = getWindow();
|
|
4193
4369
|
var locn = getLocation(true);
|
|
4194
|
-
_disableExceptionTracking = extConfig
|
|
4370
|
+
_disableExceptionTracking = extConfig[_DYN_DISABLE_EXCEPTION_TR0 ];
|
|
4195
4371
|
if (!_disableExceptionTracking && !_autoExceptionInstrumented && !extConfig.autoExceptionInstrumented) {
|
|
4196
4372
|
_addHook(InstrumentEvent(_window, "onerror", {
|
|
4197
4373
|
ns: _evtNamespace,
|
|
4198
4374
|
rsp: function (callDetails, message, url, lineNumber, columnNumber, error) {
|
|
4199
4375
|
if (!_disableExceptionTracking && callDetails.rslt !== true) {
|
|
4200
|
-
_self
|
|
4376
|
+
_self[_DYN__ONERROR ](Exception[_DYN__CREATE_AUTO_EXCEPTI14 ](message, url, lineNumber, columnNumber, error, callDetails.evt));
|
|
4201
4377
|
}
|
|
4202
4378
|
}
|
|
4203
4379
|
}, false));
|
|
@@ -4208,7 +4384,7 @@
|
|
|
4208
4384
|
function _updateLocationChange(extConfig) {
|
|
4209
4385
|
var win = getWindow();
|
|
4210
4386
|
var locn = getLocation(true);
|
|
4211
|
-
_enableAutoRouteTracking = extConfig
|
|
4387
|
+
_enableAutoRouteTracking = extConfig[_DYN_ENABLE_AUTO_ROUTE_TR6 ] === true;
|
|
4212
4388
|
if (win && _enableAutoRouteTracking && hasHistory()) {
|
|
4213
4389
|
var _history = getHistory();
|
|
4214
4390
|
if (isFunction(_history.pushState) && isFunction(_history.replaceState) && typeof Event !== strShimUndefined) {
|
|
@@ -4218,11 +4394,11 @@
|
|
|
4218
4394
|
}
|
|
4219
4395
|
function _getDistributedTraceCtx() {
|
|
4220
4396
|
var distributedTraceCtx = null;
|
|
4221
|
-
if (_self
|
|
4222
|
-
distributedTraceCtx = _self.
|
|
4397
|
+
if (_self[_DYN_CORE ] && _self[_DYN_CORE ].getTraceCtx) {
|
|
4398
|
+
distributedTraceCtx = _self[_DYN_CORE ].getTraceCtx(false);
|
|
4223
4399
|
}
|
|
4224
4400
|
if (!distributedTraceCtx) {
|
|
4225
|
-
var properties = _self.
|
|
4401
|
+
var properties = _self[_DYN_CORE ].getPlugin(PropertiesPluginIdentifier);
|
|
4226
4402
|
if (properties) {
|
|
4227
4403
|
var context = properties.plugin.context;
|
|
4228
4404
|
if (context) {
|
|
@@ -4233,18 +4409,19 @@
|
|
|
4233
4409
|
return distributedTraceCtx;
|
|
4234
4410
|
}
|
|
4235
4411
|
function _addHistoryListener(extConfig, win, history, locn) {
|
|
4412
|
+
var namePrefix = extConfig[_DYN_NAME_PREFIX ] || "";
|
|
4236
4413
|
function _popstateHandler() {
|
|
4237
4414
|
if (_enableAutoRouteTracking) {
|
|
4238
|
-
_dispatchEvent(win, createDomEvent(
|
|
4415
|
+
_dispatchEvent(win, createDomEvent(namePrefix + "locationchange"));
|
|
4239
4416
|
}
|
|
4240
4417
|
}
|
|
4241
4418
|
function _locationChangeHandler() {
|
|
4242
4419
|
if (_currUri) {
|
|
4243
4420
|
_prevUri = _currUri;
|
|
4244
|
-
_currUri = locn && locn
|
|
4421
|
+
_currUri = locn && locn[_DYN_HREF ] || "";
|
|
4245
4422
|
}
|
|
4246
4423
|
else {
|
|
4247
|
-
_currUri = locn && locn
|
|
4424
|
+
_currUri = locn && locn[_DYN_HREF ] || "";
|
|
4248
4425
|
}
|
|
4249
4426
|
if (_enableAutoRouteTracking) {
|
|
4250
4427
|
var distributedTraceCtx = _getDistributedTraceCtx();
|
|
@@ -4254,10 +4431,10 @@
|
|
|
4254
4431
|
if (locn && locn.pathname) {
|
|
4255
4432
|
traceLocationName = locn.pathname + (locn.hash || "");
|
|
4256
4433
|
}
|
|
4257
|
-
distributedTraceCtx.setName(dataSanitizeString(_self
|
|
4434
|
+
distributedTraceCtx.setName(dataSanitizeString(_self[_DYN_DIAG_LOG ](), traceLocationName));
|
|
4258
4435
|
}
|
|
4259
4436
|
setTimeout((function (uri) {
|
|
4260
|
-
_self
|
|
4437
|
+
_self[_DYN_TRACK_PAGE_VIEW ]({ refUri: uri, properties: { duration: 0 } });
|
|
4261
4438
|
}).bind(this, _prevUri), _self.autoRoutePVDelay);
|
|
4262
4439
|
}
|
|
4263
4440
|
}
|
|
@@ -4266,8 +4443,8 @@
|
|
|
4266
4443
|
ns: _evtNamespace,
|
|
4267
4444
|
rsp: function () {
|
|
4268
4445
|
if (_enableAutoRouteTracking) {
|
|
4269
|
-
_dispatchEvent(win, createDomEvent(
|
|
4270
|
-
_dispatchEvent(win, createDomEvent(
|
|
4446
|
+
_dispatchEvent(win, createDomEvent(namePrefix + "pushState"));
|
|
4447
|
+
_dispatchEvent(win, createDomEvent(namePrefix + "locationchange"));
|
|
4271
4448
|
}
|
|
4272
4449
|
}
|
|
4273
4450
|
}, true));
|
|
@@ -4275,24 +4452,24 @@
|
|
|
4275
4452
|
ns: _evtNamespace,
|
|
4276
4453
|
rsp: function () {
|
|
4277
4454
|
if (_enableAutoRouteTracking) {
|
|
4278
|
-
_dispatchEvent(win, createDomEvent(
|
|
4279
|
-
_dispatchEvent(win, createDomEvent(
|
|
4455
|
+
_dispatchEvent(win, createDomEvent(namePrefix + "replaceState"));
|
|
4456
|
+
_dispatchEvent(win, createDomEvent(namePrefix + "locationchange"));
|
|
4280
4457
|
}
|
|
4281
4458
|
}
|
|
4282
4459
|
}, true));
|
|
4283
|
-
eventOn(win,
|
|
4284
|
-
eventOn(win,
|
|
4460
|
+
eventOn(win, namePrefix + "popstate", _popstateHandler, _evtNamespace);
|
|
4461
|
+
eventOn(win, namePrefix + "locationchange", _locationChangeHandler, _evtNamespace);
|
|
4285
4462
|
_historyListenerAdded = true;
|
|
4286
4463
|
}
|
|
4287
4464
|
}
|
|
4288
4465
|
function _addUnhandledPromiseRejectionTracking(extConfig, _window, _location) {
|
|
4289
|
-
_enableUnhandledPromiseRejectionTracking = extConfig
|
|
4466
|
+
_enableUnhandledPromiseRejectionTracking = extConfig[_DYN_ENABLE_UNHANDLED_PRO3 ] === true;
|
|
4290
4467
|
if (_enableUnhandledPromiseRejectionTracking && !_autoUnhandledPromiseInstrumented) {
|
|
4291
4468
|
_addHook(InstrumentEvent(_window, "onunhandledrejection", {
|
|
4292
4469
|
ns: _evtNamespace,
|
|
4293
4470
|
rsp: function (callDetails, error) {
|
|
4294
4471
|
if (_enableUnhandledPromiseRejectionTracking && callDetails.rslt !== true) {
|
|
4295
|
-
_self
|
|
4472
|
+
_self[_DYN__ONERROR ](Exception[_DYN__CREATE_AUTO_EXCEPTI14 ](_getReason(error), _location ? _location[_DYN_HREF ] : "", 0, 0, error, callDetails.evt));
|
|
4296
4473
|
}
|
|
4297
4474
|
}
|
|
4298
4475
|
}, false));
|
|
@@ -4301,7 +4478,7 @@
|
|
|
4301
4478
|
}
|
|
4302
4479
|
}
|
|
4303
4480
|
function _throwInternal(severity, msgId, msg, properties, isUserAct) {
|
|
4304
|
-
_self
|
|
4481
|
+
_self[_DYN_DIAG_LOG ]().throwInternal(severity, msgId, msg, properties, isUserAct);
|
|
4305
4482
|
}
|
|
4306
4483
|
function _initDefaults() {
|
|
4307
4484
|
_eventTracking = null;
|
|
@@ -4319,7 +4496,7 @@
|
|
|
4319
4496
|
_enableUnhandledPromiseRejectionTracking = false;
|
|
4320
4497
|
_autoUnhandledPromiseInstrumented = false;
|
|
4321
4498
|
var location = getLocation(true);
|
|
4322
|
-
_prevUri = location && location
|
|
4499
|
+
_prevUri = location && location[_DYN_HREF ] || "";
|
|
4323
4500
|
_currUri = null;
|
|
4324
4501
|
_evtNamespace = null;
|
|
4325
4502
|
}
|
|
@@ -4330,7 +4507,7 @@
|
|
|
4330
4507
|
});
|
|
4331
4508
|
return _this;
|
|
4332
4509
|
}
|
|
4333
|
-
AnalyticsPlugin.Version = "2.8.5-nightly.
|
|
4510
|
+
AnalyticsPlugin.Version = "2.8.5-nightly.2207-02";
|
|
4334
4511
|
AnalyticsPlugin.getDefaultConfig = _getDefaultConfig;
|
|
4335
4512
|
return AnalyticsPlugin;
|
|
4336
4513
|
}(BaseTelemetryPlugin));
|