@microsoft/1ds-post-js 3.2.1 → 3.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/README.md +1 -1
  2. package/bundle/{ms.post-3.2.1.gbl.js → ms.post-3.2.4.gbl.js} +1071 -966
  3. package/bundle/ms.post-3.2.4.gbl.js.map +1 -0
  4. package/bundle/ms.post-3.2.4.gbl.min.js +7 -0
  5. package/bundle/ms.post-3.2.4.gbl.min.js.map +1 -0
  6. package/bundle/ms.post-3.2.4.integrity.json +46 -0
  7. package/bundle/{ms.post-3.2.1.js → ms.post-3.2.4.js} +1071 -966
  8. package/bundle/ms.post-3.2.4.js.map +1 -0
  9. package/bundle/ms.post-3.2.4.min.js +7 -0
  10. package/bundle/ms.post-3.2.4.min.js.map +1 -0
  11. package/bundle/ms.post.gbl.js +1070 -965
  12. package/bundle/ms.post.gbl.js.map +1 -1
  13. package/bundle/ms.post.gbl.min.js +2 -2
  14. package/bundle/ms.post.gbl.min.js.map +1 -1
  15. package/bundle/ms.post.integrity.json +17 -17
  16. package/bundle/ms.post.js +1070 -965
  17. package/bundle/ms.post.js.map +1 -1
  18. package/bundle/ms.post.min.js +2 -2
  19. package/bundle/ms.post.min.js.map +1 -1
  20. package/dist/ms.post.js +251 -212
  21. package/dist/ms.post.js.map +1 -1
  22. package/dist/ms.post.min.js +2 -2
  23. package/dist/ms.post.min.js.map +1 -1
  24. package/dist-esm/src/BatchNotificationActions.js +1 -1
  25. package/dist-esm/src/ClockSkewManager.js +6 -1
  26. package/dist-esm/src/ClockSkewManager.js.map +1 -1
  27. package/dist-esm/src/DataModels.js +1 -1
  28. package/dist-esm/src/EventBatch.d.ts +0 -5
  29. package/dist-esm/src/EventBatch.js +9 -4
  30. package/dist-esm/src/EventBatch.js.map +1 -1
  31. package/dist-esm/src/HttpManager.d.ts +4 -8
  32. package/dist-esm/src/HttpManager.js +120 -112
  33. package/dist-esm/src/HttpManager.js.map +1 -1
  34. package/dist-esm/src/Index.js +1 -1
  35. package/dist-esm/src/InternalConstants.d.ts +27 -0
  36. package/dist-esm/src/InternalConstants.js +40 -0
  37. package/dist-esm/src/InternalConstants.js.map +1 -0
  38. package/dist-esm/src/KillSwitch.js +7 -2
  39. package/dist-esm/src/KillSwitch.js.map +1 -1
  40. package/dist-esm/src/PostChannel.d.ts +3 -6
  41. package/dist-esm/src/PostChannel.js +97 -73
  42. package/dist-esm/src/PostChannel.js.map +1 -1
  43. package/dist-esm/src/RetryPolicy.js +1 -1
  44. package/dist-esm/src/Serializer.d.ts +1 -1
  45. package/dist-esm/src/Serializer.js +9 -3
  46. package/dist-esm/src/Serializer.js.map +1 -1
  47. package/dist-esm/src/TimeoutOverrideWrapper.d.ts +18 -0
  48. package/dist-esm/src/TimeoutOverrideWrapper.js +28 -0
  49. package/dist-esm/src/TimeoutOverrideWrapper.js.map +1 -0
  50. package/dist-esm/src/typings/XDomainRequest.js +1 -1
  51. package/package.json +5 -3
  52. package/src/EventBatch.ts +4 -4
  53. package/src/HttpManager.ts +74 -71
  54. package/src/InternalConstants.ts +41 -0
  55. package/src/KillSwitch.ts +1 -1
  56. package/src/PostChannel.ts +72 -44
  57. package/src/Serializer.ts +7 -5
  58. package/src/TimeoutOverrideWrapper.ts +29 -0
  59. package/bundle/ms.post-3.2.1.gbl.js.map +0 -1
  60. package/bundle/ms.post-3.2.1.gbl.min.js +0 -7
  61. package/bundle/ms.post-3.2.1.gbl.min.js.map +0 -1
  62. package/bundle/ms.post-3.2.1.integrity.json +0 -46
  63. package/bundle/ms.post-3.2.1.js.map +0 -1
  64. package/bundle/ms.post-3.2.1.min.js +0 -7
  65. package/bundle/ms.post-3.2.1.min.js.map +0 -1
  66. package/dist-esm/src/Constants.d.ts +0 -25
  67. package/dist-esm/src/Constants.js +0 -31
  68. package/dist-esm/src/Constants.js.map +0 -1
  69. package/src/Constants.ts +0 -28
package/bundle/ms.post.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * 1DS JS SDK POST plugin, 3.2.1
2
+ * 1DS JS SDK POST plugin, 3.2.4
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  * (Microsoft Internal Only)
5
5
  */
@@ -83,20 +83,309 @@
83
83
  d[strShimPrototype] = b === null ? objCreateFn(b) : (__[strShimPrototype] = b[strShimPrototype], new __());
84
84
  }
85
85
 
86
- var strEmpty = "";
87
- var strSetNextPlugin = "setNextPlugin";
88
- var strIsInitialized = "isInitialized";
89
- var strTeardown = "teardown";
90
- var strCore = "core";
91
- var strUpdate = "update";
92
- var strDisabled = "disabled";
93
- var strDoTeardown = "_doTeardown";
86
+ /*!
87
+ * Microsoft Dynamic Proto Utility, 1.1.6
88
+ * Copyright (c) Microsoft and contributors. All rights reserved.
89
+ */
90
+ var Constructor = 'constructor';
91
+ var Prototype = 'prototype';
92
+ var strFunction = 'function';
93
+ var DynInstFuncTable = '_dynInstFuncs';
94
+ var DynProxyTag = '_isDynProxy';
95
+ var DynClassName = '_dynClass';
96
+ var DynClassNamePrefix = '_dynCls$';
97
+ var DynInstChkTag = '_dynInstChk';
98
+ var DynAllowInstChkTag = DynInstChkTag;
99
+ var DynProtoDefaultOptions = '_dfOpts';
100
+ var UnknownValue = '_unknown_';
101
+ var str__Proto$1 = "__proto__";
102
+ var DynProtoBaseProto = "_dyn" + str__Proto$1;
103
+ var DynProtoCurrent = "_dynInstProto";
104
+ var strUseBaseInst = 'useBaseInst';
105
+ var strSetInstFuncs = 'setInstFuncs';
106
+ var Obj = Object;
107
+ var _objGetPrototypeOf$1 = Obj["getPrototypeOf"];
108
+ var _objGetOwnProps = Obj["getOwnPropertyNames"];
109
+ var _dynamicNames = 0;
110
+ function _hasOwnProperty(obj, prop) {
111
+ return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);
112
+ }
113
+ function _isObjectOrArrayPrototype(target) {
114
+ return target && (target === Obj[Prototype] || target === Array[Prototype]);
115
+ }
116
+ function _isObjectArrayOrFunctionPrototype(target) {
117
+ return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
118
+ }
119
+ function _getObjProto$1(target) {
120
+ var newProto;
121
+ if (target) {
122
+ if (_objGetPrototypeOf$1) {
123
+ return _objGetPrototypeOf$1(target);
124
+ }
125
+ var curProto = target[str__Proto$1] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
126
+ newProto = target[DynProtoBaseProto] || curProto;
127
+ if (!_hasOwnProperty(target, DynProtoBaseProto)) {
128
+ delete target[DynProtoCurrent];
129
+ newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];
130
+ target[DynProtoCurrent] = curProto;
131
+ }
132
+ }
133
+ return newProto;
134
+ }
135
+ function _forEachProp(target, func) {
136
+ var props = [];
137
+ if (_objGetOwnProps) {
138
+ props = _objGetOwnProps(target);
139
+ }
140
+ else {
141
+ for (var name_1 in target) {
142
+ if (typeof name_1 === "string" && _hasOwnProperty(target, name_1)) {
143
+ props.push(name_1);
144
+ }
145
+ }
146
+ }
147
+ if (props && props.length > 0) {
148
+ for (var lp = 0; lp < props.length; lp++) {
149
+ func(props[lp]);
150
+ }
151
+ }
152
+ }
153
+ function _isDynamicCandidate(target, funcName, skipOwn) {
154
+ return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || _hasOwnProperty(target, funcName)));
155
+ }
156
+ function _throwTypeError(message) {
157
+ throw new TypeError("DynamicProto: " + message);
158
+ }
159
+ function _getInstanceFuncs(thisTarget) {
160
+ var instFuncs = {};
161
+ _forEachProp(thisTarget, function (name) {
162
+ if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
163
+ instFuncs[name] = thisTarget[name];
164
+ }
165
+ });
166
+ return instFuncs;
167
+ }
168
+ function _hasVisited(values, value) {
169
+ for (var lp = values.length - 1; lp >= 0; lp--) {
170
+ if (values[lp] === value) {
171
+ return true;
172
+ }
173
+ }
174
+ return false;
175
+ }
176
+ function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
177
+ function _instFuncProxy(target, funcHost, funcName) {
178
+ var theFunc = funcHost[funcName];
179
+ if (theFunc[DynProxyTag] && useBaseInst) {
180
+ var instFuncTable = target[DynInstFuncTable] || {};
181
+ if (instFuncTable[DynAllowInstChkTag] !== false) {
182
+ theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;
183
+ }
184
+ }
185
+ return function () {
186
+ return theFunc.apply(target, arguments);
187
+ };
188
+ }
189
+ var baseFuncs = {};
190
+ _forEachProp(instFuncs, function (name) {
191
+ baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
192
+ });
193
+ var baseProto = _getObjProto$1(classProto);
194
+ var visited = [];
195
+ while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {
196
+ _forEachProp(baseProto, function (name) {
197
+ if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf$1)) {
198
+ baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);
199
+ }
200
+ });
201
+ visited.push(baseProto);
202
+ baseProto = _getObjProto$1(baseProto);
203
+ }
204
+ return baseFuncs;
205
+ }
206
+ function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
207
+ var instFunc = null;
208
+ if (target && _hasOwnProperty(proto, DynClassName)) {
209
+ var instFuncTable = target[DynInstFuncTable] || {};
210
+ instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
211
+ if (!instFunc) {
212
+ _throwTypeError("Missing [" + funcName + "] " + strFunction);
213
+ }
214
+ if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {
215
+ var canAddInst = !_hasOwnProperty(target, funcName);
216
+ var objProto = _getObjProto$1(target);
217
+ var visited = [];
218
+ while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {
219
+ var protoFunc = objProto[funcName];
220
+ if (protoFunc) {
221
+ canAddInst = (protoFunc === currentDynProtoProxy);
222
+ break;
223
+ }
224
+ visited.push(objProto);
225
+ objProto = _getObjProto$1(objProto);
226
+ }
227
+ try {
228
+ if (canAddInst) {
229
+ target[funcName] = instFunc;
230
+ }
231
+ instFunc[DynInstChkTag] = 1;
232
+ }
233
+ catch (e) {
234
+ instFuncTable[DynAllowInstChkTag] = false;
235
+ }
236
+ }
237
+ }
238
+ return instFunc;
239
+ }
240
+ function _getProtoFunc(funcName, proto, currentDynProtoProxy) {
241
+ var protoFunc = proto[funcName];
242
+ if (protoFunc === currentDynProtoProxy) {
243
+ protoFunc = _getObjProto$1(proto)[funcName];
244
+ }
245
+ if (typeof protoFunc !== strFunction) {
246
+ _throwTypeError("[" + funcName + "] is not a " + strFunction);
247
+ }
248
+ return protoFunc;
249
+ }
250
+ function _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {
251
+ function _createDynamicPrototype(proto, funcName) {
252
+ var dynProtoProxy = function () {
253
+ var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);
254
+ return instFunc.apply(this, arguments);
255
+ };
256
+ dynProtoProxy[DynProxyTag] = 1;
257
+ return dynProtoProxy;
258
+ }
259
+ if (!_isObjectOrArrayPrototype(proto)) {
260
+ var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
261
+ var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
262
+ if (instFuncTable[DynAllowInstChkTag] !== false) {
263
+ instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
264
+ }
265
+ _forEachProp(target, function (name) {
266
+ if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
267
+ instFuncs_1[name] = target[name];
268
+ delete target[name];
269
+ if (!_hasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
270
+ proto[name] = _createDynamicPrototype(proto, name);
271
+ }
272
+ }
273
+ });
274
+ }
275
+ }
276
+ function _checkPrototype(classProto, thisTarget) {
277
+ if (_objGetPrototypeOf$1) {
278
+ var visited = [];
279
+ var thisProto = _getObjProto$1(thisTarget);
280
+ while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {
281
+ if (thisProto === classProto) {
282
+ return true;
283
+ }
284
+ visited.push(thisProto);
285
+ thisProto = _getObjProto$1(thisProto);
286
+ }
287
+ return false;
288
+ }
289
+ return true;
290
+ }
291
+ function _getObjName(target, unknownValue) {
292
+ if (_hasOwnProperty(target, Prototype)) {
293
+ return target.name || unknownValue || UnknownValue;
294
+ }
295
+ return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;
296
+ }
297
+ function dynamicProto(theClass, target, delegateFunc, options) {
298
+ if (!_hasOwnProperty(theClass, Prototype)) {
299
+ _throwTypeError("theClass is an invalid class definition.");
300
+ }
301
+ var classProto = theClass[Prototype];
302
+ if (!_checkPrototype(classProto, target)) {
303
+ _throwTypeError("[" + _getObjName(theClass) + "] is not in class hierarchy of [" + _getObjName(target) + "]");
304
+ }
305
+ var className = null;
306
+ if (_hasOwnProperty(classProto, DynClassName)) {
307
+ className = classProto[DynClassName];
308
+ }
309
+ else {
310
+ className = DynClassNamePrefix + _getObjName(theClass, "_") + "$" + _dynamicNames;
311
+ _dynamicNames++;
312
+ classProto[DynClassName] = className;
313
+ }
314
+ var perfOptions = dynamicProto[DynProtoDefaultOptions];
315
+ var useBaseInst = !!perfOptions[strUseBaseInst];
316
+ if (useBaseInst && options && options[strUseBaseInst] !== undefined) {
317
+ useBaseInst = !!options[strUseBaseInst];
318
+ }
319
+ var instFuncs = _getInstanceFuncs(target);
320
+ var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);
321
+ delegateFunc(target, baseFuncs);
322
+ var setInstanceFunc = !!_objGetPrototypeOf$1 && !!perfOptions[strSetInstFuncs];
323
+ if (setInstanceFunc && options) {
324
+ setInstanceFunc = !!options[strSetInstFuncs];
325
+ }
326
+ _populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);
327
+ }
328
+ var perfDefaults = {
329
+ setInstFuncs: true,
330
+ useBaseInst: true
331
+ };
332
+ dynamicProto[DynProtoDefaultOptions] = perfDefaults;
333
+
334
+ var _DYN_INITIALIZE = "initialize";
335
+ var _DYN_NAME = "name";
336
+ var _DYN_IDENTIFIER = "identifier";
337
+ var _DYN_PUSH = "push";
338
+ var _DYN_IS_INITIALIZED = "isInitialized";
339
+ var _DYN_CONFIG = "config";
340
+ var _DYN_LOGGER = "logger";
341
+ var _DYN_LENGTH = "length";
342
+ var _DYN_TIME = "time";
343
+ var _DYN_PROCESS_NEXT = "processNext";
344
+ var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
345
+ var _DYN_GET_PLUGIN = "getPlugin";
346
+ var _DYN_SPLICE = "splice";
347
+ var _DYN_TEARDOWN = "teardown";
348
+ var _DYN_MESSAGE_ID = "messageId";
349
+ var _DYN_MESSAGE = "message";
350
+ var _DYN_IS_ASYNC = "isAsync";
351
+ var _DYN__DO_TEARDOWN = "_doTeardown";
352
+ var _DYN_UPDATE = "update";
353
+ var _DYN_GET_NEXT = "getNext";
354
+ var _DYN_DIAG_LOG = "diagLog";
355
+ var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
356
+ var _DYN_CREATE_NEW = "createNew";
357
+ var _DYN_INDEX_OF = "indexOf";
358
+ var _DYN_USER_AGENT = "userAgent";
359
+ var _DYN_SPLIT = "split";
360
+ var _DYN_REPLACE = "replace";
361
+ var _DYN_NODE_TYPE = "nodeType";
362
+ var _DYN_APPLY = "apply";
363
+ var _DYN_ENABLE_DEBUG_EXCEPTI4 = "enableDebugExceptions";
364
+ var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
365
+ var _DYN_TO_LOWER_CASE = "toLowerCase";
366
+ var _DYN_CALL = "call";
367
+ var _DYN_TYPE = "type";
368
+ var _DYN_HANDLER = "handler";
369
+ var _DYN_IS_CHILD_EVT = "isChildEvt";
370
+ var _DYN_GET_CTX = "getCtx";
371
+ var _DYN_SET_CTX = "setCtx";
372
+ var _DYN_COMPLETE = "complete";
373
+
374
+ var STR_EMPTY$1 = "";
375
+ var STR_CORE = "core";
376
+ var STR_DISABLED = "disabled";
377
+ var STR_EXTENSION_CONFIG = "extensionConfig";
378
+ var STR_PROCESS_TELEMETRY = "processTelemetry";
379
+ var STR_PRIORITY = "priority";
380
+ var STR_ERROR_TO_CONSOLE = "errorToConsole";
381
+ var STR_WARN_TO_CONSOLE = "warnToConsole";
382
+ var STR_GET_PERF_MGR = "getPerfMgr";
94
383
 
95
384
  var cStrStartsWith = "startsWith";
96
385
  var strIndexOf = "indexOf";
97
386
  var cStrTrim = "trim";
98
387
  var strToString = "toString";
99
- var str__Proto$1 = "__proto__";
388
+ var str__Proto = "__proto__";
100
389
  var strConstructor = "constructor";
101
390
  var _objDefineProperty$1 = ObjDefineProperty;
102
391
  var _objFreeze = ObjClass.freeze;
@@ -107,17 +396,17 @@
107
396
  var _isArray = Array.isArray;
108
397
  var _objToString = ObjProto[strToString];
109
398
  var _fnToString = ObjHasOwnProperty[strToString];
110
- var _objFunctionString = _fnToString.call(ObjClass);
399
+ var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass);
111
400
  var rCamelCase = /-([a-z])/g;
112
401
  var rNormalizeInvalid = /([^\w\d_$])/g;
113
402
  var rLeadingNumeric = /^(\d+[\w\d_$])/;
114
- var _objGetPrototypeOf$1 = Object["getPrototypeOf"];
115
- function _getObjProto$1(target) {
403
+ var _objGetPrototypeOf = Object["getPrototypeOf"];
404
+ function _getObjProto(target) {
116
405
  if (target) {
117
- if (_objGetPrototypeOf$1) {
118
- return _objGetPrototypeOf$1(target);
406
+ if (_objGetPrototypeOf) {
407
+ return _objGetPrototypeOf(target);
119
408
  }
120
- var newProto = target[str__Proto$1] || target[strShimPrototype] || target[strConstructor];
409
+ var newProto = target[str__Proto] || target[strShimPrototype] || target[strConstructor];
121
410
  if (newProto) {
122
411
  return newProto;
123
412
  }
@@ -131,7 +420,7 @@
131
420
  return (value === null || isUndefined(value));
132
421
  }
133
422
  function hasOwnProperty(obj, prop) {
134
- return !!(obj && ObjHasOwnProperty.call(obj, prop));
423
+ return !!(obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop));
135
424
  }
136
425
  function isObject(value) {
137
426
  return !!(value && typeof value === strShimObject);
@@ -142,11 +431,11 @@
142
431
  function normalizeJsName(name) {
143
432
  var value = name;
144
433
  if (value && isString(value)) {
145
- value = value.replace(rCamelCase, function (_all, letter) {
434
+ value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
146
435
  return letter.toUpperCase();
147
436
  });
148
- value = value.replace(rNormalizeInvalid, "_");
149
- value = value.replace(rLeadingNumeric, function (_all, match) {
437
+ value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
438
+ value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
150
439
  return "_" + match;
151
440
  });
152
441
  }
@@ -155,8 +444,8 @@
155
444
  function objForEachKey(target, callbackfn) {
156
445
  if (target) {
157
446
  for (var prop in target) {
158
- if (ObjHasOwnProperty.call(target, prop)) {
159
- callbackfn.call(target, prop, target[prop]);
447
+ if (ObjHasOwnProperty[_DYN_CALL ](target, prop)) {
448
+ callbackfn[_DYN_CALL ](target, prop, target[prop]);
160
449
  }
161
450
  }
162
451
  }
@@ -170,8 +459,8 @@
170
459
  }
171
460
  function _strStartsWithPoly(value, checkValue) {
172
461
  var result = false;
173
- var chkLen = checkValue ? checkValue.length : 0;
174
- if (value && chkLen && value.length >= chkLen && !(result = value === checkValue)) {
462
+ var chkLen = checkValue ? checkValue[_DYN_LENGTH ] : 0;
463
+ if (value && chkLen && value[_DYN_LENGTH ] >= chkLen && !(result = value === checkValue)) {
175
464
  for (var lp = 0; lp < chkLen; lp++) {
176
465
  if (value[lp] !== checkValue[lp]) {
177
466
  return false;
@@ -183,13 +472,13 @@
183
472
  }
184
473
  function strContains(value, search) {
185
474
  if (value && search) {
186
- return value.indexOf(search) !== -1;
475
+ return value[_DYN_INDEX_OF ](search) !== -1;
187
476
  }
188
477
  return false;
189
478
  }
190
479
  var isArray = _isArray || _isArrayPoly;
191
480
  function _isArrayPoly(obj) {
192
- return !!(obj && _objToString.call(obj) === "[object Array]");
481
+ return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Array]");
193
482
  }
194
483
  function isString(value) {
195
484
  return typeof value === "string";
@@ -203,25 +492,25 @@
203
492
  function isPlainObject(value) {
204
493
  var result = false;
205
494
  if (value && typeof value === "object") {
206
- var proto = _objGetPrototypeOf$1 ? _objGetPrototypeOf$1(value) : _getObjProto$1(value);
495
+ var proto = _objGetPrototypeOf ? _objGetPrototypeOf(value) : _getObjProto(value);
207
496
  if (!proto) {
208
497
  result = true;
209
498
  }
210
499
  else {
211
- if (proto[strConstructor] && ObjHasOwnProperty.call(proto, strConstructor)) {
500
+ if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL ](proto, strConstructor)) {
212
501
  proto = proto[strConstructor];
213
502
  }
214
- result = typeof proto === strShimFunction && _fnToString.call(proto) === _objFunctionString;
503
+ result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
215
504
  }
216
505
  }
217
506
  return result;
218
507
  }
219
508
  function arrForEach(arr, callbackfn, thisArg) {
220
- var len = arr.length;
509
+ var len = arr[_DYN_LENGTH ];
221
510
  try {
222
511
  for (var idx = 0; idx < len; idx++) {
223
512
  if (idx in arr) {
224
- if (callbackfn.call(thisArg || arr, arr[idx], idx, arr) === -1) {
513
+ if (callbackfn[_DYN_CALL ](thisArg || arr, arr[idx], idx, arr) === -1) {
225
514
  break;
226
515
  }
227
516
  }
@@ -235,7 +524,7 @@
235
524
  if (arr[strIndexOf]) {
236
525
  return arr[strIndexOf](searchElement, fromIndex);
237
526
  }
238
- var len = arr.length;
527
+ var len = arr[_DYN_LENGTH ];
239
528
  var from = fromIndex || 0;
240
529
  try {
241
530
  for (var lp = Math.max(from >= 0 ? from : len - Math.abs(from), 0); lp < len; lp++) {
@@ -251,7 +540,7 @@
251
540
  }
252
541
  function strTrim(str) {
253
542
  if (str) {
254
- str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str.replace ? str.replace(/^\s+|\s+$/g, "") : str);
543
+ str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str[_DYN_REPLACE ] ? str[_DYN_REPLACE ](/^\s+|\s+$/g, STR_EMPTY$1) : str);
255
544
  }
256
545
  return str;
257
546
  }
@@ -275,15 +564,15 @@
275
564
  }
276
565
  var result = [];
277
566
  for (var prop in obj) {
278
- if (obj && ObjHasOwnProperty.call(obj, prop)) {
279
- result.push(prop);
567
+ if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop)) {
568
+ result[_DYN_PUSH ](prop);
280
569
  }
281
570
  }
282
571
  if (_objKeysHasDontEnumBug) {
283
- var dontEnumsLength = _objKeysDontEnums.length;
572
+ var dontEnumsLength = _objKeysDontEnums[_DYN_LENGTH ];
284
573
  for (var lp = 0; lp < dontEnumsLength; lp++) {
285
- if (obj && ObjHasOwnProperty.call(obj, _objKeysDontEnums[lp])) {
286
- result.push(_objKeysDontEnums[lp]);
574
+ if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, _objKeysDontEnums[lp])) {
575
+ result[_DYN_PUSH ](_objKeysDontEnums[lp]);
287
576
  }
288
577
  }
289
578
  }
@@ -339,6 +628,9 @@
339
628
  }
340
629
  return theValue;
341
630
  }
631
+ function getCfgValue(theValue, defaultValue) {
632
+ return !isNullOrUndefined(theValue) ? theValue : defaultValue;
633
+ }
342
634
  function _createProxyFunction(source, funcName) {
343
635
  var srcFunc = null;
344
636
  var src = null;
@@ -354,7 +646,7 @@
354
646
  src = srcFunc();
355
647
  }
356
648
  if (src) {
357
- return src[funcName].apply(src, originalArguments);
649
+ return src[funcName][_DYN_APPLY ](src, originalArguments);
358
650
  }
359
651
  };
360
652
  }
@@ -374,7 +666,7 @@
374
666
  function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
375
667
  var theArgs = arguments;
376
668
  var extended = theArgs[0] || {};
377
- var argLen = theArgs.length;
669
+ var argLen = theArgs[_DYN_LENGTH ];
378
670
  var deep = false;
379
671
  var idx = 1;
380
672
  if (argLen > 0 && isBoolean(extended)) {
@@ -390,7 +682,7 @@
390
682
  var isArgArray = isArray(arg);
391
683
  var isArgObj = isObject(arg);
392
684
  for (var prop in arg) {
393
- var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty.call(arg, prop)));
685
+ var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty[_DYN_CALL ](arg, prop)));
394
686
  if (!propOk) {
395
687
  continue;
396
688
  }
@@ -434,247 +726,6 @@
434
726
  QueueFull: 5
435
727
  });
436
728
 
437
- /*!
438
- * Microsoft Dynamic Proto Utility, 1.1.4
439
- * Copyright (c) Microsoft and contributors. All rights reserved.
440
- */
441
- var Constructor = 'constructor';
442
- var Prototype = 'prototype';
443
- var strFunction = 'function';
444
- var DynInstFuncTable = '_dynInstFuncs';
445
- var DynProxyTag = '_isDynProxy';
446
- var DynClassName = '_dynClass';
447
- var DynClassNamePrefix = '_dynCls$';
448
- var DynInstChkTag = '_dynInstChk';
449
- var DynAllowInstChkTag = DynInstChkTag;
450
- var DynProtoDefaultOptions = '_dfOpts';
451
- var UnknownValue = '_unknown_';
452
- var str__Proto = "__proto__";
453
- var strUseBaseInst = 'useBaseInst';
454
- var strSetInstFuncs = 'setInstFuncs';
455
- var Obj = Object;
456
- var _objGetPrototypeOf = Obj["getPrototypeOf"];
457
- var _dynamicNames = 0;
458
- function _hasOwnProperty(obj, prop) {
459
- return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);
460
- }
461
- function _isObjectOrArrayPrototype(target) {
462
- return target && (target === Obj[Prototype] || target === Array[Prototype]);
463
- }
464
- function _isObjectArrayOrFunctionPrototype(target) {
465
- return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
466
- }
467
- function _getObjProto(target) {
468
- if (target) {
469
- if (_objGetPrototypeOf) {
470
- return _objGetPrototypeOf(target);
471
- }
472
- var newProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
473
- if (newProto) {
474
- return newProto;
475
- }
476
- }
477
- return null;
478
- }
479
- function _forEachProp(target, func) {
480
- var props = [];
481
- var getOwnProps = Obj["getOwnPropertyNames"];
482
- if (getOwnProps) {
483
- props = getOwnProps(target);
484
- }
485
- else {
486
- for (var name_1 in target) {
487
- if (typeof name_1 === "string" && _hasOwnProperty(target, name_1)) {
488
- props.push(name_1);
489
- }
490
- }
491
- }
492
- if (props && props.length > 0) {
493
- for (var lp = 0; lp < props.length; lp++) {
494
- func(props[lp]);
495
- }
496
- }
497
- }
498
- function _isDynamicCandidate(target, funcName, skipOwn) {
499
- return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || _hasOwnProperty(target, funcName)));
500
- }
501
- function _throwTypeError(message) {
502
- throw new TypeError("DynamicProto: " + message);
503
- }
504
- function _getInstanceFuncs(thisTarget) {
505
- var instFuncs = {};
506
- _forEachProp(thisTarget, function (name) {
507
- if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
508
- instFuncs[name] = thisTarget[name];
509
- }
510
- });
511
- return instFuncs;
512
- }
513
- function _hasVisited(values, value) {
514
- for (var lp = values.length - 1; lp >= 0; lp--) {
515
- if (values[lp] === value) {
516
- return true;
517
- }
518
- }
519
- return false;
520
- }
521
- function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
522
- function _instFuncProxy(target, funcHost, funcName) {
523
- var theFunc = funcHost[funcName];
524
- if (theFunc[DynProxyTag] && useBaseInst) {
525
- var instFuncTable = target[DynInstFuncTable] || {};
526
- if (instFuncTable[DynAllowInstChkTag] !== false) {
527
- theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;
528
- }
529
- }
530
- return function () {
531
- return theFunc.apply(target, arguments);
532
- };
533
- }
534
- var baseFuncs = {};
535
- _forEachProp(instFuncs, function (name) {
536
- baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
537
- });
538
- var baseProto = _getObjProto(classProto);
539
- var visited = [];
540
- while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {
541
- _forEachProp(baseProto, function (name) {
542
- if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {
543
- baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);
544
- }
545
- });
546
- visited.push(baseProto);
547
- baseProto = _getObjProto(baseProto);
548
- }
549
- return baseFuncs;
550
- }
551
- function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
552
- var instFunc = null;
553
- if (target && _hasOwnProperty(proto, DynClassName)) {
554
- var instFuncTable = target[DynInstFuncTable] || {};
555
- instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
556
- if (!instFunc) {
557
- _throwTypeError("Missing [" + funcName + "] " + strFunction);
558
- }
559
- if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {
560
- var canAddInst = !_hasOwnProperty(target, funcName);
561
- var objProto = _getObjProto(target);
562
- var visited = [];
563
- while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {
564
- var protoFunc = objProto[funcName];
565
- if (protoFunc) {
566
- canAddInst = (protoFunc === currentDynProtoProxy);
567
- break;
568
- }
569
- visited.push(objProto);
570
- objProto = _getObjProto(objProto);
571
- }
572
- try {
573
- if (canAddInst) {
574
- target[funcName] = instFunc;
575
- }
576
- instFunc[DynInstChkTag] = 1;
577
- }
578
- catch (e) {
579
- instFuncTable[DynAllowInstChkTag] = false;
580
- }
581
- }
582
- }
583
- return instFunc;
584
- }
585
- function _getProtoFunc(funcName, proto, currentDynProtoProxy) {
586
- var protoFunc = proto[funcName];
587
- if (protoFunc === currentDynProtoProxy) {
588
- protoFunc = _getObjProto(proto)[funcName];
589
- }
590
- if (typeof protoFunc !== strFunction) {
591
- _throwTypeError("[" + funcName + "] is not a " + strFunction);
592
- }
593
- return protoFunc;
594
- }
595
- function _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {
596
- function _createDynamicPrototype(proto, funcName) {
597
- var dynProtoProxy = function () {
598
- var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);
599
- return instFunc.apply(this, arguments);
600
- };
601
- dynProtoProxy[DynProxyTag] = 1;
602
- return dynProtoProxy;
603
- }
604
- if (!_isObjectOrArrayPrototype(proto)) {
605
- var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
606
- var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
607
- if (instFuncTable[DynAllowInstChkTag] !== false) {
608
- instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
609
- }
610
- _forEachProp(target, function (name) {
611
- if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
612
- instFuncs_1[name] = target[name];
613
- delete target[name];
614
- if (!_hasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
615
- proto[name] = _createDynamicPrototype(proto, name);
616
- }
617
- }
618
- });
619
- }
620
- }
621
- function _checkPrototype(classProto, thisTarget) {
622
- if (_objGetPrototypeOf) {
623
- var visited = [];
624
- var thisProto = _getObjProto(thisTarget);
625
- while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {
626
- if (thisProto === classProto) {
627
- return true;
628
- }
629
- visited.push(thisProto);
630
- thisProto = _getObjProto(thisProto);
631
- }
632
- }
633
- return false;
634
- }
635
- function _getObjName(target, unknownValue) {
636
- if (_hasOwnProperty(target, Prototype)) {
637
- return target.name || unknownValue || UnknownValue;
638
- }
639
- return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;
640
- }
641
- function dynamicProto(theClass, target, delegateFunc, options) {
642
- if (!_hasOwnProperty(theClass, Prototype)) {
643
- _throwTypeError("theClass is an invalid class definition.");
644
- }
645
- var classProto = theClass[Prototype];
646
- if (!_checkPrototype(classProto, target)) {
647
- _throwTypeError("[" + _getObjName(theClass) + "] is not in class hierarchy of [" + _getObjName(target) + "]");
648
- }
649
- var className = null;
650
- if (_hasOwnProperty(classProto, DynClassName)) {
651
- className = classProto[DynClassName];
652
- }
653
- else {
654
- className = DynClassNamePrefix + _getObjName(theClass, "_") + "$" + _dynamicNames;
655
- _dynamicNames++;
656
- classProto[DynClassName] = className;
657
- }
658
- var perfOptions = dynamicProto[DynProtoDefaultOptions];
659
- var useBaseInst = !!perfOptions[strUseBaseInst];
660
- if (useBaseInst && options && options[strUseBaseInst] !== undefined) {
661
- useBaseInst = !!options[strUseBaseInst];
662
- }
663
- var instFuncs = _getInstanceFuncs(target);
664
- var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);
665
- delegateFunc(target, baseFuncs);
666
- var setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];
667
- if (setInstanceFunc && options) {
668
- setInstanceFunc = !!options[strSetInstFuncs];
669
- }
670
- _populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);
671
- }
672
- var perfDefaults = {
673
- setInstFuncs: true,
674
- useBaseInst: true
675
- };
676
- dynamicProto[DynProtoDefaultOptions] = perfDefaults;
677
-
678
729
  var strWindow = "window";
679
730
  var strDocument = "document";
680
731
  var strNavigator = "navigator";
@@ -800,18 +851,18 @@
800
851
  }
801
852
  function isIE() {
802
853
  var nav = getNavigator();
803
- if (nav && (nav.userAgent !== _navUserAgentCheck || _isTrident === null)) {
804
- _navUserAgentCheck = nav.userAgent;
805
- var userAgent = (_navUserAgentCheck || strEmpty).toLowerCase();
854
+ if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
855
+ _navUserAgentCheck = nav[_DYN_USER_AGENT ];
856
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
806
857
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
807
858
  }
808
859
  return _isTrident;
809
860
  }
810
861
  function dumpObj(object) {
811
- var objectTypeDump = Object[strShimPrototype].toString.call(object);
812
- var propertyValueDump = strEmpty;
862
+ var objectTypeDump = Object[strShimPrototype].toString[_DYN_CALL ](object);
863
+ var propertyValueDump = STR_EMPTY$1;
813
864
  if (objectTypeDump === "[object Error]") {
814
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
865
+ propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object[_DYN_NAME ] + "'";
815
866
  }
816
867
  else if (hasJSON()) {
817
868
  propertyValueDump = getJSON().stringify(object);
@@ -876,13 +927,11 @@
876
927
  var AiNonUserActionablePrefix = "AI (Internal): ";
877
928
  var AiUserActionablePrefix = "AI: ";
878
929
  var AIInternalMessagePrefix = "AITR_";
879
- var strErrorToConsole = "errorToConsole";
880
- var strWarnToConsole = "warnToConsole";
881
930
  function _sanitizeDiagnosticText(text) {
882
931
  if (text) {
883
- return "\"" + text.replace(/\"/g, strEmpty) + "\"";
932
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
884
933
  }
885
- return strEmpty;
934
+ return STR_EMPTY$1;
886
935
  }
887
936
  function _logToConsole(func, message) {
888
937
  var theConsole = getConsole();
@@ -900,23 +949,23 @@
900
949
  function _InternalLogMessage(msgId, msg, isUserAct, properties) {
901
950
  if (isUserAct === void 0) { isUserAct = false; }
902
951
  var _self = this;
903
- _self.messageId = msgId;
904
- _self.message =
952
+ _self[_DYN_MESSAGE_ID ] = msgId;
953
+ _self[_DYN_MESSAGE ] =
905
954
  (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
906
955
  msgId;
907
- var strProps = strEmpty;
956
+ var strProps = STR_EMPTY$1;
908
957
  if (hasJSON()) {
909
958
  strProps = getJSON().stringify(properties);
910
959
  }
911
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : strEmpty) +
912
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : strEmpty);
913
- _self.message += diagnosticText;
960
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
961
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
962
+ _self[_DYN_MESSAGE ] += diagnosticText;
914
963
  }
915
964
  _InternalLogMessage.dataType = "MessageData";
916
965
  return _InternalLogMessage;
917
966
  }());
918
967
  function safeGetLogger(core, config) {
919
- return (core || {}).logger || new DiagnosticLogger(config);
968
+ return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
920
969
  }
921
970
  var DiagnosticLogger = /** @class */ (function () {
922
971
  function DiagnosticLogger(config) {
@@ -924,48 +973,49 @@
924
973
  this.queue = [];
925
974
  var _messageCount = 0;
926
975
  var _messageLogged = {};
976
+ var _loggingLevelConsole;
977
+ var _loggingLevelTelemetry;
978
+ var _maxInternalMessageLimit;
979
+ var _enableDebugExceptions;
927
980
  dynamicProto(DiagnosticLogger, this, function (_self) {
928
- if (isNullOrUndefined(config)) {
929
- config = {};
930
- }
931
- _self.consoleLoggingLevel = function () { return _getConfigValue("loggingLevelConsole", 0); };
932
- _self.telemetryLoggingLevel = function () { return _getConfigValue("loggingLevelTelemetry", 1); };
933
- _self.maxInternalMessageLimit = function () { return _getConfigValue("maxMessageLimit", 25); };
934
- _self.enableDebugExceptions = function () { return _getConfigValue("enableDebugExceptions", false); };
981
+ _setDefaultsFromConfig(config || {});
982
+ _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
983
+ _self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };
984
+ _self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
985
+ _self[_DYN_ENABLE_DEBUG_EXCEPTI4 ] = function () { return _enableDebugExceptions; };
935
986
  _self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
936
987
  if (isUserAct === void 0) { isUserAct = false; }
937
988
  var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
938
- if (_self.enableDebugExceptions()) {
939
- throw message;
989
+ if (_enableDebugExceptions) {
990
+ throw dumpObj(message);
940
991
  }
941
992
  else {
942
- var logFunc = severity === 1 ? strErrorToConsole : strWarnToConsole;
943
- if (!isUndefined(message.message)) {
944
- var logLevel = _self.consoleLoggingLevel();
993
+ var logFunc = severity === 1 ? STR_ERROR_TO_CONSOLE : STR_WARN_TO_CONSOLE;
994
+ if (!isUndefined(message[_DYN_MESSAGE ])) {
945
995
  if (isUserAct) {
946
- var messageKey = +message.messageId;
947
- if (!_messageLogged[messageKey] && logLevel >= severity) {
948
- _self[logFunc](message.message);
996
+ var messageKey = +message[_DYN_MESSAGE_ID ];
997
+ if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
998
+ _self[logFunc](message[_DYN_MESSAGE ]);
949
999
  _messageLogged[messageKey] = true;
950
1000
  }
951
1001
  }
952
1002
  else {
953
- if (logLevel >= severity) {
954
- _self[logFunc](message.message);
1003
+ if (_loggingLevelConsole >= severity) {
1004
+ _self[logFunc](message[_DYN_MESSAGE ]);
955
1005
  }
956
1006
  }
957
- _self.logInternalMessage(severity, message);
1007
+ _logInternalMessage(severity, message);
958
1008
  }
959
1009
  else {
960
1010
  _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
961
1011
  }
962
1012
  }
963
1013
  };
964
- _self.warnToConsole = function (message) {
1014
+ _self[STR_WARN_TO_CONSOLE ] = function (message) {
965
1015
  _logToConsole("warn", message);
966
1016
  _debugExtMsg("warning", message);
967
1017
  };
968
- _self.errorToConsole = function (message) {
1018
+ _self[STR_ERROR_TO_CONSOLE ] = function (message) {
969
1019
  _logToConsole("error", message);
970
1020
  _debugExtMsg("error", message);
971
1021
  };
@@ -973,12 +1023,13 @@
973
1023
  _messageCount = 0;
974
1024
  _messageLogged = {};
975
1025
  };
976
- _self.logInternalMessage = function (severity, message) {
1026
+ _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
1027
+ function _logInternalMessage(severity, message) {
977
1028
  if (_areInternalMessagesThrottled()) {
978
1029
  return;
979
1030
  }
980
1031
  var logMessage = true;
981
- var messageKey = AIInternalMessagePrefix + message.messageId;
1032
+ var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
982
1033
  if (_messageLogged[messageKey]) {
983
1034
  logMessage = false;
984
1035
  }
@@ -986,58 +1037,66 @@
986
1037
  _messageLogged[messageKey] = true;
987
1038
  }
988
1039
  if (logMessage) {
989
- if (severity <= _self.telemetryLoggingLevel()) {
990
- _self.queue.push(message);
1040
+ if (severity <= _loggingLevelTelemetry) {
1041
+ _self.queue[_DYN_PUSH ](message);
991
1042
  _messageCount++;
992
1043
  _debugExtMsg((severity === 1 ? "error" : "warn"), message);
993
1044
  }
994
- if (_messageCount === _self.maxInternalMessageLimit()) {
1045
+ if (_messageCount === _maxInternalMessageLimit) {
995
1046
  var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
996
1047
  var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
997
- _self.queue.push(throttleMessage);
1048
+ _self.queue[_DYN_PUSH ](throttleMessage);
998
1049
  if (severity === 1 ) {
999
- _self.errorToConsole(throttleLimitMessage);
1050
+ _self[STR_ERROR_TO_CONSOLE ](throttleLimitMessage);
1000
1051
  }
1001
1052
  else {
1002
- _self.warnToConsole(throttleLimitMessage);
1053
+ _self[STR_WARN_TO_CONSOLE ](throttleLimitMessage);
1003
1054
  }
1004
1055
  }
1005
1056
  }
1006
- };
1007
- function _getConfigValue(name, defValue) {
1008
- var value = config[name];
1009
- if (!isNullOrUndefined(value)) {
1010
- return value;
1011
- }
1012
- return defValue;
1057
+ }
1058
+ function _setDefaultsFromConfig(config) {
1059
+ _loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);
1060
+ _loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);
1061
+ _maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);
1062
+ _enableDebugExceptions = getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 ], false);
1013
1063
  }
1014
1064
  function _areInternalMessagesThrottled() {
1015
- return _messageCount >= _self.maxInternalMessageLimit();
1065
+ return _messageCount >= _maxInternalMessageLimit;
1016
1066
  }
1017
1067
  function _debugExtMsg(name, data) {
1018
- var dbgExt = getDebugExt(config);
1019
- if (dbgExt && dbgExt.diagLog) {
1020
- dbgExt.diagLog(name, data);
1068
+ var dbgExt = getDebugExt(config || {});
1069
+ if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
1070
+ dbgExt[_DYN_DIAG_LOG ](name, data);
1021
1071
  }
1022
1072
  }
1023
1073
  });
1024
1074
  }
1075
+ DiagnosticLogger.__ieDyn=1;
1025
1076
  return DiagnosticLogger;
1026
1077
  }());
1078
+ function _getLogger(logger) {
1079
+ return (logger || new DiagnosticLogger());
1080
+ }
1027
1081
  function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
1028
1082
  if (isUserAct === void 0) { isUserAct = false; }
1029
- (logger || new DiagnosticLogger()).throwInternal(severity, msgId, msg, properties, isUserAct);
1083
+ _getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);
1084
+ }
1085
+ function _warnToConsole(logger, message) {
1086
+ _getLogger(logger)[STR_WARN_TO_CONSOLE ](message);
1030
1087
  }
1031
1088
 
1032
1089
  var strExecutionContextKey = "ctx";
1090
+ var strParentContextKey = "ParentContextKey";
1091
+ var strChildrenContextKey = "ChildrenContextKey";
1033
1092
  var PerfEvent = /** @class */ (function () {
1034
1093
  function PerfEvent(name, payloadDetails, isAsync) {
1035
1094
  var _self = this;
1036
1095
  var accessorDefined = false;
1037
1096
  _self.start = dateNow();
1038
- _self.name = name;
1039
- _self.isAsync = isAsync;
1040
- _self.isChildEvt = function () { return false; };
1097
+ _self[_DYN_NAME ] = name;
1098
+ _self[_DYN_IS_ASYNC ] = isAsync;
1099
+ _self[_DYN_IS_CHILD_EVT ] = function () { return false; };
1041
1100
  if (isFunction(payloadDetails)) {
1042
1101
  var theDetails_1;
1043
1102
  accessorDefined = objDefineAccessors(_self, "payload", function () {
@@ -1048,24 +1107,24 @@
1048
1107
  return theDetails_1;
1049
1108
  });
1050
1109
  }
1051
- _self.getCtx = function (key) {
1110
+ _self[_DYN_GET_CTX ] = function (key) {
1052
1111
  if (key) {
1053
- if (key === PerfEvent.ParentContextKey || key === PerfEvent.ChildrenContextKey) {
1112
+ if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {
1054
1113
  return _self[key];
1055
1114
  }
1056
1115
  return (_self[strExecutionContextKey] || {})[key];
1057
1116
  }
1058
1117
  return null;
1059
1118
  };
1060
- _self.setCtx = function (key, value) {
1119
+ _self[_DYN_SET_CTX ] = function (key, value) {
1061
1120
  if (key) {
1062
- if (key === PerfEvent.ParentContextKey) {
1121
+ if (key === PerfEvent[strParentContextKey]) {
1063
1122
  if (!_self[key]) {
1064
- _self.isChildEvt = function () { return true; };
1123
+ _self[_DYN_IS_CHILD_EVT ] = function () { return true; };
1065
1124
  }
1066
1125
  _self[key] = value;
1067
1126
  }
1068
- else if (key === PerfEvent.ChildrenContextKey) {
1127
+ else if (key === PerfEvent[strChildrenContextKey]) {
1069
1128
  _self[key] = value;
1070
1129
  }
1071
1130
  else {
@@ -1074,20 +1133,20 @@
1074
1133
  }
1075
1134
  }
1076
1135
  };
1077
- _self.complete = function () {
1136
+ _self[_DYN_COMPLETE ] = function () {
1078
1137
  var childTime = 0;
1079
- var childEvts = _self.getCtx(PerfEvent.ChildrenContextKey);
1138
+ var childEvts = _self[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
1080
1139
  if (isArray(childEvts)) {
1081
- for (var lp = 0; lp < childEvts.length; lp++) {
1140
+ for (var lp = 0; lp < childEvts[_DYN_LENGTH ]; lp++) {
1082
1141
  var childEvt = childEvts[lp];
1083
1142
  if (childEvt) {
1084
- childTime += childEvt.time;
1143
+ childTime += childEvt[_DYN_TIME ];
1085
1144
  }
1086
1145
  }
1087
1146
  }
1088
- _self.time = dateNow() - _self.start;
1089
- _self.exTime = _self.time - childTime;
1090
- _self.complete = function () { };
1147
+ _self[_DYN_TIME ] = dateNow() - _self.start;
1148
+ _self.exTime = _self[_DYN_TIME ] - childTime;
1149
+ _self[_DYN_COMPLETE ] = function () { };
1091
1150
  if (!accessorDefined && isFunction(payloadDetails)) {
1092
1151
  _self.payload = payloadDetails();
1093
1152
  }
@@ -1101,40 +1160,40 @@
1101
1160
  function doPerf(mgrSource, getSource, func, details, isAsync) {
1102
1161
  if (mgrSource) {
1103
1162
  var perfMgr = mgrSource;
1104
- if (isFunction(perfMgr["getPerfMgr"])) {
1105
- perfMgr = perfMgr["getPerfMgr"]();
1163
+ if (perfMgr[STR_GET_PERF_MGR]) {
1164
+ perfMgr = perfMgr[STR_GET_PERF_MGR]();
1106
1165
  }
1107
1166
  if (perfMgr) {
1108
1167
  var perfEvt = void 0;
1109
- var currentActive = perfMgr.getCtx(doPerfActiveKey);
1168
+ var currentActive = perfMgr[_DYN_GET_CTX ](doPerfActiveKey);
1110
1169
  try {
1111
1170
  perfEvt = perfMgr.create(getSource(), details, isAsync);
1112
1171
  if (perfEvt) {
1113
- if (currentActive && perfEvt.setCtx) {
1114
- perfEvt.setCtx(PerfEvent.ParentContextKey, currentActive);
1115
- if (currentActive.getCtx && currentActive.setCtx) {
1116
- var children = currentActive.getCtx(PerfEvent.ChildrenContextKey);
1172
+ if (currentActive && perfEvt[_DYN_SET_CTX ]) {
1173
+ perfEvt[_DYN_SET_CTX ](PerfEvent[strParentContextKey], currentActive);
1174
+ if (currentActive[_DYN_GET_CTX ] && currentActive[_DYN_SET_CTX ]) {
1175
+ var children = currentActive[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
1117
1176
  if (!children) {
1118
1177
  children = [];
1119
- currentActive.setCtx(PerfEvent.ChildrenContextKey, children);
1178
+ currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
1120
1179
  }
1121
- children.push(perfEvt);
1180
+ children[_DYN_PUSH ](perfEvt);
1122
1181
  }
1123
1182
  }
1124
- perfMgr.setCtx(doPerfActiveKey, perfEvt);
1183
+ perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
1125
1184
  return func(perfEvt);
1126
1185
  }
1127
1186
  }
1128
1187
  catch (ex) {
1129
- if (perfEvt && perfEvt.setCtx) {
1130
- perfEvt.setCtx("exception", ex);
1188
+ if (perfEvt && perfEvt[_DYN_SET_CTX ]) {
1189
+ perfEvt[_DYN_SET_CTX ]("exception", ex);
1131
1190
  }
1132
1191
  }
1133
1192
  finally {
1134
1193
  if (perfEvt) {
1135
1194
  perfMgr.fire(perfEvt);
1136
1195
  }
1137
- perfMgr.setCtx(doPerfActiveKey, currentActive);
1196
+ perfMgr[_DYN_SET_CTX ](doPerfActiveKey, currentActive);
1138
1197
  }
1139
1198
  }
1140
1199
  }
@@ -1196,8 +1255,8 @@
1196
1255
  var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1197
1256
  var number = random32() >>> 0;
1198
1257
  var chars = 0;
1199
- var result = strEmpty;
1200
- while (result.length < maxLength) {
1258
+ var result = STR_EMPTY$1;
1259
+ while (result[_DYN_LENGTH ] < maxLength) {
1201
1260
  chars++;
1202
1261
  result += base64chars.charAt(number & 0x3F);
1203
1262
  number >>>= 6;
@@ -1210,7 +1269,7 @@
1210
1269
  }
1211
1270
 
1212
1271
  var _objDefineProperty = ObjDefineProperty;
1213
- var version = "2.8.1";
1272
+ var version = '2.8.5';
1214
1273
  var instanceName = "." + newId(6);
1215
1274
  var _dataUid = 0;
1216
1275
  function _createAccessor(target, prop, value) {
@@ -1229,7 +1288,7 @@
1229
1288
  return false;
1230
1289
  }
1231
1290
  function _canAcceptData(target) {
1232
- return target.nodeType === 1 || target.nodeType === 9 || !(+target.nodeType);
1291
+ return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
1233
1292
  }
1234
1293
  function _getCache(data, target) {
1235
1294
  var theCache = target[data.id];
@@ -1249,11 +1308,11 @@
1249
1308
  }
1250
1309
  function createUniqueNamespace(name, includeVersion) {
1251
1310
  if (includeVersion === void 0) { includeVersion = false; }
1252
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : "") + instanceName);
1311
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
1253
1312
  }
1254
1313
  function createElmNodeData(name) {
1255
1314
  var data = {
1256
- id: createUniqueNamespace("_aiData-" + (name || "") + "." + version),
1315
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
1257
1316
  accept: function (target) {
1258
1317
  return _canAcceptData(target);
1259
1318
  },
@@ -1281,6 +1340,297 @@
1281
1340
  return data;
1282
1341
  }
1283
1342
 
1343
+ var strOnPrefix = "on";
1344
+ var strAttachEvent = "attachEvent";
1345
+ var strAddEventHelper = "addEventListener";
1346
+ var strDetachEvent = "detachEvent";
1347
+ var strRemoveEventListener = "removeEventListener";
1348
+ var strEvents = "events";
1349
+ var strVisibilityChangeEvt = "visibilitychange";
1350
+ var strPageHide = "pagehide";
1351
+ var strPageShow = "pageshow";
1352
+ var strUnload = "unload";
1353
+ var strBeforeUnload = "beforeunload";
1354
+ var strPageHideNamespace = createUniqueNamespace("aiEvtPageHide");
1355
+ var strPageShowNamespace = createUniqueNamespace("aiEvtPageShow");
1356
+ var rRemoveEmptyNs = /\.[\.]+/g;
1357
+ var rRemoveTrailingEmptyNs = /[\.]+$/;
1358
+ var _guid = 1;
1359
+ var elmNodeData = createElmNodeData("events");
1360
+ var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
1361
+ function _normalizeNamespace(name) {
1362
+ if (name && name[_DYN_REPLACE ]) {
1363
+ return name.replace(/^\s*\.*|\.*\s*$/g, STR_EMPTY$1);
1364
+ }
1365
+ return name;
1366
+ }
1367
+ function _getEvtNamespace(eventName, evtNamespace) {
1368
+ var _a;
1369
+ if (evtNamespace) {
1370
+ var theNamespace_1 = STR_EMPTY$1;
1371
+ if (isArray(evtNamespace)) {
1372
+ theNamespace_1 = STR_EMPTY$1;
1373
+ arrForEach(evtNamespace, function (name) {
1374
+ name = _normalizeNamespace(name);
1375
+ if (name) {
1376
+ if (name[0] !== ".") {
1377
+ name = "." + name;
1378
+ }
1379
+ theNamespace_1 += name;
1380
+ }
1381
+ });
1382
+ }
1383
+ else {
1384
+ theNamespace_1 = _normalizeNamespace(evtNamespace);
1385
+ }
1386
+ if (theNamespace_1) {
1387
+ if (theNamespace_1[0] !== ".") {
1388
+ theNamespace_1 = "." + theNamespace_1;
1389
+ }
1390
+ eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
1391
+ }
1392
+ }
1393
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
1394
+ return _a = {},
1395
+ _a[_DYN_TYPE ] = parsedEvent[1],
1396
+ _a.ns = ((parsedEvent[2] || STR_EMPTY$1).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$1)[_DYN_SPLIT ](".").sort()).join("."),
1397
+ _a;
1398
+ }
1399
+ function _getRegisteredEvents(target, evtName, addDefault) {
1400
+ if (addDefault === void 0) { addDefault = true; }
1401
+ var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
1402
+ var registeredEvents = aiEvts[evtName];
1403
+ if (!registeredEvents) {
1404
+ registeredEvents = aiEvts[evtName] = [];
1405
+ }
1406
+ return registeredEvents;
1407
+ }
1408
+ function _doDetach(obj, evtName, handlerRef, useCapture) {
1409
+ if (obj && evtName && evtName[_DYN_TYPE ]) {
1410
+ if (obj[strRemoveEventListener]) {
1411
+ obj[strRemoveEventListener](evtName[_DYN_TYPE ], handlerRef, useCapture);
1412
+ }
1413
+ else if (obj[strDetachEvent]) {
1414
+ obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
1415
+ }
1416
+ }
1417
+ }
1418
+ function _doAttach(obj, evtName, handlerRef, useCapture) {
1419
+ var result = false;
1420
+ if (obj && evtName && evtName[_DYN_TYPE ] && handlerRef) {
1421
+ if (obj[strAddEventHelper]) {
1422
+ obj[strAddEventHelper](evtName[_DYN_TYPE ], handlerRef, useCapture);
1423
+ result = true;
1424
+ }
1425
+ else if (obj[strAttachEvent]) {
1426
+ obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
1427
+ result = true;
1428
+ }
1429
+ }
1430
+ return result;
1431
+ }
1432
+ function _doUnregister(target, events, evtName, unRegFn) {
1433
+ var idx = events[_DYN_LENGTH ];
1434
+ while (idx--) {
1435
+ var theEvent = events[idx];
1436
+ if (theEvent) {
1437
+ if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
1438
+ if (!unRegFn || unRegFn(theEvent)) {
1439
+ _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
1440
+ events[_DYN_SPLICE ](idx, 1);
1441
+ }
1442
+ }
1443
+ }
1444
+ }
1445
+ }
1446
+ function _unregisterEvents(target, evtName, unRegFn) {
1447
+ if (evtName[_DYN_TYPE ]) {
1448
+ _doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE ]), evtName, unRegFn);
1449
+ }
1450
+ else {
1451
+ var eventCache = elmNodeData.get(target, strEvents, {});
1452
+ objForEachKey(eventCache, function (evtType, events) {
1453
+ _doUnregister(target, events, evtName, unRegFn);
1454
+ });
1455
+ if (objKeys(eventCache)[_DYN_LENGTH ] === 0) {
1456
+ elmNodeData.kill(target, strEvents);
1457
+ }
1458
+ }
1459
+ }
1460
+ function mergeEvtNamespace(theNamespace, namespaces) {
1461
+ var newNamespaces;
1462
+ if (namespaces) {
1463
+ if (isArray(namespaces)) {
1464
+ newNamespaces = [theNamespace].concat(namespaces);
1465
+ }
1466
+ else {
1467
+ newNamespaces = [theNamespace, namespaces];
1468
+ }
1469
+ newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)[_DYN_SPLIT ](".");
1470
+ }
1471
+ else {
1472
+ newNamespaces = theNamespace;
1473
+ }
1474
+ return newNamespaces;
1475
+ }
1476
+ function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
1477
+ var _a;
1478
+ if (useCapture === void 0) { useCapture = false; }
1479
+ var result = false;
1480
+ if (target) {
1481
+ try {
1482
+ var evtName = _getEvtNamespace(eventName, evtNamespace);
1483
+ result = _doAttach(target, evtName, handlerRef, useCapture);
1484
+ if (result && elmNodeData.accept(target)) {
1485
+ var registeredEvent = (_a = {
1486
+ guid: _guid++,
1487
+ evtName: evtName
1488
+ },
1489
+ _a[_DYN_HANDLER ] = handlerRef,
1490
+ _a.capture = useCapture,
1491
+ _a);
1492
+ _getRegisteredEvents(target, evtName.type)[_DYN_PUSH ](registeredEvent);
1493
+ }
1494
+ }
1495
+ catch (e) {
1496
+ }
1497
+ }
1498
+ return result;
1499
+ }
1500
+ function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {
1501
+ if (useCapture === void 0) { useCapture = false; }
1502
+ if (target) {
1503
+ try {
1504
+ var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
1505
+ var found_1 = false;
1506
+ _unregisterEvents(target, evtName_1, function (regEvent) {
1507
+ if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
1508
+ found_1 = true;
1509
+ return true;
1510
+ }
1511
+ return false;
1512
+ });
1513
+ if (!found_1) {
1514
+ _doDetach(target, evtName_1, handlerRef, useCapture);
1515
+ }
1516
+ }
1517
+ catch (e) {
1518
+ }
1519
+ }
1520
+ }
1521
+ function addEventHandler(eventName, callback, evtNamespace) {
1522
+ var result = false;
1523
+ var w = getWindow();
1524
+ if (w) {
1525
+ result = eventOn(w, eventName, callback, evtNamespace);
1526
+ result = eventOn(w["body"], eventName, callback, evtNamespace) || result;
1527
+ }
1528
+ var doc = getDocument();
1529
+ if (doc) {
1530
+ result = eventOn(doc, eventName, callback, evtNamespace) || result;
1531
+ }
1532
+ return result;
1533
+ }
1534
+ function removeEventHandler(eventName, callback, evtNamespace) {
1535
+ var w = getWindow();
1536
+ if (w) {
1537
+ eventOff(w, eventName, callback, evtNamespace);
1538
+ eventOff(w["body"], eventName, callback, evtNamespace);
1539
+ }
1540
+ var doc = getDocument();
1541
+ if (doc) {
1542
+ eventOff(doc, eventName, callback, evtNamespace);
1543
+ }
1544
+ }
1545
+ function _addEventListeners(events, listener, excludeEvents, evtNamespace) {
1546
+ var added = false;
1547
+ if (listener && events && events[_DYN_LENGTH ] > 0) {
1548
+ arrForEach(events, function (name) {
1549
+ if (name) {
1550
+ if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {
1551
+ added = addEventHandler(name, listener, evtNamespace) || added;
1552
+ }
1553
+ }
1554
+ });
1555
+ }
1556
+ return added;
1557
+ }
1558
+ function addEventListeners(events, listener, excludeEvents, evtNamespace) {
1559
+ var added = false;
1560
+ if (listener && events && isArray(events)) {
1561
+ added = _addEventListeners(events, listener, excludeEvents, evtNamespace);
1562
+ if (!added && excludeEvents && excludeEvents[_DYN_LENGTH ] > 0) {
1563
+ added = _addEventListeners(events, listener, null, evtNamespace);
1564
+ }
1565
+ }
1566
+ return added;
1567
+ }
1568
+ function removeEventListeners(events, listener, evtNamespace) {
1569
+ if (events && isArray(events)) {
1570
+ arrForEach(events, function (name) {
1571
+ if (name) {
1572
+ removeEventHandler(name, listener, evtNamespace);
1573
+ }
1574
+ });
1575
+ }
1576
+ }
1577
+ function addPageUnloadEventListener(listener, excludeEvents, evtNamespace) {
1578
+ return addEventListeners([strBeforeUnload, strUnload, strPageHide], listener, excludeEvents, evtNamespace);
1579
+ }
1580
+ function removePageUnloadEventListener(listener, evtNamespace) {
1581
+ removeEventListeners([strBeforeUnload, strUnload, strPageHide], listener, evtNamespace);
1582
+ }
1583
+ function addPageHideEventListener(listener, excludeEvents, evtNamespace) {
1584
+ function _handlePageVisibility(evt) {
1585
+ var doc = getDocument();
1586
+ if (listener && doc && doc.visibilityState === "hidden") {
1587
+ listener(evt);
1588
+ }
1589
+ }
1590
+ var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
1591
+ var pageUnloadAdded = _addEventListeners([strPageHide], listener, excludeEvents, newNamespaces);
1592
+ if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {
1593
+ pageUnloadAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageUnloadAdded;
1594
+ }
1595
+ if (!pageUnloadAdded && excludeEvents) {
1596
+ pageUnloadAdded = addPageHideEventListener(listener, null, evtNamespace);
1597
+ }
1598
+ return pageUnloadAdded;
1599
+ }
1600
+ function removePageHideEventListener(listener, evtNamespace) {
1601
+ var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
1602
+ removeEventListeners([strPageHide], listener, newNamespaces);
1603
+ removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
1604
+ }
1605
+ function addPageShowEventListener(listener, excludeEvents, evtNamespace) {
1606
+ function _handlePageVisibility(evt) {
1607
+ var doc = getDocument();
1608
+ if (listener && doc && doc.visibilityState === "visible") {
1609
+ listener(evt);
1610
+ }
1611
+ }
1612
+ var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
1613
+ var pageShowAdded = _addEventListeners([strPageShow], listener, excludeEvents, newNamespaces);
1614
+ pageShowAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageShowAdded;
1615
+ if (!pageShowAdded && excludeEvents) {
1616
+ pageShowAdded = addPageShowEventListener(listener, null, evtNamespace);
1617
+ }
1618
+ return pageShowAdded;
1619
+ }
1620
+ function removePageShowEventListener(listener, evtNamespace) {
1621
+ var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
1622
+ removeEventListeners([strPageShow], listener, newNamespaces);
1623
+ removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
1624
+ }
1625
+
1626
+ function perfNow() {
1627
+ var perf = getPerformance();
1628
+ if (perf && perf.now) {
1629
+ return perf.now();
1630
+ }
1631
+ return dateNow();
1632
+ }
1633
+
1284
1634
  var pluginStateData = createElmNodeData("plugin");
1285
1635
  function _getPluginState(plugin) {
1286
1636
  return pluginStateData.get(plugin, "state", {}, true);
@@ -1292,12 +1642,12 @@
1292
1642
  var _chainId = 0;
1293
1643
  function _getNextProxyStart(proxy, core, startAt) {
1294
1644
  while (proxy) {
1295
- if (proxy.getPlugin() === startAt) {
1645
+ if (proxy[_DYN_GET_PLUGIN ]() === startAt) {
1296
1646
  return proxy;
1297
1647
  }
1298
- proxy = proxy.getNext();
1648
+ proxy = proxy[_DYN_GET_NEXT ]();
1299
1649
  }
1300
- return createTelemetryProxyChain([startAt], core.config || {}, core);
1650
+ return createTelemetryProxyChain([startAt], core[_DYN_CONFIG ] || {}, core);
1301
1651
  }
1302
1652
  function _createInternalContext(telemetryChain, config, core, startAt) {
1303
1653
  var _nextProxy = null;
@@ -1338,7 +1688,7 @@
1338
1688
  args[_i - 2] = arguments[_i];
1339
1689
  }
1340
1690
  if (onComplete) {
1341
- _onComplete.push({
1691
+ _onComplete[_DYN_PUSH ]({
1342
1692
  func: onComplete,
1343
1693
  self: !isUndefined(that) ? that : context.ctx,
1344
1694
  args: args
@@ -1347,16 +1697,16 @@
1347
1697
  }
1348
1698
  function _moveNext() {
1349
1699
  var nextProxy = _nextProxy;
1350
- _nextProxy = nextProxy ? nextProxy.getNext() : null;
1700
+ _nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT ]() : null;
1351
1701
  if (!nextProxy) {
1352
1702
  var onComplete = _onComplete;
1353
- if (onComplete && onComplete.length > 0) {
1703
+ if (onComplete && onComplete[_DYN_LENGTH ] > 0) {
1354
1704
  arrForEach(onComplete, function (completeDetails) {
1355
1705
  try {
1356
- completeDetails.func.call(completeDetails.self, completeDetails.args);
1706
+ completeDetails.func[_DYN_CALL ](completeDetails.self, completeDetails.args);
1357
1707
  }
1358
1708
  catch (e) {
1359
- _throwInternal(core.logger, 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
1709
+ _throwInternal(core[_DYN_LOGGER ], 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
1360
1710
  }
1361
1711
  });
1362
1712
  _onComplete = [];
@@ -1369,7 +1719,7 @@
1369
1719
  if (mergeDefault === void 0) { mergeDefault = 0 ; }
1370
1720
  var theConfig;
1371
1721
  if (config) {
1372
- var extConfig = config.extensionConfig;
1722
+ var extConfig = config[STR_EXTENSION_CONFIG ];
1373
1723
  if (extConfig && identifier) {
1374
1724
  theConfig = extConfig[identifier];
1375
1725
  }
@@ -1410,7 +1760,7 @@
1410
1760
  function _iterateChain(cb) {
1411
1761
  var nextPlugin;
1412
1762
  while (!!(nextPlugin = context._next())) {
1413
- var plugin = nextPlugin.getPlugin();
1763
+ var plugin = nextPlugin[_DYN_GET_PLUGIN ]();
1414
1764
  if (plugin) {
1415
1765
  cb(plugin);
1416
1766
  }
@@ -1423,7 +1773,7 @@
1423
1773
  var context = internalContext.ctx;
1424
1774
  function _processNext(env) {
1425
1775
  var nextPlugin = internalContext._next();
1426
- nextPlugin && nextPlugin.processTelemetry(env, context);
1776
+ nextPlugin && nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
1427
1777
  return !nextPlugin;
1428
1778
  }
1429
1779
  function _createNew(plugins, startAt) {
@@ -1431,14 +1781,14 @@
1431
1781
  if (isArray(plugins)) {
1432
1782
  plugins = createTelemetryProxyChain(plugins, config, core, startAt);
1433
1783
  }
1434
- return createProcessTelemetryContext(plugins || context.getNext(), config, core, startAt);
1784
+ return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config, core, startAt);
1435
1785
  }
1436
- context.processNext = _processNext;
1437
- context.createNew = _createNew;
1786
+ context[_DYN_PROCESS_NEXT ] = _processNext;
1787
+ context[_DYN_CREATE_NEW ] = _createNew;
1438
1788
  return context;
1439
1789
  }
1440
1790
  function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
1441
- var config = core.config || {};
1791
+ var config = core[_DYN_CONFIG ] || {};
1442
1792
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
1443
1793
  var context = internalContext.ctx;
1444
1794
  function _processNext(unloadState) {
@@ -1451,20 +1801,20 @@
1451
1801
  if (isArray(plugins)) {
1452
1802
  plugins = createTelemetryProxyChain(plugins, config, core, startAt);
1453
1803
  }
1454
- return createProcessTelemetryUnloadContext(plugins || context.getNext(), core, startAt);
1804
+ return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
1455
1805
  }
1456
- context.processNext = _processNext;
1457
- context.createNew = _createNew;
1806
+ context[_DYN_PROCESS_NEXT ] = _processNext;
1807
+ context[_DYN_CREATE_NEW ] = _createNew;
1458
1808
  return context;
1459
1809
  }
1460
1810
  function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
1461
- var config = core.config || {};
1811
+ var config = core[_DYN_CONFIG ] || {};
1462
1812
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
1463
1813
  var context = internalContext.ctx;
1464
1814
  function _processNext(updateState) {
1465
1815
  return context.iterate(function (plugin) {
1466
- if (isFunction(plugin.update)) {
1467
- plugin.update(context, updateState);
1816
+ if (isFunction(plugin[_DYN_UPDATE ])) {
1817
+ plugin[_DYN_UPDATE ](context, updateState);
1468
1818
  }
1469
1819
  });
1470
1820
  }
@@ -1473,22 +1823,22 @@
1473
1823
  if (isArray(plugins)) {
1474
1824
  plugins = createTelemetryProxyChain(plugins, config, core, startAt);
1475
1825
  }
1476
- return createProcessTelemetryUpdateContext(plugins || context.getNext(), core, startAt);
1826
+ return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
1477
1827
  }
1478
- context.processNext = _processNext;
1479
- context.createNew = _createNew;
1828
+ context[_DYN_PROCESS_NEXT ] = _processNext;
1829
+ context[_DYN_CREATE_NEW ] = _createNew;
1480
1830
  return context;
1481
1831
  }
1482
1832
  function createTelemetryProxyChain(plugins, config, core, startAt) {
1483
1833
  var firstProxy = null;
1484
1834
  var add = startAt ? false : true;
1485
- if (isArray(plugins) && plugins.length > 0) {
1835
+ if (isArray(plugins) && plugins[_DYN_LENGTH ] > 0) {
1486
1836
  var lastProxy_1 = null;
1487
1837
  arrForEach(plugins, function (thePlugin) {
1488
1838
  if (!add && startAt === thePlugin) {
1489
1839
  add = true;
1490
1840
  }
1491
- if (add && thePlugin && isFunction(thePlugin.processTelemetry)) {
1841
+ if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY ])) {
1492
1842
  var newProxy = createTelemetryPluginProxy(thePlugin, config, core);
1493
1843
  if (!firstProxy) {
1494
1844
  firstProxy = newProxy;
@@ -1507,11 +1857,11 @@
1507
1857
  }
1508
1858
  function createTelemetryPluginProxy(plugin, config, core) {
1509
1859
  var nextProxy = null;
1510
- var hasProcessTelemetry = isFunction(plugin.processTelemetry);
1511
- var hasSetNext = isFunction(plugin.setNextPlugin);
1860
+ var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY ]);
1861
+ var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN ]);
1512
1862
  var chainId;
1513
1863
  if (plugin) {
1514
- chainId = plugin.identifier + "-" + plugin.priority + "-" + _chainId++;
1864
+ chainId = plugin[_DYN_IDENTIFIER ] + "-" + plugin[STR_PRIORITY ] + "-" + _chainId++;
1515
1865
  }
1516
1866
  else {
1517
1867
  chainId = "Unknown-0-" + _chainId++;
@@ -1543,17 +1893,17 @@
1543
1893
  }
1544
1894
  function _processChain(itemCtx, processPluginFn, name, details, isAsync) {
1545
1895
  var hasRun = false;
1546
- var identifier = plugin ? plugin.identifier : strTelemetryPluginChain;
1896
+ var identifier = plugin ? plugin[_DYN_IDENTIFIER ] : strTelemetryPluginChain;
1547
1897
  var hasRunContext = itemCtx[strHasRunFlags];
1548
1898
  if (!hasRunContext) {
1549
1899
  hasRunContext = itemCtx[strHasRunFlags] = {};
1550
1900
  }
1551
1901
  itemCtx.setNext(nextProxy);
1552
1902
  if (plugin) {
1553
- doPerf(itemCtx[strCore](), function () { return identifier + ":" + name; }, function () {
1903
+ doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
1554
1904
  hasRunContext[chainId] = true;
1555
1905
  try {
1556
- var nextId = nextProxy ? nextProxy._id : strEmpty;
1906
+ var nextId = nextProxy ? nextProxy._id : STR_EMPTY$1;
1557
1907
  if (nextId) {
1558
1908
  hasRunContext[nextId] = false;
1559
1909
  }
@@ -1565,7 +1915,7 @@
1565
1915
  hasRun = true;
1566
1916
  }
1567
1917
  if (!nextProxy || !hasNextRun) {
1568
- _throwInternal(itemCtx.diagLog(), 1 , 73 , "Plugin [" + identifier + "] failed during " + name + " - " + dumpObj(error) + ", run flags: " + dumpObj(hasRunContext));
1918
+ _throwInternal(itemCtx[_DYN_DIAG_LOG ](), 1 , 73 , "Plugin [" + identifier + "] failed during " + name + " - " + dumpObj(error) + ", run flags: " + dumpObj(hasRunContext));
1569
1919
  }
1570
1920
  }
1571
1921
  }, details, isAsync);
@@ -1579,17 +1929,17 @@
1579
1929
  return false;
1580
1930
  }
1581
1931
  var pluginState = _getPluginState(plugin);
1582
- if (pluginState.teardown || pluginState[strDisabled]) {
1932
+ if (pluginState[_DYN_TEARDOWN ] || pluginState[STR_DISABLED]) {
1583
1933
  return false;
1584
1934
  }
1585
1935
  if (hasSetNext) {
1586
- plugin.setNextPlugin(nextProxy);
1936
+ plugin[_DYN_SET_NEXT_PLUGIN ](nextProxy);
1587
1937
  }
1588
- plugin.processTelemetry(env, itemCtx);
1938
+ plugin[STR_PROCESS_TELEMETRY ](env, itemCtx);
1589
1939
  return true;
1590
1940
  }
1591
1941
  if (!_processChain(itemCtx, _callProcessTelemetry, "processTelemetry", function () { return ({ item: env }); }, !(env.sync))) {
1592
- itemCtx.processNext(env);
1942
+ itemCtx[_DYN_PROCESS_NEXT ](env);
1593
1943
  }
1594
1944
  }
1595
1945
  function _unloadPlugin(unloadCtx, unloadState) {
@@ -1597,20 +1947,20 @@
1597
1947
  var hasRun = false;
1598
1948
  if (plugin) {
1599
1949
  var pluginState = _getPluginState(plugin);
1600
- var pluginCore = plugin[strCore] || pluginState.core;
1601
- if (plugin && (!pluginCore || pluginCore === unloadCtx[strCore]()) && !pluginState[strTeardown]) {
1602
- pluginState[strCore] = null;
1603
- pluginState[strTeardown] = true;
1604
- pluginState[strIsInitialized] = false;
1605
- if (plugin[strTeardown] && plugin[strTeardown](unloadCtx, unloadState) === true) {
1950
+ var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
1951
+ if (plugin && (!pluginCore || pluginCore === unloadCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
1952
+ pluginState[STR_CORE ] = null;
1953
+ pluginState[_DYN_TEARDOWN ] = true;
1954
+ pluginState[_DYN_IS_INITIALIZED ] = false;
1955
+ if (plugin[_DYN_TEARDOWN ] && plugin[_DYN_TEARDOWN ](unloadCtx, unloadState) === true) {
1606
1956
  hasRun = true;
1607
1957
  }
1608
1958
  }
1609
1959
  }
1610
1960
  return hasRun;
1611
1961
  }
1612
- if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState.isAsync)) {
1613
- unloadCtx.processNext(unloadState);
1962
+ if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState[_DYN_IS_ASYNC ])) {
1963
+ unloadCtx[_DYN_PROCESS_NEXT ](unloadState);
1614
1964
  }
1615
1965
  }
1616
1966
  function _updatePlugin(updateCtx, updateState) {
@@ -1618,9 +1968,9 @@
1618
1968
  var hasRun = false;
1619
1969
  if (plugin) {
1620
1970
  var pluginState = _getPluginState(plugin);
1621
- var pluginCore = plugin[strCore] || pluginState.core;
1622
- if (plugin && (!pluginCore || pluginCore === updateCtx[strCore]()) && !pluginState[strTeardown]) {
1623
- if (plugin[strUpdate] && plugin[strUpdate](updateCtx, updateState) === true) {
1971
+ var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
1972
+ if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
1973
+ if (plugin[_DYN_UPDATE ] && plugin[_DYN_UPDATE ](updateCtx, updateState) === true) {
1624
1974
  hasRun = true;
1625
1975
  }
1626
1976
  }
@@ -1628,19 +1978,17 @@
1628
1978
  return hasRun;
1629
1979
  }
1630
1980
  if (!_processChain(updateCtx, _callUpdate, "update", function () { }, false)) {
1631
- updateCtx.processNext(updateState);
1981
+ updateCtx[_DYN_PROCESS_NEXT ](updateState);
1632
1982
  }
1633
1983
  }
1634
1984
  return objFreeze(proxyChain);
1635
1985
  }
1636
1986
 
1637
- var strExtensionConfig = "extensionConfig";
1638
-
1639
1987
  function createUnloadHandlerContainer() {
1640
1988
  var handlers = [];
1641
1989
  function _addHandler(handler) {
1642
1990
  if (handler) {
1643
- handlers.push(handler);
1991
+ handlers[_DYN_PUSH ](handler);
1644
1992
  }
1645
1993
  }
1646
1994
  function _runHandlers(unloadCtx, unloadState) {
@@ -1649,7 +1997,7 @@
1649
1997
  handler(unloadCtx, unloadState);
1650
1998
  }
1651
1999
  catch (e) {
1652
- _throwInternal(unloadCtx.diagLog(), 2 , 73 , "Unexpected error calling unload handler - " + dumpObj(e));
2000
+ _throwInternal(unloadCtx[_DYN_DIAG_LOG ](), 2 , 73 , "Unexpected error calling unload handler - " + dumpObj(e));
1653
2001
  }
1654
2002
  });
1655
2003
  handlers = [];
@@ -1671,37 +2019,40 @@
1671
2019
  var _hooks;
1672
2020
  _initDefaults();
1673
2021
  dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
1674
- _self.initialize = function (config, core, extensions, pluginChain) {
2022
+ _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
1675
2023
  _setDefaults(config, core, pluginChain);
1676
2024
  _isinitialized = true;
1677
2025
  };
1678
- _self.teardown = function (unloadCtx, unloadState) {
1679
- var core = _self.core;
1680
- if (!core || (unloadCtx && core !== unloadCtx.core())) {
2026
+ _self[_DYN_TEARDOWN ] = function (unloadCtx, unloadState) {
2027
+ var _a;
2028
+ var core = _self[STR_CORE ];
2029
+ if (!core || (unloadCtx && core !== unloadCtx[STR_CORE ]())) {
1681
2030
  return;
1682
2031
  }
1683
2032
  var result;
1684
2033
  var unloadDone = false;
1685
2034
  var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);
1686
- var theUnloadState = unloadState || {
1687
- reason: 0 ,
1688
- isAsync: false
1689
- };
2035
+ var theUnloadState = unloadState || (_a = {
2036
+ reason: 0
2037
+ },
2038
+ _a[_DYN_IS_ASYNC ] = false,
2039
+ _a);
1690
2040
  function _unloadCallback() {
1691
2041
  if (!unloadDone) {
1692
2042
  unloadDone = true;
1693
2043
  _unloadHandlerContainer.run(theUnloadCtx, unloadState);
1694
- arrForEach(_hooks, function (fn) {
2044
+ var oldHooks = _hooks;
2045
+ _hooks = [];
2046
+ arrForEach(oldHooks, function (fn) {
1695
2047
  fn.rm();
1696
2048
  });
1697
- _hooks = [];
1698
2049
  if (result === true) {
1699
- theUnloadCtx.processNext(theUnloadState);
2050
+ theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
1700
2051
  }
1701
2052
  _initDefaults();
1702
2053
  }
1703
2054
  }
1704
- if (!_self[strDoTeardown] || _self[strDoTeardown](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {
2055
+ if (!_self[_DYN__DO_TEARDOWN ] || _self[_DYN__DO_TEARDOWN ](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {
1705
2056
  _unloadCallback();
1706
2057
  }
1707
2058
  else {
@@ -1709,9 +2060,9 @@
1709
2060
  }
1710
2061
  return result;
1711
2062
  };
1712
- _self.update = function (updateCtx, updateState) {
1713
- var core = _self.core;
1714
- if (!core || (updateCtx && core !== updateCtx.core())) {
2063
+ _self[_DYN_UPDATE ] = function (updateCtx, updateState) {
2064
+ var core = _self[STR_CORE ];
2065
+ if (!core || (updateCtx && core !== updateCtx[STR_CORE ]())) {
1715
2066
  return;
1716
2067
  }
1717
2068
  var result;
@@ -1723,7 +2074,7 @@
1723
2074
  function _updateCallback() {
1724
2075
  if (!updateDone) {
1725
2076
  updateDone = true;
1726
- _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx.getNext());
2077
+ _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT ]());
1727
2078
  }
1728
2079
  }
1729
2080
  if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {
@@ -1740,30 +2091,30 @@
1740
2091
  _hooks = _hooks.concat(hooks);
1741
2092
  }
1742
2093
  else {
1743
- _hooks.push(hooks);
2094
+ _hooks[_DYN_PUSH ](hooks);
1744
2095
  }
1745
2096
  }
1746
2097
  };
1747
2098
  proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
1748
2099
  });
1749
- _self.diagLog = function (itemCtx) {
1750
- return _getTelCtx(itemCtx).diagLog();
2100
+ _self[_DYN_DIAG_LOG ] = function (itemCtx) {
2101
+ return _getTelCtx(itemCtx)[_DYN_DIAG_LOG ]();
1751
2102
  };
1752
- _self[strIsInitialized] = function () {
2103
+ _self[_DYN_IS_INITIALIZED ] = function () {
1753
2104
  return _isinitialized;
1754
2105
  };
1755
2106
  _self.setInitialized = function (isInitialized) {
1756
2107
  _isinitialized = isInitialized;
1757
2108
  };
1758
- _self[strSetNextPlugin] = function (next) {
2109
+ _self[_DYN_SET_NEXT_PLUGIN ] = function (next) {
1759
2110
  _nextPlugin = next;
1760
2111
  };
1761
- _self.processNext = function (env, itemCtx) {
2112
+ _self[_DYN_PROCESS_NEXT ] = function (env, itemCtx) {
1762
2113
  if (itemCtx) {
1763
- itemCtx.processNext(env);
2114
+ itemCtx[_DYN_PROCESS_NEXT ](env);
1764
2115
  }
1765
- else if (_nextPlugin && isFunction(_nextPlugin.processTelemetry)) {
1766
- _nextPlugin.processTelemetry(env, null);
2116
+ else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY ])) {
2117
+ _nextPlugin[STR_PROCESS_TELEMETRY ](env, null);
1767
2118
  }
1768
2119
  };
1769
2120
  _self._getTelCtx = _getTelCtx;
@@ -1771,332 +2122,47 @@
1771
2122
  if (currentCtx === void 0) { currentCtx = null; }
1772
2123
  var itemCtx = currentCtx;
1773
2124
  if (!itemCtx) {
1774
- var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self.core);
2125
+ var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE ]);
1775
2126
  if (_nextPlugin && _nextPlugin[strGetPlugin]) {
1776
- itemCtx = rootCtx.createNew(null, _nextPlugin[strGetPlugin]);
2127
+ itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin[strGetPlugin]);
1777
2128
  }
1778
2129
  else {
1779
- itemCtx = rootCtx.createNew(null, _nextPlugin);
2130
+ itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin);
1780
2131
  }
1781
2132
  }
1782
2133
  return itemCtx;
1783
2134
  }
1784
2135
  function _setDefaults(config, core, pluginChain) {
1785
2136
  if (config) {
1786
- setValue(config, strExtensionConfig, [], null, isNullOrUndefined);
2137
+ setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);
1787
2138
  }
1788
2139
  if (!pluginChain && core) {
1789
- pluginChain = core.getProcessTelContext().getNext();
2140
+ pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
1790
2141
  }
1791
2142
  var nextPlugin = _nextPlugin;
1792
2143
  if (_nextPlugin && _nextPlugin[strGetPlugin]) {
1793
2144
  nextPlugin = _nextPlugin[strGetPlugin]();
1794
2145
  }
1795
- _self.core = core;
2146
+ _self[STR_CORE ] = core;
1796
2147
  _rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);
1797
2148
  }
1798
2149
  function _initDefaults() {
1799
2150
  _isinitialized = false;
1800
- _self.core = null;
2151
+ _self[STR_CORE ] = null;
1801
2152
  _rootCtx = null;
1802
2153
  _nextPlugin = null;
1803
2154
  _hooks = [];
1804
2155
  _unloadHandlerContainer = createUnloadHandlerContainer();
1805
- }
1806
- }
1807
- return BaseTelemetryPlugin;
1808
- }());
1809
-
1810
- var strOnPrefix = "on";
1811
- var strAttachEvent = "attachEvent";
1812
- var strAddEventHelper = "addEventListener";
1813
- var strDetachEvent = "detachEvent";
1814
- var strRemoveEventListener = "removeEventListener";
1815
- var strEvents = "events";
1816
- var strVisibilityChangeEvt = "visibilitychange";
1817
- var strPageHide = "pagehide";
1818
- var strPageShow = "pageshow";
1819
- var strUnload = "unload";
1820
- var strBeforeUnload = "beforeunload";
1821
- var strPageHideNamespace = createUniqueNamespace("aiEvtPageHide");
1822
- var strPageShowNamespace = createUniqueNamespace("aiEvtPageShow");
1823
- var rRemoveEmptyNs = /\.[\.]+/g;
1824
- var rRemoveTrailingEmptyNs = /[\.]+$/;
1825
- var _guid = 1;
1826
- var elmNodeData = createElmNodeData("events");
1827
- var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
1828
- function _normalizeNamespace(name) {
1829
- if (name && name.replace) {
1830
- return name.replace(/^\s*\.*|\.*\s*$/g, "");
1831
- }
1832
- return name;
1833
- }
1834
- function _getEvtNamespace(eventName, evtNamespace) {
1835
- if (evtNamespace) {
1836
- var theNamespace_1 = "";
1837
- if (isArray(evtNamespace)) {
1838
- theNamespace_1 = "";
1839
- arrForEach(evtNamespace, function (name) {
1840
- name = _normalizeNamespace(name);
1841
- if (name) {
1842
- if (name[0] !== ".") {
1843
- name = "." + name;
1844
- }
1845
- theNamespace_1 += name;
1846
- }
1847
- });
1848
- }
1849
- else {
1850
- theNamespace_1 = _normalizeNamespace(evtNamespace);
1851
- }
1852
- if (theNamespace_1) {
1853
- if (theNamespace_1[0] !== ".") {
1854
- theNamespace_1 = "." + theNamespace_1;
1855
- }
1856
- eventName = (eventName || "") + theNamespace_1;
1857
- }
1858
- }
1859
- var parsedEvent = (eventNamespace.exec(eventName || "") || []);
1860
- return {
1861
- type: parsedEvent[1],
1862
- ns: ((parsedEvent[2] || "").replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, "").split(".").sort()).join(".")
1863
- };
1864
- }
1865
- function _getRegisteredEvents(target, evtName, addDefault) {
1866
- if (addDefault === void 0) { addDefault = true; }
1867
- var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
1868
- var registeredEvents = aiEvts[evtName];
1869
- if (!registeredEvents) {
1870
- registeredEvents = aiEvts[evtName] = [];
1871
- }
1872
- return registeredEvents;
1873
- }
1874
- function _doDetach(obj, evtName, handlerRef, useCapture) {
1875
- if (obj && evtName && evtName.type) {
1876
- if (obj[strRemoveEventListener]) {
1877
- obj[strRemoveEventListener](evtName.type, handlerRef, useCapture);
1878
- }
1879
- else if (obj[strDetachEvent]) {
1880
- obj[strDetachEvent](strOnPrefix + evtName.type, handlerRef);
1881
- }
1882
- }
1883
- }
1884
- function _doAttach(obj, evtName, handlerRef, useCapture) {
1885
- var result = false;
1886
- if (obj && evtName && evtName.type && handlerRef) {
1887
- if (obj[strAddEventHelper]) {
1888
- obj[strAddEventHelper](evtName.type, handlerRef, useCapture);
1889
- result = true;
1890
- }
1891
- else if (obj[strAttachEvent]) {
1892
- obj[strAttachEvent](strOnPrefix + evtName.type, handlerRef);
1893
- result = true;
1894
- }
1895
- }
1896
- return result;
1897
- }
1898
- function _doUnregister(target, events, evtName, unRegFn) {
1899
- var idx = events.length;
1900
- while (idx--) {
1901
- var theEvent = events[idx];
1902
- if (theEvent) {
1903
- if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
1904
- if (!unRegFn || unRegFn(theEvent)) {
1905
- _doDetach(target, theEvent.evtName, theEvent.handler, theEvent.capture);
1906
- events.splice(idx, 1);
1907
- }
1908
- }
1909
- }
1910
- }
1911
- }
1912
- function _unregisterEvents(target, evtName, unRegFn) {
1913
- if (evtName.type) {
1914
- _doUnregister(target, _getRegisteredEvents(target, evtName.type), evtName, unRegFn);
1915
- }
1916
- else {
1917
- var eventCache = elmNodeData.get(target, strEvents, {});
1918
- objForEachKey(eventCache, function (evtType, events) {
1919
- _doUnregister(target, events, evtName, unRegFn);
1920
- });
1921
- if (objKeys(eventCache).length === 0) {
1922
- elmNodeData.kill(target, strEvents);
1923
- }
1924
- }
1925
- }
1926
- function mergeEvtNamespace(theNamespace, namespaces) {
1927
- var newNamespaces;
1928
- if (namespaces) {
1929
- if (isArray(namespaces)) {
1930
- newNamespaces = [theNamespace].concat(namespaces);
1931
- }
1932
- else {
1933
- newNamespaces = [theNamespace, namespaces];
1934
- }
1935
- newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns).split(".");
1936
- }
1937
- else {
1938
- newNamespaces = theNamespace;
1939
- }
1940
- return newNamespaces;
1941
- }
1942
- function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
1943
- if (useCapture === void 0) { useCapture = false; }
1944
- var result = false;
1945
- if (target) {
1946
- try {
1947
- var evtName = _getEvtNamespace(eventName, evtNamespace);
1948
- result = _doAttach(target, evtName, handlerRef, useCapture);
1949
- if (result && elmNodeData.accept(target)) {
1950
- var registeredEvent = {
1951
- guid: _guid++,
1952
- evtName: evtName,
1953
- handler: handlerRef,
1954
- capture: useCapture
1955
- };
1956
- _getRegisteredEvents(target, evtName.type).push(registeredEvent);
1957
- }
1958
- }
1959
- catch (e) {
1960
- }
1961
- }
1962
- return result;
1963
- }
1964
- function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {
1965
- if (useCapture === void 0) { useCapture = false; }
1966
- if (target) {
1967
- try {
1968
- var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
1969
- var found_1 = false;
1970
- _unregisterEvents(target, evtName_1, function (regEvent) {
1971
- if ((evtName_1.ns && !handlerRef) || regEvent.handler === handlerRef) {
1972
- found_1 = true;
1973
- return true;
1974
- }
1975
- return false;
1976
- });
1977
- if (!found_1) {
1978
- _doDetach(target, evtName_1, handlerRef, useCapture);
1979
- }
1980
- }
1981
- catch (e) {
1982
- }
1983
- }
1984
- }
1985
- function addEventHandler(eventName, callback, evtNamespace) {
1986
- var result = false;
1987
- var w = getWindow();
1988
- if (w) {
1989
- result = eventOn(w, eventName, callback, evtNamespace);
1990
- result = eventOn(w["body"], eventName, callback, evtNamespace) || result;
1991
- }
1992
- var doc = getDocument();
1993
- if (doc) {
1994
- result = eventOn(doc, eventName, callback, evtNamespace) || result;
1995
- }
1996
- return result;
1997
- }
1998
- function removeEventHandler(eventName, callback, evtNamespace) {
1999
- var w = getWindow();
2000
- if (w) {
2001
- eventOff(w, eventName, callback, evtNamespace);
2002
- eventOff(w["body"], eventName, callback, evtNamespace);
2003
- }
2004
- var doc = getDocument();
2005
- if (doc) {
2006
- eventOff(doc, eventName, callback, evtNamespace);
2007
- }
2008
- }
2009
- function _addEventListeners(events, listener, excludeEvents, evtNamespace) {
2010
- var added = false;
2011
- if (listener && events && events.length > 0) {
2012
- arrForEach(events, function (name) {
2013
- if (name) {
2014
- if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {
2015
- added = addEventHandler(name, listener, evtNamespace) || added;
2016
- }
2017
- }
2018
- });
2019
- }
2020
- return added;
2021
- }
2022
- function addEventListeners(events, listener, excludeEvents, evtNamespace) {
2023
- var added = false;
2024
- if (listener && events && isArray(events)) {
2025
- added = _addEventListeners(events, listener, excludeEvents, evtNamespace);
2026
- if (!added && excludeEvents && excludeEvents.length > 0) {
2027
- added = _addEventListeners(events, listener, null, evtNamespace);
2028
- }
2029
- }
2030
- return added;
2031
- }
2032
- function removeEventListeners(events, listener, evtNamespace) {
2033
- if (events && isArray(events)) {
2034
- arrForEach(events, function (name) {
2035
- if (name) {
2036
- removeEventHandler(name, listener, evtNamespace);
2037
- }
2038
- });
2039
- }
2040
- }
2041
- function addPageUnloadEventListener(listener, excludeEvents, evtNamespace) {
2042
- return addEventListeners([strBeforeUnload, strUnload, strPageHide], listener, excludeEvents, evtNamespace);
2043
- }
2044
- function removePageUnloadEventListener(listener, evtNamespace) {
2045
- removeEventListeners([strBeforeUnload, strUnload, strPageHide], listener, evtNamespace);
2046
- }
2047
- function addPageHideEventListener(listener, excludeEvents, evtNamespace) {
2048
- function _handlePageVisibility(evt) {
2049
- var doc = getDocument();
2050
- if (listener && doc && doc.visibilityState === "hidden") {
2051
- listener(evt);
2052
- }
2053
- }
2054
- var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
2055
- var pageUnloadAdded = _addEventListeners([strPageHide], listener, excludeEvents, newNamespaces);
2056
- if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {
2057
- pageUnloadAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageUnloadAdded;
2058
- }
2059
- if (!pageUnloadAdded && excludeEvents) {
2060
- pageUnloadAdded = addPageHideEventListener(listener, null, evtNamespace);
2061
- }
2062
- return pageUnloadAdded;
2063
- }
2064
- function removePageHideEventListener(listener, evtNamespace) {
2065
- var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);
2066
- removeEventListeners([strPageHide], listener, newNamespaces);
2067
- removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
2068
- }
2069
- function addPageShowEventListener(listener, excludeEvents, evtNamespace) {
2070
- function _handlePageVisibility(evt) {
2071
- var doc = getDocument();
2072
- if (listener && doc && doc.visibilityState === "visible") {
2073
- listener(evt);
2074
- }
2075
- }
2076
- var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
2077
- var pageShowAdded = _addEventListeners([strPageShow], listener, excludeEvents, newNamespaces);
2078
- pageShowAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageShowAdded;
2079
- if (!pageShowAdded && excludeEvents) {
2080
- pageShowAdded = addPageShowEventListener(listener, null, evtNamespace);
2156
+ }
2081
2157
  }
2082
- return pageShowAdded;
2083
- }
2084
- function removePageShowEventListener(listener, evtNamespace) {
2085
- var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
2086
- removeEventListeners([strPageShow], listener, newNamespaces);
2087
- removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
2088
- }
2158
+ BaseTelemetryPlugin.__ieDyn=1;
2159
+ return BaseTelemetryPlugin;
2160
+ }());
2089
2161
 
2090
- function perfNow() {
2091
- var perf = getPerformance();
2092
- if (perf && perf.now) {
2093
- return perf.now();
2094
- }
2095
- return dateNow();
2096
- }
2162
+ var STR_EMPTY = "";
2097
2163
 
2098
2164
  var _a$1;
2099
- var Version = '3.2.1';
2165
+ var Version = '3.2.4';
2100
2166
  var FullVersionString = "1DS-Web-JS-" + Version;
2101
2167
  var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2102
2168
  var strWithCredentials = "withCredentials";
@@ -2111,9 +2177,9 @@
2111
2177
  _a$1[4096 | 3 ] = 7 ,
2112
2178
  _a$1);
2113
2179
  Boolean(getDocument());
2114
- var isWindowObjectAvailable = Boolean(getWindow());
2180
+ Boolean(getWindow());
2115
2181
  function isValueAssigned(value) {
2116
- return !(value === "" || isNullOrUndefined(value));
2182
+ return !(value === STR_EMPTY || isNullOrUndefined(value));
2117
2183
  }
2118
2184
  function getTenantId(apiKey) {
2119
2185
  if (apiKey) {
@@ -2122,7 +2188,7 @@
2122
2188
  return apiKey.substring(0, indexTenantId);
2123
2189
  }
2124
2190
  }
2125
- return "";
2191
+ return STR_EMPTY;
2126
2192
  }
2127
2193
  function sanitizeProperty(name, property, stringifyObjects) {
2128
2194
  if ((!property && !isValueAssigned(property)) || typeof name !== "string") {
@@ -2132,11 +2198,11 @@
2132
2198
  if (propType === "string" || propType === "number" || propType === "boolean" || isArray(property)) {
2133
2199
  property = { value: property };
2134
2200
  }
2135
- else if (propType === "object" && !property.hasOwnProperty("value")) {
2201
+ else if (propType === "object" && !ObjHasOwnProperty.call(property, "value")) {
2136
2202
  property = { value: stringifyObjects ? JSON.stringify(property) : property };
2137
2203
  }
2138
2204
  else if (isNullOrUndefined(property.value)
2139
- || property.value === "" || (!isString(property.value)
2205
+ || property.value === STR_EMPTY || (!isString(property.value)
2140
2206
  && !isNumber(property.value) && !isBoolean(property.value)
2141
2207
  && !isArray(property.value))) {
2142
2208
  return null;
@@ -2262,7 +2328,7 @@
2262
2328
  theType |= getFieldValueType(value[0]);
2263
2329
  }
2264
2330
  }
2265
- else if (hasOwnProperty(value, "value")) {
2331
+ else if (ObjHasOwnProperty.call(value, "value")) {
2266
2332
  theType = 8192 | getFieldValueType(value.value);
2267
2333
  }
2268
2334
  }
@@ -2303,35 +2369,37 @@
2303
2369
  var NRT_PROFILE = "NEAR_REAL_TIME";
2304
2370
  var BE_PROFILE = "BEST_EFFORT";
2305
2371
 
2306
- var Method = "POST";
2307
- var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2308
- var strDropped = "drop";
2309
- var strSending = "send";
2310
- var strRequeue = "requeue";
2311
- var strResponseFail = "rspFail";
2312
- var strOther = "oth";
2313
- var defaultCacheControl = "no-cache, no-store";
2314
- var defaultContentType = "application/x-json-stream";
2315
- var strCacheControl = "cache-control";
2316
- var strContentTypeHeader = "content-type";
2317
- var strKillTokensHeader = "kill-tokens";
2318
- var strKillDurationHeader = "kill-duration";
2319
- var strKillDurationSecondsHeader = "kill-duration-seconds";
2320
- var strTimeDeltaHeader = "time-delta-millis";
2321
- var strClientVersion = "client-version";
2322
- var strClientId = "client-id";
2323
- var strTimeDeltaToApply = "time-delta-to-apply-millis";
2324
- var strUploadTime = "upload-time";
2325
- var strApiKey = "apikey";
2326
- var strMsaDeviceTicket = "AuthMsaDeviceTicket";
2327
- var strAuthXToken = "AuthXToken";
2328
- var strNoResponseBody = "NoResponseBody";
2329
- var strMsfpc = "msfpc";
2372
+ var STR_POST_METHOD = "POST";
2373
+ var STR_DISABLED_PROPERTY_NAME = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2374
+ var STR_DROPPED = "drop";
2375
+ var STR_SENDING = "send";
2376
+ var STR_REQUEUE = "requeue";
2377
+ var STR_RESPONSE_FAIL = "rspFail";
2378
+ var STR_OTHER = "oth";
2379
+ var DEFAULT_CACHE_CONTROL = "no-cache, no-store";
2380
+ var DEFAULT_CONTENT_TYPE = "application/x-json-stream";
2381
+ var STR_CACHE_CONTROL = "cache-control";
2382
+ var STR_CONTENT_TYPE_HEADER = "content-type";
2383
+ var STR_KILL_TOKENS_HEADER = "kill-tokens";
2384
+ var STR_KILL_DURATION_HEADER = "kill-duration";
2385
+ var STR_KILL_DURATION_SECONDS_HEADER = "kill-duration-seconds";
2386
+ var STR_TIME_DELTA_HEADER = "time-delta-millis";
2387
+ var STR_CLIENT_VERSION = "client-version";
2388
+ var STR_CLIENT_ID = "client-id";
2389
+ var STR_TIME_DELTA_TO_APPLY = "time-delta-to-apply-millis";
2390
+ var STR_UPLOAD_TIME = "upload-time";
2391
+ var STR_API_KEY = "apikey";
2392
+ var STR_MSA_DEVICE_TICKET = "AuthMsaDeviceTicket";
2393
+ var STR_AUTH_XTOKEN = "AuthXToken";
2394
+ var STR_NO_RESPONSE_BODY = "NoResponseBody";
2395
+ var STR_MSFPC = "msfpc";
2396
+ var STR_TRACE = "trace";
2397
+ var STR_USER = "user";
2330
2398
 
2331
2399
  function _getEventMsfpc(theEvent) {
2332
2400
  var intWeb = ((theEvent.ext || {})["intweb"]);
2333
- if (intWeb && isValueAssigned(intWeb[strMsfpc])) {
2334
- return intWeb[strMsfpc];
2401
+ if (intWeb && isValueAssigned(intWeb[STR_MSFPC])) {
2402
+ return intWeb[STR_MSFPC];
2335
2403
  }
2336
2404
  return null;
2337
2405
  }
@@ -2388,6 +2456,117 @@
2388
2456
  return EventBatch;
2389
2457
  }());
2390
2458
 
2459
+ var ClockSkewManager = /** @class */ (function () {
2460
+ function ClockSkewManager() {
2461
+ var _allowRequestSending = true;
2462
+ var _shouldAddClockSkewHeaders = true;
2463
+ var _isFirstRequest = true;
2464
+ var _clockSkewHeaderValue = "use-collector-delta";
2465
+ var _clockSkewSet = false;
2466
+ dynamicProto(ClockSkewManager, this, function (_self) {
2467
+ _self.allowRequestSending = function () {
2468
+ return _allowRequestSending;
2469
+ };
2470
+ _self.firstRequestSent = function () {
2471
+ if (_isFirstRequest) {
2472
+ _isFirstRequest = false;
2473
+ if (!_clockSkewSet) {
2474
+ _allowRequestSending = false;
2475
+ }
2476
+ }
2477
+ };
2478
+ _self.shouldAddClockSkewHeaders = function () {
2479
+ return _shouldAddClockSkewHeaders;
2480
+ };
2481
+ _self.getClockSkewHeaderValue = function () {
2482
+ return _clockSkewHeaderValue;
2483
+ };
2484
+ _self.setClockSkew = function (timeDeltaInMillis) {
2485
+ if (!_clockSkewSet) {
2486
+ if (timeDeltaInMillis) {
2487
+ _clockSkewHeaderValue = timeDeltaInMillis;
2488
+ _shouldAddClockSkewHeaders = true;
2489
+ _clockSkewSet = true;
2490
+ }
2491
+ else {
2492
+ _shouldAddClockSkewHeaders = false;
2493
+ }
2494
+ _allowRequestSending = true;
2495
+ }
2496
+ };
2497
+ });
2498
+ }
2499
+ ClockSkewManager.__ieDyn=1;
2500
+ return ClockSkewManager;
2501
+ }());
2502
+ var EVTClockSkewManager = ClockSkewManager;
2503
+
2504
+ var SecToMsMultiplier = 1000;
2505
+ var KillSwitch = /** @class */ (function () {
2506
+ function KillSwitch() {
2507
+ var _killedTokenDictionary = {};
2508
+ function _normalizeTenants(values) {
2509
+ var result = [];
2510
+ if (values) {
2511
+ arrForEach(values, function (value) {
2512
+ result.push(strTrim(value));
2513
+ });
2514
+ }
2515
+ return result;
2516
+ }
2517
+ dynamicProto(KillSwitch, this, function (_self) {
2518
+ _self.setKillSwitchTenants = function (killTokens, killDuration) {
2519
+ if (killTokens && killDuration) {
2520
+ try {
2521
+ var killedTokens = _normalizeTenants(killTokens.split(","));
2522
+ if (killDuration === "this-request-only") {
2523
+ return killedTokens;
2524
+ }
2525
+ var durationMs = parseInt(killDuration, 10) * SecToMsMultiplier;
2526
+ for (var i = 0; i < killedTokens.length; ++i) {
2527
+ _killedTokenDictionary[killedTokens[i]] = dateNow() + durationMs;
2528
+ }
2529
+ }
2530
+ catch (ex) {
2531
+ return [];
2532
+ }
2533
+ }
2534
+ return [];
2535
+ };
2536
+ _self.isTenantKilled = function (tenantToken) {
2537
+ var killDictionary = _killedTokenDictionary;
2538
+ var name = strTrim(tenantToken);
2539
+ if (killDictionary[name] !== undefined && killDictionary[name] > dateNow()) {
2540
+ return true;
2541
+ }
2542
+ delete killDictionary[name];
2543
+ return false;
2544
+ };
2545
+ });
2546
+ }
2547
+ KillSwitch.__ieDyn=1;
2548
+ return KillSwitch;
2549
+ }());
2550
+ var EVTKillSwitch = KillSwitch;
2551
+
2552
+ var RandomizationLowerThreshold = 0.8;
2553
+ var RandomizationUpperThreshold = 1.2;
2554
+ var BaseBackoff = 3000;
2555
+ var MaxBackoff = 600000;
2556
+ function retryPolicyShouldRetryForStatus(httpStatusCode) {
2557
+ return !((httpStatusCode >= 300 && httpStatusCode < 500 && httpStatusCode != 408 && httpStatusCode != 429)
2558
+ || (httpStatusCode == 501)
2559
+ || (httpStatusCode == 505));
2560
+ }
2561
+ function retryPolicyGetMillisToBackoffForRetry(retriesSoFar) {
2562
+ var waitDuration = 0;
2563
+ var minBackoff = BaseBackoff * RandomizationLowerThreshold;
2564
+ var maxBackoff = BaseBackoff * RandomizationUpperThreshold;
2565
+ var randomBackoff = Math.floor(Math.random() * (maxBackoff - minBackoff)) + minBackoff;
2566
+ waitDuration = Math.pow(2, retriesSoFar) * randomBackoff;
2567
+ return Math.min(waitDuration, MaxBackoff);
2568
+ }
2569
+
2391
2570
  var _MAX_STRING_JOINS = 20;
2392
2571
  var RequestSizeLimitBytes = 3984588;
2393
2572
  var BeaconRequestSizeLimitBytes = 65000;
@@ -2593,6 +2772,7 @@
2593
2772
  }
2594
2773
  });
2595
2774
  }
2775
+ Serializer.__ieDyn=1;
2596
2776
  return Serializer;
2597
2777
  }());
2598
2778
  function _addJSONPropertyMetaData(json, propKeys, name, propertyValue) {
@@ -2633,124 +2813,15 @@
2633
2813
  }
2634
2814
  }
2635
2815
 
2636
- var RandomizationLowerThreshold = 0.8;
2637
- var RandomizationUpperThreshold = 1.2;
2638
- var BaseBackoff = 3000;
2639
- var MaxBackoff = 600000;
2640
- function retryPolicyShouldRetryForStatus(httpStatusCode) {
2641
- return !((httpStatusCode >= 300 && httpStatusCode < 500 && httpStatusCode != 408 && httpStatusCode != 429)
2642
- || (httpStatusCode == 501)
2643
- || (httpStatusCode == 505));
2644
- }
2645
- function retryPolicyGetMillisToBackoffForRetry(retriesSoFar) {
2646
- var waitDuration = 0;
2647
- var minBackoff = BaseBackoff * RandomizationLowerThreshold;
2648
- var maxBackoff = BaseBackoff * RandomizationUpperThreshold;
2649
- var randomBackoff = Math.floor(Math.random() * (maxBackoff - minBackoff)) + minBackoff;
2650
- waitDuration = Math.pow(2, retriesSoFar) * randomBackoff;
2651
- return Math.min(waitDuration, MaxBackoff);
2652
- }
2653
-
2654
- var SecToMsMultiplier = 1000;
2655
- var KillSwitch = /** @class */ (function () {
2656
- function KillSwitch() {
2657
- var _killedTokenDictionary = {};
2658
- function _normalizeTenants(values) {
2659
- var result = [];
2660
- if (values) {
2661
- arrForEach(values, function (value) {
2662
- result.push(strTrim(value));
2663
- });
2664
- }
2665
- return result;
2666
- }
2667
- dynamicProto(KillSwitch, this, function (_self) {
2668
- _self.setKillSwitchTenants = function (killTokens, killDuration) {
2669
- if (killTokens && killDuration) {
2670
- try {
2671
- var killedTokens = _normalizeTenants(killTokens.split(","));
2672
- if (killDuration === "this-request-only") {
2673
- return killedTokens;
2674
- }
2675
- var durationMs = parseInt(killDuration, 10) * SecToMsMultiplier;
2676
- for (var i = 0; i < killedTokens.length; ++i) {
2677
- _killedTokenDictionary[killedTokens[i]] = dateNow() + durationMs;
2678
- }
2679
- }
2680
- catch (ex) {
2681
- return [];
2682
- }
2683
- }
2684
- return [];
2685
- };
2686
- _self.isTenantKilled = function (tenantToken) {
2687
- var killDictionary = _killedTokenDictionary;
2688
- var name = strTrim(tenantToken);
2689
- if (killDictionary[name] !== undefined && killDictionary[name] > dateNow()) {
2690
- return true;
2691
- }
2692
- delete killDictionary[name];
2693
- return false;
2694
- };
2695
- });
2696
- }
2697
- return KillSwitch;
2698
- }());
2699
- var EVTKillSwitch = KillSwitch;
2700
-
2701
- var ClockSkewManager = /** @class */ (function () {
2702
- function ClockSkewManager() {
2703
- var _allowRequestSending = true;
2704
- var _shouldAddClockSkewHeaders = true;
2705
- var _isFirstRequest = true;
2706
- var _clockSkewHeaderValue = "use-collector-delta";
2707
- var _clockSkewSet = false;
2708
- dynamicProto(ClockSkewManager, this, function (_self) {
2709
- _self.allowRequestSending = function () {
2710
- return _allowRequestSending;
2711
- };
2712
- _self.firstRequestSent = function () {
2713
- if (_isFirstRequest) {
2714
- _isFirstRequest = false;
2715
- if (!_clockSkewSet) {
2716
- _allowRequestSending = false;
2717
- }
2718
- }
2719
- };
2720
- _self.shouldAddClockSkewHeaders = function () {
2721
- return _shouldAddClockSkewHeaders;
2722
- };
2723
- _self.getClockSkewHeaderValue = function () {
2724
- return _clockSkewHeaderValue;
2725
- };
2726
- _self.setClockSkew = function (timeDeltaInMillis) {
2727
- if (!_clockSkewSet) {
2728
- if (timeDeltaInMillis) {
2729
- _clockSkewHeaderValue = timeDeltaInMillis;
2730
- _shouldAddClockSkewHeaders = true;
2731
- _clockSkewSet = true;
2732
- }
2733
- else {
2734
- _shouldAddClockSkewHeaders = false;
2735
- }
2736
- _allowRequestSending = true;
2737
- }
2738
- };
2739
- });
2740
- }
2741
- return ClockSkewManager;
2742
- }());
2743
- var EVTClockSkewManager = ClockSkewManager;
2744
-
2745
2816
  var _a;
2746
2817
  var strSendAttempt = "sendAttempt";
2747
- var _noResponseQs = "&" + strNoResponseBody + "=true";
2818
+ var _noResponseQs = "&" + STR_NO_RESPONSE_BODY + "=true";
2748
2819
  var _eventActionMap = (_a = {},
2749
- _a[1 ] = strRequeue,
2750
- _a[100 ] = strRequeue,
2820
+ _a[1 ] = STR_REQUEUE,
2821
+ _a[100 ] = STR_REQUEUE,
2751
2822
  _a[200 ] = "sent",
2752
- _a[8004 ] = strDropped,
2753
- _a[8003 ] = strDropped,
2823
+ _a[8004 ] = STR_DROPPED,
2824
+ _a[8003 ] = STR_DROPPED,
2754
2825
  _a);
2755
2826
  var _collectorQsHeaders = {};
2756
2827
  var _collectorHeaderToQs = {};
@@ -2760,13 +2831,13 @@
2760
2831
  _collectorHeaderToQs[headerName] = qsName;
2761
2832
  }
2762
2833
  }
2763
- _addCollectorHeaderQsMapping(strMsaDeviceTicket, strMsaDeviceTicket, false);
2764
- _addCollectorHeaderQsMapping(strClientVersion, strClientVersion);
2765
- _addCollectorHeaderQsMapping(strClientId, "Client-Id");
2766
- _addCollectorHeaderQsMapping(strApiKey, strApiKey);
2767
- _addCollectorHeaderQsMapping(strTimeDeltaToApply, strTimeDeltaToApply);
2768
- _addCollectorHeaderQsMapping(strUploadTime, strUploadTime);
2769
- _addCollectorHeaderQsMapping(strAuthXToken, strAuthXToken);
2834
+ _addCollectorHeaderQsMapping(STR_MSA_DEVICE_TICKET, STR_MSA_DEVICE_TICKET, false);
2835
+ _addCollectorHeaderQsMapping(STR_CLIENT_VERSION, STR_CLIENT_VERSION);
2836
+ _addCollectorHeaderQsMapping(STR_CLIENT_ID, "Client-Id");
2837
+ _addCollectorHeaderQsMapping(STR_API_KEY, STR_API_KEY);
2838
+ _addCollectorHeaderQsMapping(STR_TIME_DELTA_TO_APPLY, STR_TIME_DELTA_TO_APPLY);
2839
+ _addCollectorHeaderQsMapping(STR_UPLOAD_TIME, STR_UPLOAD_TIME);
2840
+ _addCollectorHeaderQsMapping(STR_AUTH_XTOKEN, STR_AUTH_XTOKEN);
2770
2841
  function _getResponseText(xhr) {
2771
2842
  try {
2772
2843
  return xhr.responseText;
@@ -2805,15 +2876,16 @@
2805
2876
  }
2806
2877
  }
2807
2878
  var HttpManager = /** @class */ (function () {
2808
- function HttpManager(maxEventsPerBatch, maxConnections, maxRequestRetriesBeforeBackoff, actions) {
2879
+ function HttpManager(maxEventsPerBatch, maxConnections, maxRequestRetriesBeforeBackoff, actions, timeoutOverride) {
2809
2880
  this._responseHandlers = [];
2810
- var _urlString = "?cors=true&" + strContentTypeHeader.toLowerCase() + "=" + defaultContentType;
2881
+ var _urlString = "?cors=true&" + STR_CONTENT_TYPE_HEADER.toLowerCase() + "=" + DEFAULT_CONTENT_TYPE;
2811
2882
  var _killSwitch = new EVTKillSwitch();
2812
2883
  var _paused = false;
2813
2884
  var _clockSkewManager = new EVTClockSkewManager();
2814
2885
  var _useBeacons = false;
2815
2886
  var _outstandingRequests = 0;
2816
2887
  var _postManager;
2888
+ var _logger;
2817
2889
  var _sendInterfaces;
2818
2890
  var _core;
2819
2891
  var _customHttpInterface = true;
@@ -2841,6 +2913,7 @@
2841
2913
  _enableEventTimings = !_core.config.disableEventTimings;
2842
2914
  var enableCompoundKey = !!_core.config.enableCompoundKey;
2843
2915
  _postManager = postChannel;
2916
+ _logger = _postManager.diagLog();
2844
2917
  var valueSanitizer = channelConfig.valueSanitizer;
2845
2918
  var stringifyObjects = channelConfig.stringifyObjects;
2846
2919
  if (!isUndefined(channelConfig.enableCompoundKey)) {
@@ -2878,7 +2951,7 @@
2878
2951
  httpInterface = _getSenderInterface(theTransports, false);
2879
2952
  syncHttpInterface = _getSenderInterface(theTransports, true);
2880
2953
  if (!httpInterface) {
2881
- _postManager.diagLog().warnToConsole("No available transport to send events");
2954
+ _warnToConsole(_logger, "No available transport to send events");
2882
2955
  }
2883
2956
  }
2884
2957
  _sendInterfaces = (_a = {},
@@ -2924,7 +2997,7 @@
2924
2997
  };
2925
2998
  function _xdrSendPost(payload, oncomplete, sync) {
2926
2999
  var xdr = new XDomainRequest();
2927
- xdr.open(Method, payload.urlString);
3000
+ xdr.open(STR_POST_METHOD, payload.urlString);
2928
3001
  if (payload.timeout) {
2929
3002
  xdr.timeout = payload.timeout;
2930
3003
  }
@@ -2944,7 +3017,7 @@
2944
3017
  xdr.send(payload.data);
2945
3018
  }
2946
3019
  else {
2947
- _postManager._setTimeoutOverride(function () {
3020
+ timeoutOverride.set(function () {
2948
3021
  xdr.send(payload.data);
2949
3022
  }, 0);
2950
3023
  }
@@ -2956,9 +3029,9 @@
2956
3029
  var responseHandled = false;
2957
3030
  var requestInit = (_a = {
2958
3031
  body: payload.data,
2959
- method: Method
3032
+ method: STR_POST_METHOD
2960
3033
  },
2961
- _a[DisabledPropertyName] = true,
3034
+ _a[STR_DISABLED_PROPERTY_NAME] = true,
2962
3035
  _a);
2963
3036
  if (sync) {
2964
3037
  requestInit.keepalive = true;
@@ -2976,8 +3049,9 @@
2976
3049
  fetch(theUrl, requestInit).then(function (response) {
2977
3050
  var headerMap = {};
2978
3051
  var responseText = "";
2979
- if (response.headers) {
2980
- response.headers.forEach(function (value, name) {
3052
+ var headers = response.headers;
3053
+ if (headers) {
3054
+ headers["forEach"](function (value, name) {
2981
3055
  headerMap[name] = value;
2982
3056
  });
2983
3057
  }
@@ -3002,7 +3076,7 @@
3002
3076
  _doOnComplete(oncomplete, 200, {});
3003
3077
  }
3004
3078
  if (!responseHandled && payload.timeout > 0) {
3005
- _postManager._setTimeoutOverride(function () {
3079
+ timeoutOverride.set(function () {
3006
3080
  if (!responseHandled) {
3007
3081
  responseHandled = true;
3008
3082
  _doOnComplete(oncomplete, 500, {});
@@ -3024,9 +3098,9 @@
3024
3098
  function _getAllResponseHeaders(xhr) {
3025
3099
  var theHeaders = {};
3026
3100
  if (!xhr.getAllResponseHeaders) {
3027
- theHeaders = _appendHeader(theHeaders, xhr, strTimeDeltaHeader);
3028
- theHeaders = _appendHeader(theHeaders, xhr, strKillDurationHeader);
3029
- theHeaders = _appendHeader(theHeaders, xhr, strKillDurationSecondsHeader);
3101
+ theHeaders = _appendHeader(theHeaders, xhr, STR_TIME_DELTA_HEADER);
3102
+ theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_HEADER);
3103
+ theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_SECONDS_HEADER);
3030
3104
  }
3031
3105
  else {
3032
3106
  theHeaders = _convertAllHeadersToMap(xhr.getAllResponseHeaders());
@@ -3039,7 +3113,7 @@
3039
3113
  if (sync && payload.disableXhrSync) {
3040
3114
  sync = false;
3041
3115
  }
3042
- var xhrRequest = openXhr(Method, theUrl, _sendCredentials, true, sync, payload.timeout);
3116
+ var xhrRequest = openXhr(STR_POST_METHOD, theUrl, _sendCredentials, true, sync, payload.timeout);
3043
3117
  objForEachKey(payload.headers, function (name, value) {
3044
3118
  xhrRequest.setRequestHeader(name, value);
3045
3119
  });
@@ -3061,7 +3135,7 @@
3061
3135
  oncomplete(status, headers, response);
3062
3136
  }
3063
3137
  catch (e) {
3064
- _throwInternal(_postManager.diagLog(), 2 , 518 , dumpObj(e));
3138
+ _throwInternal(_logger, 2 , 518 , dumpObj(e));
3065
3139
  }
3066
3140
  }
3067
3141
  function _beaconSendPost(payload, oncomplete, sync) {
@@ -3096,7 +3170,7 @@
3096
3170
  }
3097
3171
  }
3098
3172
  catch (ex) {
3099
- _postManager.diagLog().warnToConsole("Failed to send telemetry using sendBeacon API. Ex:" + dumpObj(ex));
3173
+ _warnToConsole(_logger, "Failed to send telemetry using sendBeacon API. Ex:" + dumpObj(ex));
3100
3174
  status = 0;
3101
3175
  }
3102
3176
  finally {
@@ -3260,7 +3334,7 @@
3260
3334
  }, function () { return ({ batches: _createDebugBatches(orgBatches_1), retryCount: retryCount, isTeardown: isTeardown, isSynchronous: isSynchronous_1, sendReason: sendReason, useSendBeacon: _isBeaconPayload(sendType), sendType: sendType }); }, !isSynchronous_1);
3261
3335
  }
3262
3336
  catch (ex) {
3263
- _throwInternal(_postManager.diagLog(), 2 , 48 , "Unexpected Exception sending batch: " + dumpObj(ex));
3337
+ _throwInternal(_logger, 2 , 48 , "Unexpected Exception sending batch: " + dumpObj(ex));
3264
3338
  }
3265
3339
  }
3266
3340
  function _buildRequestDetails(thePayload, useHeaders) {
@@ -3284,8 +3358,8 @@
3284
3358
  requestDetails.hdrs = extend(requestDetails.hdrs, _headers);
3285
3359
  requestDetails.useHdrs = (objKeys(requestDetails.hdrs).length > 0);
3286
3360
  }
3287
- _addRequestDetails(requestDetails, strClientId, "NO_AUTH", useHeaders);
3288
- _addRequestDetails(requestDetails, strClientVersion, FullVersionString, useHeaders);
3361
+ _addRequestDetails(requestDetails, STR_CLIENT_ID, "NO_AUTH", useHeaders);
3362
+ _addRequestDetails(requestDetails, STR_CLIENT_VERSION, FullVersionString, useHeaders);
3289
3363
  var apiQsKeys = "";
3290
3364
  arrForEach(thePayload.apiKeys, function (apiKey) {
3291
3365
  if (apiQsKeys.length > 0) {
@@ -3293,14 +3367,14 @@
3293
3367
  }
3294
3368
  apiQsKeys += apiKey;
3295
3369
  });
3296
- _addRequestDetails(requestDetails, strApiKey, apiQsKeys, useHeaders);
3297
- _addRequestDetails(requestDetails, strUploadTime, dateNow().toString(), useHeaders);
3370
+ _addRequestDetails(requestDetails, STR_API_KEY, apiQsKeys, useHeaders);
3371
+ _addRequestDetails(requestDetails, STR_UPLOAD_TIME, dateNow().toString(), useHeaders);
3298
3372
  var msfpc = _getMsfpc(thePayload);
3299
3373
  if (isValueAssigned(msfpc)) {
3300
3374
  requestDetails.url += "&ext.intweb.msfpc=" + msfpc;
3301
3375
  }
3302
3376
  if (_clockSkewManager.shouldAddClockSkewHeaders()) {
3303
- _addRequestDetails(requestDetails, strTimeDeltaToApply, _clockSkewManager.getClockSkewHeaderValue(), useHeaders);
3377
+ _addRequestDetails(requestDetails, STR_TIME_DELTA_TO_APPLY, _clockSkewManager.getClockSkewHeaderValue(), useHeaders);
3304
3378
  }
3305
3379
  if (_core.getWParam) {
3306
3380
  var wParam = _core.getWParam();
@@ -3362,11 +3436,11 @@
3362
3436
  orgPayloadData.disableXhrSync = !!_disableXhrSync;
3363
3437
  }
3364
3438
  if (useHeaders_1) {
3365
- if (!_hasHeader(orgPayloadData.headers, strCacheControl)) {
3366
- orgPayloadData.headers[strCacheControl] = defaultCacheControl;
3439
+ if (!_hasHeader(orgPayloadData.headers, STR_CACHE_CONTROL)) {
3440
+ orgPayloadData.headers[STR_CACHE_CONTROL] = DEFAULT_CACHE_CONTROL;
3367
3441
  }
3368
- if (!_hasHeader(orgPayloadData.headers, strContentTypeHeader)) {
3369
- orgPayloadData.headers[strContentTypeHeader] = defaultContentType;
3442
+ if (!_hasHeader(orgPayloadData.headers, STR_CONTENT_TYPE_HEADER)) {
3443
+ orgPayloadData.headers[STR_CONTENT_TYPE_HEADER] = DEFAULT_CONTENT_TYPE;
3370
3444
  }
3371
3445
  }
3372
3446
  var sender = null;
@@ -3384,7 +3458,7 @@
3384
3458
  }
3385
3459
  }
3386
3460
  catch (ex) {
3387
- _postManager.diagLog().warnToConsole("Unexpected exception sending payload. Ex:" + dumpObj(ex));
3461
+ _warnToConsole(_logger, "Unexpected exception sending payload. Ex:" + dumpObj(ex));
3388
3462
  _doOnComplete(onComplete, 0, {});
3389
3463
  }
3390
3464
  };
@@ -3452,9 +3526,9 @@
3452
3526
  var shouldRetry = true;
3453
3527
  if (typeof status !== strShimUndefined) {
3454
3528
  if (headers) {
3455
- _clockSkewManager.setClockSkew(headers[strTimeDeltaHeader]);
3456
- var killDuration = headers[strKillDurationHeader] || headers["kill-duration-seconds"];
3457
- arrForEach(_killSwitch.setKillSwitchTenants(headers[strKillTokensHeader], killDuration), function (killToken) {
3529
+ _clockSkewManager.setClockSkew(headers[STR_TIME_DELTA_HEADER]);
3530
+ var killDuration = headers[STR_KILL_DURATION_HEADER] || headers["kill-duration-seconds"];
3531
+ arrForEach(_killSwitch.setKillSwitchTenants(headers[STR_KILL_TOKENS_HEADER], killDuration), function (killToken) {
3458
3532
  arrForEach(thePayload.batches, function (theBatch) {
3459
3533
  if (theBatch.iKey() === killToken) {
3460
3534
  droppedBatches = droppedBatches || [];
@@ -3541,7 +3615,7 @@
3541
3615
  cb();
3542
3616
  }
3543
3617
  else {
3544
- _postManager._setTimeoutOverride(cb, interval);
3618
+ timeoutOverride.set(cb, interval);
3545
3619
  }
3546
3620
  }
3547
3621
  function _convertAllHeadersToMap(headersString) {
@@ -3581,13 +3655,13 @@
3581
3655
  responseHandlers[i](responseText);
3582
3656
  }
3583
3657
  catch (e) {
3584
- _throwInternal(_postManager.diagLog(), 1 , 519 , "Response handler failed: " + e);
3658
+ _throwInternal(_logger, 1 , 519 , "Response handler failed: " + e);
3585
3659
  }
3586
3660
  }
3587
3661
  if (responseText) {
3588
3662
  var response = JSON.parse(responseText);
3589
- if (isValueAssigned(response.webResult) && isValueAssigned(response.webResult[strMsfpc])) {
3590
- _cookieMgr.set("MSFPC", response.webResult[strMsfpc], 365 * 86400);
3663
+ if (isValueAssigned(response.webResult) && isValueAssigned(response.webResult[STR_MSFPC])) {
3664
+ _cookieMgr.set("MSFPC", response.webResult[STR_MSFPC], 365 * 86400);
3591
3665
  }
3592
3666
  }
3593
3667
  }
@@ -3605,7 +3679,7 @@
3605
3679
  theAction_1.call(actions, theBatches, batchReason, isSyncRequest_1, sendType);
3606
3680
  }
3607
3681
  catch (e) {
3608
- _throwInternal(_postManager.diagLog(), 1 , 74 , "send request notification failed: " + e);
3682
+ _throwInternal(_logger, 1 , 74 , "send request notification failed: " + e);
3609
3683
  }
3610
3684
  }, sendSync || isSyncRequest_1, 0);
3611
3685
  }, function () { return ({ batches: _createDebugBatches(theBatches), reason: batchReason, isSync: isSyncRequest_1, sendSync: sendSync, sendType: sendType }); }, !isSyncRequest_1);
@@ -3615,31 +3689,48 @@
3615
3689
  function _getNotificationAction(reason) {
3616
3690
  var action = _eventActionMap[reason];
3617
3691
  if (!isValueAssigned(action)) {
3618
- action = strOther;
3692
+ action = STR_OTHER;
3619
3693
  if (reason >= 9000 && reason <= 9999 ) {
3620
- action = strResponseFail;
3694
+ action = STR_RESPONSE_FAIL;
3621
3695
  }
3622
3696
  else if (reason >= 8000 && reason <= 8999 ) {
3623
- action = strDropped;
3697
+ action = STR_DROPPED;
3624
3698
  }
3625
3699
  else if (reason >= 1000 && reason <= 1999 ) {
3626
- action = strSending;
3700
+ action = STR_SENDING;
3627
3701
  }
3628
3702
  }
3629
3703
  return action;
3630
3704
  }
3631
3705
  });
3632
3706
  }
3707
+ HttpManager.__ieDyn=1;
3633
3708
  return HttpManager;
3634
3709
  }());
3635
3710
 
3711
+ function defaultSetTimeout(callback, ms) {
3712
+ var args = [];
3713
+ for (var _i = 2; _i < arguments.length; _i++) {
3714
+ args[_i - 2] = arguments[_i];
3715
+ }
3716
+ return setTimeout(callback, ms, args);
3717
+ }
3718
+ function defaultClearTimeout(timeoutId) {
3719
+ clearTimeout(timeoutId);
3720
+ }
3721
+ function createTimeoutWrapper(argSetTimeout, argClearTimeout) {
3722
+ return {
3723
+ set: argSetTimeout || defaultSetTimeout,
3724
+ clear: argClearTimeout || defaultClearTimeout
3725
+ };
3726
+ }
3727
+
3636
3728
  var FlushCheckTimer = 0.250;
3637
3729
  var MaxNumberEventPerBatch = 500;
3638
3730
  var EventsDroppedAtOneTime = 20;
3639
3731
  var MaxSendAttempts = 6;
3640
3732
  var MaxSyncUnloadSendAttempts = 2;
3641
3733
  var MaxBackoffCount = 4;
3642
- var globalContext = isWindowObjectAvailable ? window : undefined;
3643
3734
  var MaxConnections = 2;
3644
3735
  var MaxRequestRetriesBeforeBackoff = 1;
3645
3736
  var strEventsDiscarded = "eventsDiscarded";
@@ -3653,7 +3744,7 @@
3653
3744
  var _this = _super.call(this) || this;
3654
3745
  _this.identifier = "PostChannel";
3655
3746
  _this.priority = 1011;
3656
- _this.version = '3.2.1';
3747
+ _this.version = '3.2.4';
3657
3748
  var _config;
3658
3749
  var _isTeardownCalled = false;
3659
3750
  var _flushCallbackQueue = [];
@@ -3678,10 +3769,10 @@
3678
3769
  var _delayedBatchReason;
3679
3770
  var _optimizeObject = true;
3680
3771
  var _isPageUnloadTriggered = false;
3681
- var _disableXhrSync = false;
3682
3772
  var _maxEventSendAttempts = MaxSendAttempts;
3683
3773
  var _maxUnloadEventSendAttempts = MaxSyncUnloadSendAttempts;
3684
3774
  var _evtNamespace;
3775
+ var _timeoutWrapper;
3685
3776
  dynamicProto(PostChannel, _this, function (_self, _base) {
3686
3777
  _initDefaults();
3687
3778
  _self["_getDbgPlgTargets"] = function () {
@@ -3697,8 +3788,7 @@
3697
3788
  var ctx = _self._getTelCtx();
3698
3789
  coreConfig.extensionConfig[_self.identifier] = coreConfig.extensionConfig[_self.identifier] || {};
3699
3790
  _config = ctx.getExtCfg(_self.identifier);
3700
- _self._setTimeoutOverride = _config.setTimeoutOverride ? _config.setTimeoutOverride : setTimeout.bind(globalContext);
3701
- _self._clearTimeoutOverride = _config.clearTimeoutOverride ? _config.clearTimeoutOverride : clearTimeout.bind(globalContext);
3791
+ _timeoutWrapper = createTimeoutWrapper(_config.setTimeoutOverride, _config.clearTimeoutOverride);
3702
3792
  _optimizeObject = !_config.disableOptimizeObj && isChromium();
3703
3793
  _hookWParam(extendedCore);
3704
3794
  if (_config.eventsLimitInMem > 0) {
@@ -3710,7 +3800,6 @@
3710
3800
  if (_config.autoFlushEventsLimit > 0) {
3711
3801
  _autoFlushEventsLimit = _config.autoFlushEventsLimit;
3712
3802
  }
3713
- _disableXhrSync = _config.disableXhrSync;
3714
3803
  if (isNumber(_config[strMaxEventRetryAttempts])) {
3715
3804
  _maxEventSendAttempts = _config[strMaxEventRetryAttempts];
3716
3805
  }
@@ -3804,11 +3893,11 @@
3804
3893
  if (!event.latency) {
3805
3894
  event.latency = 1 ;
3806
3895
  }
3807
- if (event.ext && event.ext["trace"]) {
3808
- delete (event.ext["trace"]);
3896
+ if (event.ext && event.ext[STR_TRACE]) {
3897
+ delete (event.ext[STR_TRACE]);
3809
3898
  }
3810
- if (event.ext && event.ext["user"] && event.ext["user"]["id"]) {
3811
- delete (event.ext["user"]["id"]);
3899
+ if (event.ext && event.ext[STR_USER] && event.ext[STR_USER]["id"]) {
3900
+ delete (event.ext[STR_USER]["id"]);
3812
3901
  }
3813
3902
  if (_optimizeObject) {
3814
3903
  event.ext = optimizeObject(event.ext);
@@ -3918,13 +4007,13 @@
3918
4007
  _self.flush = function (async, callback, sendReason) {
3919
4008
  if (async === void 0) { async = true; }
3920
4009
  if (!_paused) {
3921
- _clearScheduledTimer();
3922
4010
  sendReason = sendReason || 1 ;
3923
4011
  if (async) {
3924
- _queueBatches(1 , 0 , sendReason);
3925
- _resetQueueCounts();
3926
4012
  if (_flushCallbackTimerId == null) {
4013
+ _clearScheduledTimer();
4014
+ _queueBatches(1 , 0 , sendReason);
3927
4015
  _flushCallbackTimerId = _createTimer(function () {
4016
+ _flushCallbackTimerId = null;
3928
4017
  _flushImpl(callback, sendReason);
3929
4018
  }, 0);
3930
4019
  }
@@ -3933,15 +4022,19 @@
3933
4022
  }
3934
4023
  }
3935
4024
  else {
4025
+ var cleared = _clearScheduledTimer();
3936
4026
  _sendEventsForLatencyAndAbove(1 , 1 , sendReason);
3937
4027
  if (callback !== null && callback !== undefined) {
3938
4028
  callback();
3939
4029
  }
4030
+ if (cleared) {
4031
+ _scheduleTimer();
4032
+ }
3940
4033
  }
3941
4034
  }
3942
4035
  };
3943
4036
  _self.setMsaAuthTicket = function (ticket) {
3944
- _httpManager.addHeader(strMsaDeviceTicket, ticket);
4037
+ _httpManager.addHeader(STR_MSA_DEVICE_TICKET, ticket);
3945
4038
  };
3946
4039
  _self.hasEvents = _hasEvents;
3947
4040
  _self._setTransmitProfile = function (profileName) {
@@ -4027,10 +4120,10 @@
4027
4120
  _delayedBatchReason = null;
4028
4121
  _optimizeObject = true;
4029
4122
  _isPageUnloadTriggered = false;
4030
- _disableXhrSync = false;
4031
4123
  _maxEventSendAttempts = MaxSendAttempts;
4032
4124
  _maxUnloadEventSendAttempts = MaxSyncUnloadSendAttempts;
4033
4125
  _evtNamespace = null;
4126
+ _timeoutWrapper = createTimeoutWrapper();
4034
4127
  _httpManager = new HttpManager(MaxNumberEventPerBatch, MaxConnections, MaxRequestRetriesBeforeBackoff, {
4035
4128
  requeue: _requeueEvents,
4036
4129
  send: _sendingEvent,
@@ -4038,7 +4131,7 @@
4038
4131
  drop: _eventsDropped,
4039
4132
  rspFail: _eventsResponseFail,
4040
4133
  oth: _otherEvent
4041
- });
4134
+ }, _timeoutWrapper);
4042
4135
  _initializeProfiles();
4043
4136
  _clearQueues();
4044
4137
  _setAutoLimits();
@@ -4051,19 +4144,21 @@
4051
4144
  if (_currentBackoffCount) {
4052
4145
  timerMultiplier = retryPolicyGetMillisToBackoffForRetry(_currentBackoffCount - 1);
4053
4146
  }
4054
- return _self._setTimeoutOverride(theTimerFunc, timeOut * timerMultiplier);
4147
+ return _timeoutWrapper.set(theTimerFunc, timeOut * timerMultiplier);
4055
4148
  }
4056
4149
  function _clearScheduledTimer() {
4057
4150
  if (_scheduledTimerId !== null) {
4058
- _self._clearTimeoutOverride(_scheduledTimerId);
4151
+ _timeoutWrapper.clear(_scheduledTimerId);
4059
4152
  _scheduledTimerId = null;
4060
4153
  _timerCount = 0;
4154
+ return true;
4061
4155
  }
4156
+ return false;
4062
4157
  }
4063
4158
  function _releaseAllQueues(sendType, sendReason) {
4064
4159
  _clearScheduledTimer();
4065
4160
  if (_flushCallbackTimerId) {
4066
- _self._clearTimeoutOverride(_flushCallbackTimerId);
4161
+ _timeoutWrapper.clear(_flushCallbackTimerId);
4067
4162
  _flushCallbackTimerId = null;
4068
4163
  }
4069
4164
  if (!_paused) {
@@ -4222,18 +4317,20 @@
4222
4317
  }
4223
4318
  function _flushImpl(callback, sendReason) {
4224
4319
  _sendEventsForLatencyAndAbove(1 , 0 , sendReason);
4320
+ _resetQueueCounts();
4225
4321
  _waitForIdleManager(function () {
4226
4322
  if (callback) {
4227
4323
  callback();
4228
4324
  }
4229
4325
  if (_flushCallbackQueue.length > 0) {
4230
- _flushCallbackTimerId = _createTimer(function () { return _flushImpl(_flushCallbackQueue.shift(), sendReason); }, 0);
4326
+ _flushCallbackTimerId = _createTimer(function () {
4327
+ _flushCallbackTimerId = null;
4328
+ _flushImpl(_flushCallbackQueue.shift(), sendReason);
4329
+ }, 0);
4231
4330
  }
4232
4331
  else {
4233
4332
  _flushCallbackTimerId = null;
4234
- if (_hasEvents()) {
4235
- _scheduleTimer();
4236
- }
4333
+ _scheduleTimer();
4237
4334
  }
4238
4335
  });
4239
4336
  }
@@ -4243,6 +4340,7 @@
4243
4340
  }
4244
4341
  else {
4245
4342
  _flushCallbackTimerId = _createTimer(function () {
4343
+ _flushCallbackTimerId = null;
4246
4344
  _waitForIdleManager(callback);
4247
4345
  }, FlushCheckTimer);
4248
4346
  }
@@ -4357,9 +4455,16 @@
4357
4455
  _autoFlushBatchLimit = 0;
4358
4456
  }
4359
4457
  }
4458
+ objDefineAccessors(_self, "_setTimeoutOverride", function () { return _timeoutWrapper.set; }, function (value) {
4459
+ _timeoutWrapper = createTimeoutWrapper(value, _timeoutWrapper.clear);
4460
+ });
4461
+ objDefineAccessors(_self, "_clearTimeoutOverride", function () { return _timeoutWrapper.clear; }, function (value) {
4462
+ _timeoutWrapper = createTimeoutWrapper(_timeoutWrapper.set, value);
4463
+ });
4360
4464
  });
4361
4465
  return _this;
4362
4466
  }
4467
+ PostChannel.__ieDyn=1;
4363
4468
  return PostChannel;
4364
4469
  }(BaseTelemetryPlugin));
4365
4470
  var PostChannel$1 = PostChannel;