@microsoft/applicationinsights-react-js 4.0.0-nightly.2306-03 → 4.0.0-nightly.2307-08
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/applicationinsights-react-js.js +2253 -1147
- package/browser/applicationinsights-react-js.js.map +1 -1
- package/browser/applicationinsights-react-js.min.js +2 -2
- package/browser/applicationinsights-react-js.min.js.map +1 -1
- package/dist/applicationinsights-react-js.api.json +1 -1
- package/dist/applicationinsights-react-js.d.ts +1 -1
- package/dist/applicationinsights-react-js.js +2253 -1147
- package/dist/applicationinsights-react-js.js.map +1 -1
- package/dist/applicationinsights-react-js.min.js +2 -2
- package/dist/applicationinsights-react-js.min.js.map +1 -1
- package/dist/applicationinsights-react-js.rollup.d.ts +1 -1
- package/dist-esm/AppInsightsContext.js +1 -1
- package/dist-esm/AppInsightsErrorBoundary.js +1 -1
- package/dist-esm/Interfaces/IReactExtensionConfig.js +1 -1
- package/dist-esm/ReactPlugin.js +28 -18
- package/dist-esm/ReactPlugin.js.map +1 -1
- package/dist-esm/applicationinsights-react-js.js +1 -1
- package/dist-esm/useTrackEvent.js +1 -1
- package/dist-esm/useTrackMetric.js +1 -1
- package/dist-esm/withAITracking.js +1 -1
- package/package.json +5 -5
- package/src/ReactPlugin.ts +30 -18
- package/types/tsdoc-metadata.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - React Plugin, 4.0.0-nightly.
|
|
2
|
+
* Application Insights JavaScript SDK - React Plugin, 4.0.0-nightly.2307-08
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
(function (global, factory) {
|
|
@@ -35,121 +35,185 @@
|
|
|
35
35
|
var strShimObject = "object";
|
|
36
36
|
var strShimUndefined = "undefined";
|
|
37
37
|
var strShimPrototype = "prototype";
|
|
38
|
-
var
|
|
38
|
+
var ObjClass$1 = Object;
|
|
39
|
+
var ObjProto$1 = ObjClass$1[strShimPrototype];
|
|
40
|
+
|
|
41
|
+
var UNDEF_VALUE = undefined;
|
|
42
|
+
var NULL_VALUE = null;
|
|
43
|
+
var EMPTY = "";
|
|
44
|
+
var FUNCTION = "function";
|
|
45
|
+
var NUMBER = "number";
|
|
46
|
+
var OBJECT = "object";
|
|
47
|
+
var PROTOTYPE = "prototype";
|
|
48
|
+
var __PROTO__ = "__proto__";
|
|
49
|
+
var STRING = "string";
|
|
50
|
+
var UNDEFINED = "undefined";
|
|
51
|
+
var CONSTRUCTOR = "constructor";
|
|
52
|
+
var SYMBOL = "Symbol";
|
|
53
|
+
var POLYFILL_TAG = "_polyfill";
|
|
54
|
+
var INDEX_OF = "indexOf";
|
|
55
|
+
var LENGTH = "length";
|
|
56
|
+
var DONE = "done";
|
|
57
|
+
var VALUE = "value";
|
|
58
|
+
var NAME = "name";
|
|
59
|
+
var SLICE = "slice";
|
|
39
60
|
var ObjClass = Object;
|
|
40
|
-
var ObjProto = ObjClass[
|
|
41
|
-
var
|
|
42
|
-
var
|
|
43
|
-
var
|
|
44
|
-
var
|
|
61
|
+
var ObjProto = ObjClass[PROTOTYPE];
|
|
62
|
+
var StrCls = String;
|
|
63
|
+
var StrProto = StrCls[PROTOTYPE];
|
|
64
|
+
var ArrCls = Array;
|
|
65
|
+
var ArrProto = ArrCls[PROTOTYPE];
|
|
45
66
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
result = globalThis;
|
|
53
|
-
}
|
|
54
|
-
if (!result && typeof self !== strShimUndefined) {
|
|
55
|
-
result = self;
|
|
56
|
-
}
|
|
57
|
-
if (!result && typeof window !== strShimUndefined) {
|
|
58
|
-
result = window;
|
|
59
|
-
}
|
|
60
|
-
if (!result && typeof global !== strShimUndefined) {
|
|
61
|
-
result = global;
|
|
62
|
-
}
|
|
63
|
-
_cachedGlobal = result;
|
|
67
|
+
function safeGet(cb, defValue) {
|
|
68
|
+
var result = defValue;
|
|
69
|
+
try {
|
|
70
|
+
result = cb();
|
|
71
|
+
}
|
|
72
|
+
catch (e) {
|
|
64
73
|
}
|
|
65
74
|
return result;
|
|
66
75
|
}
|
|
67
|
-
|
|
68
|
-
|
|
76
|
+
|
|
77
|
+
function _createIs(theType) {
|
|
78
|
+
return function (value) {
|
|
79
|
+
return typeof value === theType;
|
|
80
|
+
};
|
|
69
81
|
}
|
|
70
|
-
function
|
|
71
|
-
var
|
|
72
|
-
|
|
73
|
-
return
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
82
|
+
function _createObjIs(theName) {
|
|
83
|
+
var theType = "[object " + theName + "]";
|
|
84
|
+
return function (value) {
|
|
85
|
+
return !!(value && objToString(value) === theType);
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
function objToString(value) {
|
|
89
|
+
return ObjProto.toString.call(value);
|
|
90
|
+
}
|
|
91
|
+
function isUndefined(value) {
|
|
92
|
+
return typeof value === UNDEFINED || value === UNDEFINED;
|
|
93
|
+
}
|
|
94
|
+
function isNullOrUndefined(value) {
|
|
95
|
+
return value === NULL_VALUE || isUndefined(value);
|
|
96
|
+
}
|
|
97
|
+
function isStrictNullOrUndefined(value) {
|
|
98
|
+
return value === NULL_VALUE || !isDefined(value);
|
|
99
|
+
}
|
|
100
|
+
function isDefined(arg) {
|
|
101
|
+
return !!arg || arg !== UNDEF_VALUE;
|
|
102
|
+
}
|
|
103
|
+
var isString = _createIs(STRING);
|
|
104
|
+
var isFunction = _createIs(FUNCTION);
|
|
105
|
+
function isObject(value) {
|
|
106
|
+
if (!value && isNullOrUndefined(value)) {
|
|
107
|
+
return false;
|
|
81
108
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
109
|
+
return !!value && typeof value === OBJECT;
|
|
110
|
+
}
|
|
111
|
+
var isArray = ArrCls.isArray;
|
|
112
|
+
var isNumber = _createIs(NUMBER);
|
|
113
|
+
var isError = _createObjIs("Error");
|
|
114
|
+
function isTruthy(value) {
|
|
115
|
+
return !(!value || safeGet(function () { return !(value && (0 + value)); }, !value));
|
|
85
116
|
}
|
|
86
117
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
118
|
+
var objGetOwnPropertyDescriptor = ObjClass.getOwnPropertyDescriptor;
|
|
119
|
+
|
|
120
|
+
function objHasOwnProperty(obj, prop) {
|
|
121
|
+
return obj && ObjProto.hasOwnProperty.call(obj, prop);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
var objHasOwn = ObjClass["hasOwn"] || polyObjHasOwn;
|
|
125
|
+
function polyObjHasOwn(obj, prop) {
|
|
126
|
+
return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
function objForEachKey(theObject, callbackfn, thisArg) {
|
|
130
|
+
if (theObject && isObject(theObject)) {
|
|
131
|
+
for (var prop in theObject) {
|
|
132
|
+
if (objHasOwn(theObject, prop)) {
|
|
133
|
+
if (callbackfn.call(thisArg || theObject, prop, theObject[prop]) === -1) {
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
95
136
|
}
|
|
96
137
|
}
|
|
97
138
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
function _createKeyValueMap(values, keyType, valueType, completeFn) {
|
|
142
|
+
var theMap = {};
|
|
143
|
+
objForEachKey(values, function (key, value) {
|
|
144
|
+
theMap[key] = keyType ? value : key;
|
|
145
|
+
theMap[value] = valueType ? value : key;
|
|
146
|
+
});
|
|
147
|
+
return completeFn(theMap);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
function throwTypeError(message) {
|
|
151
|
+
throw new TypeError(message);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
function polyObjEntries(value) {
|
|
155
|
+
var result = [];
|
|
156
|
+
objForEachKey(value, function (key, value) {
|
|
157
|
+
result.push([key, value]);
|
|
158
|
+
});
|
|
159
|
+
return result;
|
|
160
|
+
}
|
|
161
|
+
function polyObjValues(value) {
|
|
162
|
+
var result = [];
|
|
163
|
+
objForEachKey(value, function (key, value) {
|
|
164
|
+
result.push(value);
|
|
165
|
+
});
|
|
166
|
+
return result;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
var _objFreeze = ObjClass["freeze"];
|
|
170
|
+
var _doNothing = function (value) { return value; };
|
|
171
|
+
var _getProto = function (value) { return value[__PROTO__] || NULL_VALUE; };
|
|
172
|
+
var objAssign = ObjClass["assign"];
|
|
173
|
+
function objDeepFreeze(value) {
|
|
174
|
+
if (_objFreeze) {
|
|
175
|
+
objForEachKey(value, function (key, value) {
|
|
176
|
+
if (isArray(value) || isObject(value)) {
|
|
177
|
+
_objFreeze(value);
|
|
111
178
|
}
|
|
112
|
-
};
|
|
113
|
-
return extendStaticsFn(d, b);
|
|
114
|
-
};
|
|
115
|
-
function __extendsFn(d, b) {
|
|
116
|
-
if (typeof b !== strShimFunction && b !== null) {
|
|
117
|
-
throwTypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
118
|
-
}
|
|
119
|
-
extendStaticsFn(d, b);
|
|
120
|
-
function __() {
|
|
121
|
-
this.constructor = d;
|
|
179
|
+
});
|
|
122
180
|
}
|
|
123
|
-
|
|
181
|
+
return objFreeze(value);
|
|
124
182
|
}
|
|
183
|
+
var objFreeze = _objFreeze || _doNothing;
|
|
184
|
+
ObjClass["seal"] || _doNothing;
|
|
185
|
+
var objGetPrototypeOf = ObjClass["getPrototypeOf"] || _getProto;
|
|
186
|
+
ObjClass.entries || polyObjEntries;
|
|
187
|
+
ObjClass.values || polyObjValues;
|
|
125
188
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
var
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
var
|
|
150
|
-
|
|
151
|
-
var
|
|
152
|
-
|
|
189
|
+
function createEnum(values) {
|
|
190
|
+
return _createKeyValueMap(values, 1 , 0 , objDeepFreeze);
|
|
191
|
+
}
|
|
192
|
+
function createEnumKeyMap(values) {
|
|
193
|
+
return _createKeyValueMap(values, 0 , 0 , objDeepFreeze);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
var _wellKnownSymbolMap = createEnumKeyMap({
|
|
197
|
+
asyncIterator: 0 ,
|
|
198
|
+
hasInstance: 1 ,
|
|
199
|
+
isConcatSpreadable: 2 ,
|
|
200
|
+
iterator: 3 ,
|
|
201
|
+
match: 4 ,
|
|
202
|
+
matchAll: 5 ,
|
|
203
|
+
replace: 6 ,
|
|
204
|
+
search: 7 ,
|
|
205
|
+
species: 8 ,
|
|
206
|
+
split: 9 ,
|
|
207
|
+
toPrimitive: 10 ,
|
|
208
|
+
toStringTag: 11 ,
|
|
209
|
+
unscopables: 12
|
|
210
|
+
});
|
|
211
|
+
|
|
212
|
+
var asString = StrCls;
|
|
213
|
+
|
|
214
|
+
var GLOBAL_CONFIG_KEY = "__tsUtils$gblCfg";
|
|
215
|
+
var _globalCfg;
|
|
216
|
+
function _getGlobalValue() {
|
|
153
217
|
var result;
|
|
154
218
|
if (typeof globalThis !== UNDEFINED) {
|
|
155
219
|
result = globalThis;
|
|
@@ -163,330 +227,897 @@
|
|
|
163
227
|
if (!result && typeof global !== UNDEFINED) {
|
|
164
228
|
result = global;
|
|
165
229
|
}
|
|
166
|
-
return result
|
|
167
|
-
}
|
|
168
|
-
var _gbl = _getGlobal();
|
|
169
|
-
var _gblInst = _gbl[DynProtoGlobalSettings] || (_gbl[DynProtoGlobalSettings] = {
|
|
170
|
-
o: (_a = {},
|
|
171
|
-
_a[strSetInstFuncs] = true,
|
|
172
|
-
_a[strUseBaseInst] = true,
|
|
173
|
-
_a),
|
|
174
|
-
n: 1000
|
|
175
|
-
});
|
|
176
|
-
function _hasOwnProperty(obj, prop) {
|
|
177
|
-
return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);
|
|
178
|
-
}
|
|
179
|
-
function _isObjectOrArrayPrototype(target) {
|
|
180
|
-
return target && (target === Obj[Prototype] || target === Array[Prototype]);
|
|
181
|
-
}
|
|
182
|
-
function _isObjectArrayOrFunctionPrototype(target) {
|
|
183
|
-
return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
|
|
230
|
+
return result;
|
|
184
231
|
}
|
|
185
|
-
function
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
return _objGetPrototypeOf$1(target);
|
|
190
|
-
}
|
|
191
|
-
var curProto = target[str__Proto$1] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
|
|
192
|
-
newProto = target[DynProtoBaseProto] || curProto;
|
|
193
|
-
if (!_hasOwnProperty(target, DynProtoBaseProto)) {
|
|
194
|
-
delete target[DynProtoCurrent];
|
|
195
|
-
newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];
|
|
196
|
-
target[DynProtoCurrent] = curProto;
|
|
197
|
-
}
|
|
232
|
+
function _getGlobalConfig() {
|
|
233
|
+
if (!_globalCfg) {
|
|
234
|
+
var gbl = _getGlobalValue() || {};
|
|
235
|
+
_globalCfg = gbl[GLOBAL_CONFIG_KEY] = gbl[GLOBAL_CONFIG_KEY] || {};
|
|
198
236
|
}
|
|
199
|
-
return
|
|
237
|
+
return _globalCfg;
|
|
200
238
|
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
239
|
+
|
|
240
|
+
function dumpObj(object, format) {
|
|
241
|
+
var propertyValueDump = EMPTY;
|
|
242
|
+
if (isError(object)) {
|
|
243
|
+
propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
|
|
205
244
|
}
|
|
206
245
|
else {
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
props.push(name_1);
|
|
210
|
-
}
|
|
246
|
+
try {
|
|
247
|
+
propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
|
|
211
248
|
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
for (var lp = 0; lp < props.length; lp++) {
|
|
215
|
-
func(props[lp]);
|
|
249
|
+
catch (e) {
|
|
250
|
+
propertyValueDump = " - " + dumpObj(e, format);
|
|
216
251
|
}
|
|
217
252
|
}
|
|
253
|
+
return objToString(object) + ": " + propertyValueDump;
|
|
218
254
|
}
|
|
219
|
-
|
|
220
|
-
|
|
255
|
+
|
|
256
|
+
function _unwrapFunction(funcName, target, polyFunc) {
|
|
257
|
+
return function (thisArg) {
|
|
258
|
+
var theFunc = (thisArg && thisArg[funcName]) || (target && target[funcName]);
|
|
259
|
+
if (theFunc || polyFunc) {
|
|
260
|
+
var theArgs = arguments;
|
|
261
|
+
return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrProto[SLICE].call(theArgs, 1) : theArgs);
|
|
262
|
+
}
|
|
263
|
+
throwTypeError("'" + asString(funcName) + "' not defined for " + dumpObj(thisArg));
|
|
264
|
+
};
|
|
221
265
|
}
|
|
222
|
-
|
|
223
|
-
|
|
266
|
+
|
|
267
|
+
var strSubstring = _unwrapFunction("substring", StrProto);
|
|
268
|
+
function strLeft(value, count) {
|
|
269
|
+
return strSubstring(value, 0, count);
|
|
224
270
|
}
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
return
|
|
271
|
+
|
|
272
|
+
var _polySymbols;
|
|
273
|
+
function _globalSymbolRegistry() {
|
|
274
|
+
if (!_polySymbols) {
|
|
275
|
+
var gblCfg = _getGlobalConfig();
|
|
276
|
+
_polySymbols = gblCfg.gblSym = gblCfg.gblSym || { k: {}, s: {} };
|
|
277
|
+
}
|
|
278
|
+
return _polySymbols;
|
|
279
|
+
}
|
|
280
|
+
var _wellKnownSymbolCache = {};
|
|
281
|
+
function polyNewSymbol(description) {
|
|
282
|
+
var theSymbol = {
|
|
283
|
+
description: asString(description),
|
|
284
|
+
toString: function () { return SYMBOL + "(" + description + ")"; }
|
|
285
|
+
};
|
|
286
|
+
theSymbol[POLYFILL_TAG] = true;
|
|
287
|
+
return theSymbol;
|
|
233
288
|
}
|
|
234
|
-
function
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
289
|
+
function polySymbolFor(key) {
|
|
290
|
+
var registry = _globalSymbolRegistry();
|
|
291
|
+
if (!objHasOwn(registry, key)) {
|
|
292
|
+
var newSymbol = polyNewSymbol(key);
|
|
293
|
+
registry.k[key] = newSymbol;
|
|
294
|
+
registry.s[newSymbol] = asString(key);
|
|
239
295
|
}
|
|
240
|
-
return
|
|
296
|
+
return registry.k[key];
|
|
241
297
|
}
|
|
242
|
-
function
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
298
|
+
function polyGetKnownSymbol(name) {
|
|
299
|
+
var result;
|
|
300
|
+
var knownName = _wellKnownSymbolMap[name];
|
|
301
|
+
if (knownName) {
|
|
302
|
+
result = _wellKnownSymbolCache[knownName] = _wellKnownSymbolCache[knownName] || polyNewSymbol(SYMBOL + "." + knownName);
|
|
303
|
+
}
|
|
304
|
+
return result;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
var propMap = {
|
|
308
|
+
e: "enumerable",
|
|
309
|
+
c: "configurable",
|
|
310
|
+
v: VALUE,
|
|
311
|
+
w: "writable",
|
|
312
|
+
g: "get",
|
|
313
|
+
s: "set"
|
|
314
|
+
};
|
|
315
|
+
function _createProp(value) {
|
|
316
|
+
var prop = {};
|
|
317
|
+
prop[propMap["c"]] = true;
|
|
318
|
+
prop[propMap["e"]] = true;
|
|
319
|
+
if (value.l) {
|
|
320
|
+
prop.get = function () { return value.l.v; };
|
|
321
|
+
var desc = objGetOwnPropertyDescriptor(value.l, "v");
|
|
322
|
+
if (desc && desc.set) {
|
|
323
|
+
prop.set = function (newValue) {
|
|
324
|
+
value.l.v = newValue;
|
|
325
|
+
};
|
|
250
326
|
}
|
|
251
|
-
return function () {
|
|
252
|
-
return theFunc.apply(target, arguments);
|
|
253
|
-
};
|
|
254
327
|
}
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
|
|
328
|
+
objForEachKey(value, function (key, value) {
|
|
329
|
+
prop[propMap[key]] = isUndefined(value) ? prop[propMap[key]] : value;
|
|
258
330
|
});
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
331
|
+
return prop;
|
|
332
|
+
}
|
|
333
|
+
var objDefineProp = ObjClass["defineProperty"];
|
|
334
|
+
ObjClass["defineProperties"];
|
|
335
|
+
function objDefineAccessors(target, prop, getProp, setProp, configurable, enumerable) {
|
|
336
|
+
var desc = {
|
|
337
|
+
e: enumerable,
|
|
338
|
+
c: configurable
|
|
339
|
+
};
|
|
340
|
+
if (getProp) {
|
|
341
|
+
desc.g = getProp;
|
|
269
342
|
}
|
|
270
|
-
|
|
343
|
+
if (setProp) {
|
|
344
|
+
desc.s = setProp;
|
|
345
|
+
}
|
|
346
|
+
return objDefineProp(target, prop, _createProp(desc));
|
|
271
347
|
}
|
|
272
|
-
function
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
348
|
+
function objDefine(target, key, propDesc) {
|
|
349
|
+
return objDefineProp(target, key, _createProp(propDesc));
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
var _globalLazyTestHooks;
|
|
353
|
+
var _fetchLazyTestHooks = function () {
|
|
354
|
+
_globalLazyTestHooks = _getGlobalConfig();
|
|
355
|
+
_fetchLazyTestHooks = NULL_VALUE;
|
|
356
|
+
};
|
|
357
|
+
function getLazy(cb) {
|
|
358
|
+
var lazyValue = {};
|
|
359
|
+
_fetchLazyTestHooks && _fetchLazyTestHooks();
|
|
360
|
+
lazyValue.b = _globalLazyTestHooks.lzy;
|
|
361
|
+
objDefineProp(lazyValue, "v", {
|
|
362
|
+
configurable: true,
|
|
363
|
+
get: function () {
|
|
364
|
+
var result = cb();
|
|
365
|
+
if (!_globalLazyTestHooks.lzy) {
|
|
366
|
+
objDefineProp(lazyValue, "v", {
|
|
367
|
+
value: result
|
|
368
|
+
});
|
|
369
|
+
if (lazyValue.b) {
|
|
370
|
+
delete lazyValue.b;
|
|
289
371
|
}
|
|
290
|
-
visited.push(objProto);
|
|
291
|
-
objProto = _getObjProto$1(objProto);
|
|
292
372
|
}
|
|
373
|
+
if (_globalLazyTestHooks.lzy && lazyValue.b !== _globalLazyTestHooks.lzy) {
|
|
374
|
+
lazyValue.b = _globalLazyTestHooks.lzy;
|
|
375
|
+
}
|
|
376
|
+
return result;
|
|
377
|
+
}
|
|
378
|
+
});
|
|
379
|
+
return lazyValue;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
function safeGetLazy(cb, defValue) {
|
|
383
|
+
return getLazy(function () { return safeGet(cb, defValue); });
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
var WINDOW = "window";
|
|
387
|
+
var _cachedGlobal;
|
|
388
|
+
var _cachedWindow;
|
|
389
|
+
var _cachedDocument;
|
|
390
|
+
var _cachedNavigator;
|
|
391
|
+
function lazySafeGetInst(name) {
|
|
392
|
+
return safeGetLazy(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE);
|
|
393
|
+
}
|
|
394
|
+
function getGlobal(useCached) {
|
|
395
|
+
(!_cachedGlobal || useCached === false || (_globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, NULL_VALUE));
|
|
396
|
+
return _cachedGlobal.v;
|
|
397
|
+
}
|
|
398
|
+
function getInst(name, useCached) {
|
|
399
|
+
var gbl = getGlobal(useCached);
|
|
400
|
+
if (gbl && gbl[name]) {
|
|
401
|
+
return gbl[name];
|
|
402
|
+
}
|
|
403
|
+
if (name === WINDOW && _cachedWindow) {
|
|
404
|
+
return _cachedWindow.v;
|
|
405
|
+
}
|
|
406
|
+
return NULL_VALUE;
|
|
407
|
+
}
|
|
408
|
+
function getDocument() {
|
|
409
|
+
(!_cachedDocument || (_globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = lazySafeGetInst("document"));
|
|
410
|
+
return _cachedDocument.v;
|
|
411
|
+
}
|
|
412
|
+
function hasWindow() {
|
|
413
|
+
return !!getWindow();
|
|
414
|
+
}
|
|
415
|
+
function getWindow() {
|
|
416
|
+
(!_cachedWindow || (_globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = lazySafeGetInst(WINDOW));
|
|
417
|
+
return _cachedWindow.v;
|
|
418
|
+
}
|
|
419
|
+
function getNavigator() {
|
|
420
|
+
(!_cachedNavigator || (_globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = lazySafeGetInst("navigator"));
|
|
421
|
+
return _cachedNavigator.v;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
var _symbol;
|
|
425
|
+
var _symbolFor;
|
|
426
|
+
var _symbolKeyFor;
|
|
427
|
+
function _getSymbolValue(name) {
|
|
428
|
+
return safeGetLazy(function () {
|
|
429
|
+
return (_symbol.v ? _symbol[name] : UNDEF_VALUE);
|
|
430
|
+
}, UNDEF_VALUE);
|
|
431
|
+
}
|
|
432
|
+
function getSymbol() {
|
|
433
|
+
var resetCache = !_symbol || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_symbol.b);
|
|
434
|
+
resetCache && (_symbol = lazySafeGetInst(SYMBOL));
|
|
435
|
+
(!_symbolFor || resetCache) && (_symbolFor = _getSymbolValue("for"));
|
|
436
|
+
(!_symbolKeyFor || resetCache) && (_symbolKeyFor = _getSymbolValue("keyFor"));
|
|
437
|
+
return _symbol.v;
|
|
438
|
+
}
|
|
439
|
+
function getKnownSymbol(name, noPoly) {
|
|
440
|
+
var knownName = _wellKnownSymbolMap[name];
|
|
441
|
+
(!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
|
|
442
|
+
return _symbol.v ? _symbol.v[knownName || name] : (!noPoly ? polyGetKnownSymbol(name) : UNDEF_VALUE);
|
|
443
|
+
}
|
|
444
|
+
function newSymbol(description, noPoly) {
|
|
445
|
+
(!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
|
|
446
|
+
return _symbol.v ? _symbol.v(description) : (!noPoly ? polyNewSymbol(description) : NULL_VALUE);
|
|
447
|
+
}
|
|
448
|
+
function symbolFor(key) {
|
|
449
|
+
(!_symbolFor || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
|
|
450
|
+
return (_symbolFor.v || polySymbolFor)(key);
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
function isIterator(value) {
|
|
454
|
+
return !!value && isFunction(value.next);
|
|
455
|
+
}
|
|
456
|
+
function isIterable(value) {
|
|
457
|
+
return !isStrictNullOrUndefined(value) && isFunction(value[getKnownSymbol(3 )]);
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
function iterForOf(iter, callbackfn, thisArg) {
|
|
461
|
+
if (iter) {
|
|
462
|
+
if (!isIterator(iter)) {
|
|
463
|
+
var itSymbol = getKnownSymbol(3 );
|
|
464
|
+
iter = iter[itSymbol] ? iter[itSymbol]() : null;
|
|
465
|
+
}
|
|
466
|
+
if (isIterator(iter)) {
|
|
293
467
|
try {
|
|
294
|
-
|
|
295
|
-
|
|
468
|
+
var count = 0;
|
|
469
|
+
var value = iter.next();
|
|
470
|
+
while (!value[DONE]) {
|
|
471
|
+
if (callbackfn.call(thisArg || iter, value[VALUE], count, iter) === -1) {
|
|
472
|
+
break;
|
|
473
|
+
}
|
|
474
|
+
count++;
|
|
475
|
+
value = iter.next();
|
|
296
476
|
}
|
|
297
|
-
|
|
477
|
+
iter.return && iter.return(value);
|
|
298
478
|
}
|
|
299
479
|
catch (e) {
|
|
300
|
-
|
|
480
|
+
iter.throw && iter.throw(e);
|
|
301
481
|
}
|
|
302
482
|
}
|
|
303
483
|
}
|
|
304
|
-
return instFunc;
|
|
305
484
|
}
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
if (
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);
|
|
320
|
-
return instFunc.apply(this, arguments);
|
|
321
|
-
};
|
|
322
|
-
dynProtoProxy[DynProxyTag] = 1;
|
|
323
|
-
return dynProtoProxy;
|
|
324
|
-
}
|
|
325
|
-
if (!_isObjectOrArrayPrototype(proto)) {
|
|
326
|
-
var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
|
|
327
|
-
var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
|
|
328
|
-
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
329
|
-
instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
|
|
485
|
+
|
|
486
|
+
function arrAppend(target, elms) {
|
|
487
|
+
if (!isUndefined(elms) && target) {
|
|
488
|
+
if (isArray(elms)) {
|
|
489
|
+
target.push.apply(target, elms);
|
|
490
|
+
}
|
|
491
|
+
else if (isIterator(elms) || isIterable(elms)) {
|
|
492
|
+
iterForOf(elms, function (elm) {
|
|
493
|
+
target.push(elm);
|
|
494
|
+
});
|
|
495
|
+
}
|
|
496
|
+
else {
|
|
497
|
+
target.push(elms);
|
|
330
498
|
}
|
|
331
|
-
_forEachProp(target, function (name) {
|
|
332
|
-
if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
|
|
333
|
-
instFuncs_1[name] = target[name];
|
|
334
|
-
delete target[name];
|
|
335
|
-
if (!_hasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
|
|
336
|
-
proto[name] = _createDynamicPrototype(proto, name);
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
});
|
|
340
499
|
}
|
|
500
|
+
return target;
|
|
341
501
|
}
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
var
|
|
346
|
-
|
|
347
|
-
if (
|
|
348
|
-
|
|
502
|
+
|
|
503
|
+
function arrForEach(theArray, callbackfn, thisArg) {
|
|
504
|
+
if (theArray) {
|
|
505
|
+
var len = theArray[LENGTH] >>> 0;
|
|
506
|
+
for (var idx = 0; idx < len; idx++) {
|
|
507
|
+
if (idx in theArray) {
|
|
508
|
+
if (callbackfn.call(thisArg || theArray, theArray[idx], idx, theArray) === -1) {
|
|
509
|
+
break;
|
|
510
|
+
}
|
|
349
511
|
}
|
|
350
|
-
visited.push(thisProto);
|
|
351
|
-
thisProto = _getObjProto$1(thisProto);
|
|
352
512
|
}
|
|
353
|
-
return false;
|
|
354
513
|
}
|
|
355
|
-
return true;
|
|
356
514
|
}
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
515
|
+
|
|
516
|
+
var arrIndexOf = _unwrapFunction(INDEX_OF, ArrProto);
|
|
517
|
+
|
|
518
|
+
var arrSlice = _unwrapFunction(SLICE, ArrProto);
|
|
519
|
+
|
|
520
|
+
var _objCreate = ObjClass["create"];
|
|
521
|
+
var objCreate = _objCreate || polyObjCreate;
|
|
522
|
+
function polyObjCreate(obj) {
|
|
523
|
+
if (!obj) {
|
|
524
|
+
return {};
|
|
360
525
|
}
|
|
361
|
-
|
|
526
|
+
var type = typeof obj;
|
|
527
|
+
if (type !== OBJECT && type !== FUNCTION) {
|
|
528
|
+
throw new TypeError("Prototype must be an Object or function: " + dumpObj(obj));
|
|
529
|
+
}
|
|
530
|
+
function tempFunc() { }
|
|
531
|
+
tempFunc[PROTOTYPE] = obj;
|
|
532
|
+
return new tempFunc();
|
|
362
533
|
}
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
534
|
+
|
|
535
|
+
var _isProtoArray;
|
|
536
|
+
function objSetPrototypeOf(obj, proto) {
|
|
537
|
+
var fn = ObjClass["setPrototypeOf"] ||
|
|
538
|
+
function (d, b) {
|
|
539
|
+
!_isProtoArray && (_isProtoArray = getLazy(function () {
|
|
540
|
+
var _a;
|
|
541
|
+
return ((_a = {}, _a[__PROTO__] = [], _a) instanceof Array);
|
|
542
|
+
}));
|
|
543
|
+
_isProtoArray.v ? d[__PROTO__] = b : objForEachKey(b, function (key, value) { return d[key] = value; });
|
|
544
|
+
};
|
|
545
|
+
return fn(obj, proto);
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
var _createCustomError = function (name, d, b) {
|
|
549
|
+
_safeDefineName(d, name);
|
|
550
|
+
d = objSetPrototypeOf(d, b);
|
|
551
|
+
function __() {
|
|
552
|
+
this.constructor = d;
|
|
553
|
+
_safeDefineName(this, name);
|
|
366
554
|
}
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
555
|
+
d[PROTOTYPE] = b === NULL_VALUE ? objCreate(b) : (__[PROTOTYPE] = b[PROTOTYPE], new __());
|
|
556
|
+
return d;
|
|
557
|
+
};
|
|
558
|
+
var _safeSetName = function (baseClass, name) {
|
|
559
|
+
try {
|
|
560
|
+
name && (baseClass[NAME] = name);
|
|
370
561
|
}
|
|
371
|
-
|
|
372
|
-
if (_hasOwnProperty(classProto, DynClassName)) {
|
|
373
|
-
className = classProto[DynClassName];
|
|
562
|
+
catch (e) {
|
|
374
563
|
}
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
564
|
+
};
|
|
565
|
+
var _safeDefineName = function (target, name) {
|
|
566
|
+
try {
|
|
567
|
+
objDefine(target, NAME, { v: name, c: true, e: false });
|
|
379
568
|
}
|
|
380
|
-
|
|
381
|
-
var useBaseInst = !!perfOptions[strUseBaseInst];
|
|
382
|
-
if (useBaseInst && options && options[strUseBaseInst] !== undefined) {
|
|
383
|
-
useBaseInst = !!options[strUseBaseInst];
|
|
569
|
+
catch (e) {
|
|
384
570
|
}
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
var
|
|
389
|
-
|
|
390
|
-
|
|
571
|
+
};
|
|
572
|
+
function createCustomError(name, constructCb, errorBase) {
|
|
573
|
+
var theBaseClass = errorBase || Error;
|
|
574
|
+
var orgName = theBaseClass[PROTOTYPE][NAME];
|
|
575
|
+
var captureFn = Error.captureStackTrace;
|
|
576
|
+
return _createCustomError(name, function () {
|
|
577
|
+
var _this = this;
|
|
578
|
+
try {
|
|
579
|
+
_safeSetName(theBaseClass, name);
|
|
580
|
+
var _self = theBaseClass.apply(_this, arguments) || _this;
|
|
581
|
+
if (_self !== _this) {
|
|
582
|
+
var orgProto = objGetPrototypeOf(_this);
|
|
583
|
+
if (orgProto !== objGetPrototypeOf(_self)) {
|
|
584
|
+
objSetPrototypeOf(_self, orgProto);
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
captureFn && captureFn(_self, _this[CONSTRUCTOR]);
|
|
588
|
+
constructCb && constructCb(_self, arguments);
|
|
589
|
+
return _self;
|
|
590
|
+
}
|
|
591
|
+
finally {
|
|
592
|
+
_safeSetName(theBaseClass, orgName);
|
|
593
|
+
}
|
|
594
|
+
}, theBaseClass);
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
function utcNow() {
|
|
598
|
+
return (Date.now || polyUtcNow)();
|
|
599
|
+
}
|
|
600
|
+
function polyUtcNow() {
|
|
601
|
+
return new Date().getTime();
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
function _createTrimFn(exp) {
|
|
605
|
+
return function _doTrim(value) {
|
|
606
|
+
if (isNullOrUndefined(value)) {
|
|
607
|
+
throwTypeError("strTrim called [" + dumpObj(value) + "]");
|
|
608
|
+
}
|
|
609
|
+
if (value && value.replace) {
|
|
610
|
+
value = value.replace(exp, EMPTY);
|
|
611
|
+
}
|
|
612
|
+
return value;
|
|
613
|
+
};
|
|
614
|
+
}
|
|
615
|
+
var polyStrTrim = _createTrimFn(/^\s+|(?=\s)\s+$/g);
|
|
616
|
+
|
|
617
|
+
var strTrim = _unwrapFunction("trim", StrProto, polyStrTrim);
|
|
618
|
+
|
|
619
|
+
var _fnToString;
|
|
620
|
+
var _objCtrFnString;
|
|
621
|
+
var _gblWindow;
|
|
622
|
+
function isPlainObject(value) {
|
|
623
|
+
if (!value || typeof value !== OBJECT) {
|
|
624
|
+
return false;
|
|
391
625
|
}
|
|
392
|
-
|
|
626
|
+
if (!_gblWindow) {
|
|
627
|
+
_gblWindow = hasWindow() ? getWindow() : true;
|
|
628
|
+
}
|
|
629
|
+
var result = false;
|
|
630
|
+
if (value !== _gblWindow) {
|
|
631
|
+
if (!_objCtrFnString) {
|
|
632
|
+
_fnToString = Function[PROTOTYPE].toString;
|
|
633
|
+
_objCtrFnString = _fnToString.call(ObjClass);
|
|
634
|
+
}
|
|
635
|
+
try {
|
|
636
|
+
var proto = objGetPrototypeOf(value);
|
|
637
|
+
result = !proto;
|
|
638
|
+
if (!result) {
|
|
639
|
+
if (objHasOwnProperty(proto, CONSTRUCTOR)) {
|
|
640
|
+
proto = proto[CONSTRUCTOR];
|
|
641
|
+
}
|
|
642
|
+
result = proto && typeof proto === FUNCTION && _fnToString.call(proto) === _objCtrFnString;
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
catch (ex) {
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
return result;
|
|
393
649
|
}
|
|
394
|
-
dynamicProto[DynProtoDefaultOptions] = _gblInst.o;
|
|
395
650
|
|
|
396
|
-
var
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
var _DYN_GET_PLUGIN = "getPlugin";
|
|
408
|
-
var _DYN_TEARDOWN = "teardown";
|
|
409
|
-
var _DYN_MESSAGE_ID = "messageId";
|
|
410
|
-
var _DYN_MESSAGE = "message";
|
|
411
|
-
var _DYN_IS_ASYNC = "isAsync";
|
|
412
|
-
var _DYN__DO_TEARDOWN = "_doTeardown";
|
|
413
|
-
var _DYN_UPDATE = "update";
|
|
414
|
-
var _DYN_GET_NEXT = "getNext";
|
|
415
|
-
var _DYN_DIAG_LOG = "diagLog";
|
|
416
|
-
var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
|
|
417
|
-
var _DYN_CREATE_NEW = "createNew";
|
|
418
|
-
var _DYN_COOKIE_CFG = "cookieCfg";
|
|
419
|
-
var _DYN_INDEX_OF = "indexOf";
|
|
420
|
-
var _DYN_SUBSTRING = "substring";
|
|
421
|
-
var _DYN_USER_AGENT = "userAgent";
|
|
422
|
-
var _DYN_SPLIT = "split";
|
|
423
|
-
var _DYN_SET_ENABLED = "setEnabled";
|
|
424
|
-
var _DYN_NODE_TYPE = "nodeType";
|
|
425
|
-
var _DYN_APPLY = "apply";
|
|
426
|
-
var _DYN_REPLACE = "replace";
|
|
427
|
-
var _DYN_ENABLE_DEBUG_EXCEPTI4 = "enableDebugExceptions";
|
|
428
|
-
var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
|
|
429
|
-
var _DYN_TO_LOWER_CASE = "toLowerCase";
|
|
430
|
-
var _DYN_CALL = "call";
|
|
431
|
-
var _DYN_IS_CHILD_EVT = "isChildEvt";
|
|
432
|
-
var _DYN_GET_CTX = "getCtx";
|
|
433
|
-
var _DYN_SET_CTX = "setCtx";
|
|
434
|
-
var _DYN_COMPLETE = "complete";
|
|
651
|
+
var strEndsWith = _unwrapFunction("endsWith", StrProto, polyStrEndsWith);
|
|
652
|
+
function polyStrEndsWith(value, searchString, length) {
|
|
653
|
+
if (!isString(value)) {
|
|
654
|
+
throwTypeError("'" + dumpObj(value) + "' is not a string");
|
|
655
|
+
}
|
|
656
|
+
var searchValue = isString(searchString) ? searchString : asString(searchString);
|
|
657
|
+
var chkLen = searchValue[LENGTH];
|
|
658
|
+
var len = value[LENGTH];
|
|
659
|
+
var end = !isUndefined(length) && length < len ? length : len;
|
|
660
|
+
return strSubstring(value, end - chkLen, end) === searchValue;
|
|
661
|
+
}
|
|
435
662
|
|
|
436
|
-
var
|
|
437
|
-
|
|
438
|
-
var
|
|
439
|
-
var
|
|
440
|
-
var
|
|
441
|
-
var
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
663
|
+
var strIndexOf = _unwrapFunction(INDEX_OF, StrProto);
|
|
664
|
+
|
|
665
|
+
var REF = "ref";
|
|
666
|
+
var UNREF = "un" + REF;
|
|
667
|
+
var HAS_REF = "hasRef";
|
|
668
|
+
var ENABLED = "enabled";
|
|
669
|
+
function _createTimerHandler(startTimer, refreshFn, cancelFn) {
|
|
670
|
+
var _a;
|
|
671
|
+
var ref = true;
|
|
672
|
+
var timerId = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;
|
|
673
|
+
var theTimerHandler;
|
|
674
|
+
var _unref = function () {
|
|
675
|
+
ref = false;
|
|
676
|
+
timerId && timerId[UNREF] && timerId[UNREF]();
|
|
677
|
+
return theTimerHandler;
|
|
678
|
+
};
|
|
679
|
+
var _ref = function () {
|
|
680
|
+
ref = true;
|
|
681
|
+
timerId && timerId[REF] && timerId[REF]();
|
|
682
|
+
return theTimerHandler;
|
|
683
|
+
};
|
|
684
|
+
var _hasRef = function () {
|
|
685
|
+
if (timerId && timerId[HAS_REF]) {
|
|
686
|
+
return timerId[HAS_REF]();
|
|
687
|
+
}
|
|
688
|
+
return ref;
|
|
689
|
+
};
|
|
690
|
+
var _refresh = function () {
|
|
691
|
+
timerId = refreshFn(timerId);
|
|
692
|
+
if (!ref) {
|
|
693
|
+
_unref();
|
|
694
|
+
}
|
|
695
|
+
return theTimerHandler;
|
|
696
|
+
};
|
|
697
|
+
var _cancel = function () {
|
|
698
|
+
timerId && cancelFn(timerId);
|
|
699
|
+
timerId = NULL_VALUE;
|
|
700
|
+
};
|
|
701
|
+
var _setEnabled = function (value) {
|
|
702
|
+
!value && timerId && _cancel();
|
|
703
|
+
value && !timerId && _refresh();
|
|
704
|
+
};
|
|
705
|
+
theTimerHandler = (_a = {
|
|
706
|
+
cancel: _cancel,
|
|
707
|
+
refresh: _refresh
|
|
708
|
+
},
|
|
709
|
+
_a[HAS_REF] = _hasRef,
|
|
710
|
+
_a[REF] = _ref,
|
|
711
|
+
_a[UNREF] = _unref,
|
|
712
|
+
_a[ENABLED] = false,
|
|
713
|
+
_a);
|
|
714
|
+
objDefineProp(theTimerHandler, ENABLED, {
|
|
715
|
+
get: function () { return !!timerId; },
|
|
716
|
+
set: _setEnabled
|
|
717
|
+
});
|
|
718
|
+
return {
|
|
719
|
+
h: theTimerHandler,
|
|
720
|
+
dn: function () {
|
|
721
|
+
timerId = NULL_VALUE;
|
|
722
|
+
}
|
|
723
|
+
};
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
|
|
727
|
+
var isArr = isArray(overrideFn);
|
|
728
|
+
var len = isArr ? overrideFn.length : 0;
|
|
729
|
+
var setFn = (len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE)) || setTimeout;
|
|
730
|
+
var clearFn = (len > 1 ? overrideFn[1] : UNDEF_VALUE) || clearTimeout;
|
|
731
|
+
var timerFn = theArgs[0];
|
|
732
|
+
theArgs[0] = function () {
|
|
733
|
+
handler.dn();
|
|
734
|
+
timerFn.apply(self, arguments);
|
|
735
|
+
};
|
|
736
|
+
var handler = _createTimerHandler(startTimer, function (timerId) {
|
|
737
|
+
if (timerId) {
|
|
738
|
+
if (timerId.refresh) {
|
|
739
|
+
timerId.refresh();
|
|
740
|
+
return timerId;
|
|
741
|
+
}
|
|
742
|
+
clearFn.call(self, timerId);
|
|
743
|
+
}
|
|
744
|
+
return setFn.apply(self, theArgs);
|
|
745
|
+
}, function (timerId) {
|
|
746
|
+
clearFn.call(self, timerId);
|
|
747
|
+
});
|
|
748
|
+
return handler.h;
|
|
749
|
+
}
|
|
750
|
+
function scheduleTimeout(callback, timeout) {
|
|
751
|
+
return _createTimeoutWith(this, true, UNDEF_VALUE, arrSlice(arguments));
|
|
752
|
+
}
|
|
753
|
+
|
|
754
|
+
(getGlobal() || {})["Symbol"];
|
|
755
|
+
(getGlobal() || {})["Reflect"];
|
|
756
|
+
var strHasOwnProperty = "hasOwnProperty";
|
|
757
|
+
var __objAssignFnImpl = function (t) {
|
|
758
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
759
|
+
s = arguments[i];
|
|
760
|
+
for (var p in s) {
|
|
761
|
+
if (ObjProto$1[strHasOwnProperty].call(s, p)) {
|
|
762
|
+
t[p] = s[p];
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
return t;
|
|
767
|
+
};
|
|
768
|
+
var __assignFn = objAssign || __objAssignFnImpl;
|
|
769
|
+
var extendStaticsFn = function (d, b) {
|
|
770
|
+
extendStaticsFn = ObjClass$1["setPrototypeOf"] ||
|
|
771
|
+
({ __proto__: [] } instanceof Array && function (d, b) {
|
|
772
|
+
d.__proto__ = b;
|
|
773
|
+
}) ||
|
|
774
|
+
function (d, b) {
|
|
775
|
+
for (var p in b) {
|
|
776
|
+
if (b[strHasOwnProperty](p)) {
|
|
777
|
+
d[p] = b[p];
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
};
|
|
781
|
+
return extendStaticsFn(d, b);
|
|
782
|
+
};
|
|
783
|
+
function __extendsFn(d, b) {
|
|
784
|
+
if (typeof b !== strShimFunction && b !== null) {
|
|
785
|
+
throwTypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
786
|
+
}
|
|
787
|
+
extendStaticsFn(d, b);
|
|
788
|
+
function __() {
|
|
789
|
+
this.constructor = d;
|
|
790
|
+
}
|
|
791
|
+
d[strShimPrototype] = b === null ? objCreate(b) : (__[strShimPrototype] = b[strShimPrototype], new __());
|
|
792
|
+
}
|
|
445
793
|
|
|
446
|
-
var
|
|
447
|
-
var
|
|
448
|
-
var
|
|
794
|
+
var _a$3;
|
|
795
|
+
var Constructor = 'constructor';
|
|
796
|
+
var Prototype = 'prototype';
|
|
797
|
+
var strFunction = 'function';
|
|
798
|
+
var DynInstFuncTable = '_dynInstFuncs';
|
|
799
|
+
var DynProxyTag = '_isDynProxy';
|
|
800
|
+
var DynClassName = '_dynClass';
|
|
801
|
+
var DynClassNamePrefix = '_dynCls$';
|
|
802
|
+
var DynInstChkTag = '_dynInstChk';
|
|
803
|
+
var DynAllowInstChkTag = DynInstChkTag;
|
|
804
|
+
var DynProtoDefaultOptions = '_dfOpts';
|
|
805
|
+
var UnknownValue = '_unknown_';
|
|
449
806
|
var str__Proto = "__proto__";
|
|
450
|
-
var
|
|
451
|
-
var
|
|
452
|
-
var
|
|
453
|
-
var
|
|
454
|
-
var
|
|
455
|
-
var
|
|
456
|
-
var
|
|
457
|
-
var
|
|
458
|
-
var
|
|
459
|
-
var
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
807
|
+
var DynProtoBaseProto = "_dyn" + str__Proto;
|
|
808
|
+
var DynProtoGlobalSettings = "__dynProto$Gbl";
|
|
809
|
+
var DynProtoCurrent = "_dynInstProto";
|
|
810
|
+
var strUseBaseInst = 'useBaseInst';
|
|
811
|
+
var strSetInstFuncs = 'setInstFuncs';
|
|
812
|
+
var Obj = Object;
|
|
813
|
+
var _objGetPrototypeOf = Obj["getPrototypeOf"];
|
|
814
|
+
var _objGetOwnProps = Obj["getOwnPropertyNames"];
|
|
815
|
+
var _gbl = getGlobal();
|
|
816
|
+
var _gblInst = _gbl[DynProtoGlobalSettings] || (_gbl[DynProtoGlobalSettings] = {
|
|
817
|
+
o: (_a$3 = {},
|
|
818
|
+
_a$3[strSetInstFuncs] = true,
|
|
819
|
+
_a$3[strUseBaseInst] = true,
|
|
820
|
+
_a$3),
|
|
821
|
+
n: 1000
|
|
822
|
+
});
|
|
823
|
+
function _isObjectOrArrayPrototype(target) {
|
|
824
|
+
return target && (target === Obj[Prototype] || target === Array[Prototype]);
|
|
825
|
+
}
|
|
826
|
+
function _isObjectArrayOrFunctionPrototype(target) {
|
|
827
|
+
return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
|
|
828
|
+
}
|
|
464
829
|
function _getObjProto(target) {
|
|
830
|
+
var newProto;
|
|
465
831
|
if (target) {
|
|
466
832
|
if (_objGetPrototypeOf) {
|
|
467
833
|
return _objGetPrototypeOf(target);
|
|
468
834
|
}
|
|
469
|
-
var
|
|
470
|
-
|
|
471
|
-
|
|
835
|
+
var curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
|
|
836
|
+
newProto = target[DynProtoBaseProto] || curProto;
|
|
837
|
+
if (!objHasOwnProperty(target, DynProtoBaseProto)) {
|
|
838
|
+
delete target[DynProtoCurrent];
|
|
839
|
+
newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];
|
|
840
|
+
target[DynProtoCurrent] = curProto;
|
|
472
841
|
}
|
|
473
842
|
}
|
|
474
|
-
return
|
|
843
|
+
return newProto;
|
|
475
844
|
}
|
|
476
|
-
function
|
|
477
|
-
|
|
845
|
+
function _forEachProp(target, func) {
|
|
846
|
+
var props = [];
|
|
847
|
+
if (_objGetOwnProps) {
|
|
848
|
+
props = _objGetOwnProps(target);
|
|
849
|
+
}
|
|
850
|
+
else {
|
|
851
|
+
for (var name_1 in target) {
|
|
852
|
+
if (typeof name_1 === "string" && objHasOwnProperty(target, name_1)) {
|
|
853
|
+
props.push(name_1);
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
}
|
|
857
|
+
if (props && props.length > 0) {
|
|
858
|
+
for (var lp = 0; lp < props.length; lp++) {
|
|
859
|
+
func(props[lp]);
|
|
860
|
+
}
|
|
861
|
+
}
|
|
478
862
|
}
|
|
479
|
-
function
|
|
480
|
-
return (
|
|
863
|
+
function _isDynamicCandidate(target, funcName, skipOwn) {
|
|
864
|
+
return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)));
|
|
481
865
|
}
|
|
482
|
-
function
|
|
483
|
-
|
|
866
|
+
function _throwTypeError(message) {
|
|
867
|
+
throwTypeError("DynamicProto: " + message);
|
|
484
868
|
}
|
|
485
|
-
function
|
|
486
|
-
|
|
869
|
+
function _getInstanceFuncs(thisTarget) {
|
|
870
|
+
var instFuncs = {};
|
|
871
|
+
_forEachProp(thisTarget, function (name) {
|
|
872
|
+
if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
|
|
873
|
+
instFuncs[name] = thisTarget[name];
|
|
874
|
+
}
|
|
875
|
+
});
|
|
876
|
+
return instFuncs;
|
|
877
|
+
}
|
|
878
|
+
function _hasVisited(values, value) {
|
|
879
|
+
for (var lp = values.length - 1; lp >= 0; lp--) {
|
|
880
|
+
if (values[lp] === value) {
|
|
881
|
+
return true;
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
return false;
|
|
885
|
+
}
|
|
886
|
+
function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
|
|
887
|
+
function _instFuncProxy(target, funcHost, funcName) {
|
|
888
|
+
var theFunc = funcHost[funcName];
|
|
889
|
+
if (theFunc[DynProxyTag] && useBaseInst) {
|
|
890
|
+
var instFuncTable = target[DynInstFuncTable] || {};
|
|
891
|
+
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
892
|
+
theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
return function () {
|
|
896
|
+
return theFunc.apply(target, arguments);
|
|
897
|
+
};
|
|
898
|
+
}
|
|
899
|
+
var baseFuncs = {};
|
|
900
|
+
_forEachProp(instFuncs, function (name) {
|
|
901
|
+
baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
|
|
902
|
+
});
|
|
903
|
+
var baseProto = _getObjProto(classProto);
|
|
904
|
+
var visited = [];
|
|
905
|
+
while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {
|
|
906
|
+
_forEachProp(baseProto, function (name) {
|
|
907
|
+
if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {
|
|
908
|
+
baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);
|
|
909
|
+
}
|
|
910
|
+
});
|
|
911
|
+
visited.push(baseProto);
|
|
912
|
+
baseProto = _getObjProto(baseProto);
|
|
913
|
+
}
|
|
914
|
+
return baseFuncs;
|
|
915
|
+
}
|
|
916
|
+
function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
|
|
917
|
+
var instFunc = null;
|
|
918
|
+
if (target && objHasOwnProperty(proto, DynClassName)) {
|
|
919
|
+
var instFuncTable = target[DynInstFuncTable] || {};
|
|
920
|
+
instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
|
|
921
|
+
if (!instFunc) {
|
|
922
|
+
_throwTypeError("Missing [" + funcName + "] " + strFunction);
|
|
923
|
+
}
|
|
924
|
+
if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {
|
|
925
|
+
var canAddInst = !objHasOwnProperty(target, funcName);
|
|
926
|
+
var objProto = _getObjProto(target);
|
|
927
|
+
var visited = [];
|
|
928
|
+
while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {
|
|
929
|
+
var protoFunc = objProto[funcName];
|
|
930
|
+
if (protoFunc) {
|
|
931
|
+
canAddInst = (protoFunc === currentDynProtoProxy);
|
|
932
|
+
break;
|
|
933
|
+
}
|
|
934
|
+
visited.push(objProto);
|
|
935
|
+
objProto = _getObjProto(objProto);
|
|
936
|
+
}
|
|
937
|
+
try {
|
|
938
|
+
if (canAddInst) {
|
|
939
|
+
target[funcName] = instFunc;
|
|
940
|
+
}
|
|
941
|
+
instFunc[DynInstChkTag] = 1;
|
|
942
|
+
}
|
|
943
|
+
catch (e) {
|
|
944
|
+
instFuncTable[DynAllowInstChkTag] = false;
|
|
945
|
+
}
|
|
946
|
+
}
|
|
947
|
+
}
|
|
948
|
+
return instFunc;
|
|
949
|
+
}
|
|
950
|
+
function _getProtoFunc(funcName, proto, currentDynProtoProxy) {
|
|
951
|
+
var protoFunc = proto[funcName];
|
|
952
|
+
if (protoFunc === currentDynProtoProxy) {
|
|
953
|
+
protoFunc = _getObjProto(proto)[funcName];
|
|
954
|
+
}
|
|
955
|
+
if (typeof protoFunc !== strFunction) {
|
|
956
|
+
_throwTypeError("[" + funcName + "] is not a " + strFunction);
|
|
957
|
+
}
|
|
958
|
+
return protoFunc;
|
|
959
|
+
}
|
|
960
|
+
function _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {
|
|
961
|
+
function _createDynamicPrototype(proto, funcName) {
|
|
962
|
+
var dynProtoProxy = function () {
|
|
963
|
+
var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);
|
|
964
|
+
return instFunc.apply(this, arguments);
|
|
965
|
+
};
|
|
966
|
+
dynProtoProxy[DynProxyTag] = 1;
|
|
967
|
+
return dynProtoProxy;
|
|
968
|
+
}
|
|
969
|
+
if (!_isObjectOrArrayPrototype(proto)) {
|
|
970
|
+
var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
|
|
971
|
+
var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
|
|
972
|
+
if (instFuncTable[DynAllowInstChkTag] !== false) {
|
|
973
|
+
instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
|
|
974
|
+
}
|
|
975
|
+
_forEachProp(target, function (name) {
|
|
976
|
+
if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
|
|
977
|
+
instFuncs_1[name] = target[name];
|
|
978
|
+
delete target[name];
|
|
979
|
+
if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
|
|
980
|
+
proto[name] = _createDynamicPrototype(proto, name);
|
|
981
|
+
}
|
|
982
|
+
}
|
|
983
|
+
});
|
|
984
|
+
}
|
|
985
|
+
}
|
|
986
|
+
function _checkPrototype(classProto, thisTarget) {
|
|
987
|
+
if (_objGetPrototypeOf) {
|
|
988
|
+
var visited = [];
|
|
989
|
+
var thisProto = _getObjProto(thisTarget);
|
|
990
|
+
while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {
|
|
991
|
+
if (thisProto === classProto) {
|
|
992
|
+
return true;
|
|
993
|
+
}
|
|
994
|
+
visited.push(thisProto);
|
|
995
|
+
thisProto = _getObjProto(thisProto);
|
|
996
|
+
}
|
|
997
|
+
return false;
|
|
998
|
+
}
|
|
999
|
+
return true;
|
|
487
1000
|
}
|
|
488
|
-
function
|
|
489
|
-
|
|
1001
|
+
function _getObjName(target, unknownValue) {
|
|
1002
|
+
if (objHasOwnProperty(target, Prototype)) {
|
|
1003
|
+
return target.name || unknownValue || UnknownValue;
|
|
1004
|
+
}
|
|
1005
|
+
return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;
|
|
1006
|
+
}
|
|
1007
|
+
function dynamicProto(theClass, target, delegateFunc, options) {
|
|
1008
|
+
if (!objHasOwnProperty(theClass, Prototype)) {
|
|
1009
|
+
_throwTypeError("theClass is an invalid class definition.");
|
|
1010
|
+
}
|
|
1011
|
+
var classProto = theClass[Prototype];
|
|
1012
|
+
if (!_checkPrototype(classProto, target)) {
|
|
1013
|
+
_throwTypeError("[" + _getObjName(theClass) + "] not in hierarchy of [" + _getObjName(target) + "]");
|
|
1014
|
+
}
|
|
1015
|
+
var className = null;
|
|
1016
|
+
if (objHasOwnProperty(classProto, DynClassName)) {
|
|
1017
|
+
className = classProto[DynClassName];
|
|
1018
|
+
}
|
|
1019
|
+
else {
|
|
1020
|
+
className = DynClassNamePrefix + _getObjName(theClass, "_") + "$" + _gblInst.n;
|
|
1021
|
+
_gblInst.n++;
|
|
1022
|
+
classProto[DynClassName] = className;
|
|
1023
|
+
}
|
|
1024
|
+
var perfOptions = dynamicProto[DynProtoDefaultOptions];
|
|
1025
|
+
var useBaseInst = !!perfOptions[strUseBaseInst];
|
|
1026
|
+
if (useBaseInst && options && options[strUseBaseInst] !== undefined) {
|
|
1027
|
+
useBaseInst = !!options[strUseBaseInst];
|
|
1028
|
+
}
|
|
1029
|
+
var instFuncs = _getInstanceFuncs(target);
|
|
1030
|
+
var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);
|
|
1031
|
+
delegateFunc(target, baseFuncs);
|
|
1032
|
+
var setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];
|
|
1033
|
+
if (setInstanceFunc && options) {
|
|
1034
|
+
setInstanceFunc = !!options[strSetInstFuncs];
|
|
1035
|
+
}
|
|
1036
|
+
_populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);
|
|
1037
|
+
}
|
|
1038
|
+
dynamicProto[DynProtoDefaultOptions] = _gblInst.o;
|
|
1039
|
+
|
|
1040
|
+
var createEnumStyle = createEnum;
|
|
1041
|
+
|
|
1042
|
+
var _DYN_TO_LOWER_CASE = "toLowerCase";
|
|
1043
|
+
var _DYN_BLK_VAL = "blkVal";
|
|
1044
|
+
var _DYN_LENGTH = "length";
|
|
1045
|
+
var _DYN_RD_ONLY = "rdOnly";
|
|
1046
|
+
var _DYN_NOTIFY = "notify";
|
|
1047
|
+
var _DYN_WARN_TO_CONSOLE = "warnToConsole";
|
|
1048
|
+
var _DYN_THROW_INTERNAL = "throwInternal";
|
|
1049
|
+
var _DYN_SET_DF = "setDf";
|
|
1050
|
+
var _DYN_WATCH = "watch";
|
|
1051
|
+
var _DYN_LOGGER = "logger";
|
|
1052
|
+
var _DYN_APPLY = "apply";
|
|
1053
|
+
var _DYN_PUSH = "push";
|
|
1054
|
+
var _DYN_SPLICE = "splice";
|
|
1055
|
+
var _DYN_HDLR = "hdlr";
|
|
1056
|
+
var _DYN_CANCEL = "cancel";
|
|
1057
|
+
var _DYN_INITIALIZE = "initialize";
|
|
1058
|
+
var _DYN_IDENTIFIER = "identifier";
|
|
1059
|
+
var _DYN_IS_INITIALIZED = "isInitialized";
|
|
1060
|
+
var _DYN_GET_PLUGIN = "getPlugin";
|
|
1061
|
+
var _DYN_NAME = "name";
|
|
1062
|
+
var _DYN_TIME = "time";
|
|
1063
|
+
var _DYN_PROCESS_NEXT = "processNext";
|
|
1064
|
+
var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
|
|
1065
|
+
var _DYN_ENABLED = "enabled";
|
|
1066
|
+
var _DYN_UNLOAD = "unload";
|
|
1067
|
+
var _DYN_LOGGING_LEVEL_CONSOL4 = "loggingLevelConsole";
|
|
1068
|
+
var _DYN_CREATE_NEW = "createNew";
|
|
1069
|
+
var _DYN_TEARDOWN = "teardown";
|
|
1070
|
+
var _DYN_MESSAGE_ID = "messageId";
|
|
1071
|
+
var _DYN_MESSAGE = "message";
|
|
1072
|
+
var _DYN_IS_ASYNC = "isAsync";
|
|
1073
|
+
var _DYN_DIAG_LOG = "diagLog";
|
|
1074
|
+
var _DYN__DO_TEARDOWN = "_doTeardown";
|
|
1075
|
+
var _DYN_UPDATE = "update";
|
|
1076
|
+
var _DYN_GET_NEXT = "getNext";
|
|
1077
|
+
var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
|
|
1078
|
+
var _DYN_USER_AGENT = "userAgent";
|
|
1079
|
+
var _DYN_SPLIT = "split";
|
|
1080
|
+
var _DYN_NODE_TYPE = "nodeType";
|
|
1081
|
+
var _DYN_REPLACE = "replace";
|
|
1082
|
+
var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
|
|
1083
|
+
var _DYN_IS_CHILD_EVT = "isChildEvt";
|
|
1084
|
+
var _DYN_GET_CTX = "getCtx";
|
|
1085
|
+
var _DYN_SET_CTX = "setCtx";
|
|
1086
|
+
var _DYN_COMPLETE = "complete";
|
|
1087
|
+
|
|
1088
|
+
var aggregationErrorType;
|
|
1089
|
+
function throwAggregationError(message, sourceErrors) {
|
|
1090
|
+
if (!aggregationErrorType) {
|
|
1091
|
+
aggregationErrorType = createCustomError("AggregationError", function (self, args) {
|
|
1092
|
+
if (args[_DYN_LENGTH ] > 1) {
|
|
1093
|
+
self.errors = args[1];
|
|
1094
|
+
}
|
|
1095
|
+
});
|
|
1096
|
+
}
|
|
1097
|
+
var theMessage = message || "One or more errors occurred.";
|
|
1098
|
+
arrForEach(sourceErrors, function (srcError, idx) {
|
|
1099
|
+
theMessage += "\n".concat(idx, " > ").concat(dumpObj(srcError));
|
|
1100
|
+
});
|
|
1101
|
+
throw new aggregationErrorType(theMessage, sourceErrors || []);
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1104
|
+
var UNDEFINED_VALUE = undefined;
|
|
1105
|
+
var STR_EMPTY = "";
|
|
1106
|
+
var STR_CORE = "core";
|
|
1107
|
+
var STR_DISABLED = "disabled";
|
|
1108
|
+
var STR_EXTENSION_CONFIG = "extensionConfig";
|
|
1109
|
+
var STR_PROCESS_TELEMETRY = "processTelemetry";
|
|
1110
|
+
var STR_PRIORITY = "priority";
|
|
1111
|
+
var STR_GET_PERF_MGR = "getPerfMgr";
|
|
1112
|
+
var STR_DOMAIN = "domain";
|
|
1113
|
+
var STR_PATH = "path";
|
|
1114
|
+
var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
|
|
1115
|
+
|
|
1116
|
+
var rCamelCase = /-([a-z])/g;
|
|
1117
|
+
var rNormalizeInvalid = /([^\w\d_$])/g;
|
|
1118
|
+
var rLeadingNumeric = /^(\d+[\w\d_$])/;
|
|
1119
|
+
function isNotNullOrUndefined(value) {
|
|
1120
|
+
return !isNullOrUndefined(value);
|
|
490
1121
|
}
|
|
491
1122
|
function normalizeJsName(name) {
|
|
492
1123
|
var value = name;
|
|
@@ -499,348 +1130,870 @@
|
|
|
499
1130
|
return "_" + match;
|
|
500
1131
|
});
|
|
501
1132
|
}
|
|
502
|
-
return value;
|
|
1133
|
+
return value;
|
|
1134
|
+
}
|
|
1135
|
+
function strContains(value, search) {
|
|
1136
|
+
if (value && search) {
|
|
1137
|
+
return strIndexOf(value, search) !== -1;
|
|
1138
|
+
}
|
|
1139
|
+
return false;
|
|
1140
|
+
}
|
|
1141
|
+
function getExceptionName(object) {
|
|
1142
|
+
if (isError(object)) {
|
|
1143
|
+
return object[_DYN_NAME ];
|
|
1144
|
+
}
|
|
1145
|
+
return STR_EMPTY;
|
|
1146
|
+
}
|
|
1147
|
+
function setValue(target, field, value, valChk, srcChk) {
|
|
1148
|
+
var theValue = value;
|
|
1149
|
+
if (target) {
|
|
1150
|
+
theValue = target[field];
|
|
1151
|
+
if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
|
|
1152
|
+
theValue = value;
|
|
1153
|
+
target[field] = theValue;
|
|
1154
|
+
}
|
|
1155
|
+
}
|
|
1156
|
+
return theValue;
|
|
1157
|
+
}
|
|
1158
|
+
function _createProxyFunction(source, funcName) {
|
|
1159
|
+
var srcFunc = null;
|
|
1160
|
+
var src = null;
|
|
1161
|
+
if (isFunction(source)) {
|
|
1162
|
+
srcFunc = source;
|
|
1163
|
+
}
|
|
1164
|
+
else {
|
|
1165
|
+
src = source;
|
|
1166
|
+
}
|
|
1167
|
+
return function () {
|
|
1168
|
+
var originalArguments = arguments;
|
|
1169
|
+
if (srcFunc) {
|
|
1170
|
+
src = srcFunc();
|
|
1171
|
+
}
|
|
1172
|
+
if (src) {
|
|
1173
|
+
return src[funcName][_DYN_APPLY ](src, originalArguments);
|
|
1174
|
+
}
|
|
1175
|
+
};
|
|
1176
|
+
}
|
|
1177
|
+
function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
|
|
1178
|
+
if (target && name && source) {
|
|
1179
|
+
if (overwriteTarget !== false || isUndefined(target[name])) {
|
|
1180
|
+
target[name] = _createProxyFunction(source, theFunc);
|
|
1181
|
+
}
|
|
1182
|
+
}
|
|
1183
|
+
}
|
|
1184
|
+
function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {
|
|
1185
|
+
if (target && source && isObject(target) && isArray(functionsToProxy)) {
|
|
1186
|
+
arrForEach(functionsToProxy, function (theFuncName) {
|
|
1187
|
+
if (isString(theFuncName)) {
|
|
1188
|
+
proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);
|
|
1189
|
+
}
|
|
1190
|
+
});
|
|
1191
|
+
}
|
|
1192
|
+
return target;
|
|
1193
|
+
}
|
|
1194
|
+
|
|
1195
|
+
var strLocation = "location";
|
|
1196
|
+
var strConsole = "console";
|
|
1197
|
+
var strJSON = "JSON";
|
|
1198
|
+
var strCrypto = "crypto";
|
|
1199
|
+
var strMsCrypto = "msCrypto";
|
|
1200
|
+
var strMsie = "msie";
|
|
1201
|
+
var strTrident = "trident/";
|
|
1202
|
+
var _isTrident = null;
|
|
1203
|
+
var _navUserAgentCheck = null;
|
|
1204
|
+
var _enableMocks = false;
|
|
1205
|
+
function getLocation(checkForMock) {
|
|
1206
|
+
if (checkForMock && _enableMocks) {
|
|
1207
|
+
var mockLocation = getInst("__mockLocation");
|
|
1208
|
+
if (mockLocation) {
|
|
1209
|
+
return mockLocation;
|
|
1210
|
+
}
|
|
1211
|
+
}
|
|
1212
|
+
if (typeof location === strShimObject && location) {
|
|
1213
|
+
return location;
|
|
1214
|
+
}
|
|
1215
|
+
return getInst(strLocation);
|
|
1216
|
+
}
|
|
1217
|
+
function getConsole() {
|
|
1218
|
+
if (typeof console !== strShimUndefined) {
|
|
1219
|
+
return console;
|
|
1220
|
+
}
|
|
1221
|
+
return getInst(strConsole);
|
|
1222
|
+
}
|
|
1223
|
+
function hasJSON() {
|
|
1224
|
+
return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
|
|
1225
|
+
}
|
|
1226
|
+
function getJSON() {
|
|
1227
|
+
if (hasJSON()) {
|
|
1228
|
+
return JSON || getInst(strJSON);
|
|
1229
|
+
}
|
|
1230
|
+
return null;
|
|
1231
|
+
}
|
|
1232
|
+
function getCrypto() {
|
|
1233
|
+
return getInst(strCrypto);
|
|
1234
|
+
}
|
|
1235
|
+
function getMsCrypto() {
|
|
1236
|
+
return getInst(strMsCrypto);
|
|
1237
|
+
}
|
|
1238
|
+
function isIE() {
|
|
1239
|
+
var nav = getNavigator();
|
|
1240
|
+
if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
|
|
1241
|
+
_navUserAgentCheck = nav[_DYN_USER_AGENT ];
|
|
1242
|
+
var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
|
|
1243
|
+
_isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
|
|
1244
|
+
}
|
|
1245
|
+
return _isTrident;
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1248
|
+
var UInt32Mask = 0x100000000;
|
|
1249
|
+
var MaxUInt32 = 0xffffffff;
|
|
1250
|
+
var SEED1 = 123456789;
|
|
1251
|
+
var SEED2 = 987654321;
|
|
1252
|
+
var _mwcSeeded = false;
|
|
1253
|
+
var _mwcW = SEED1;
|
|
1254
|
+
var _mwcZ = SEED2;
|
|
1255
|
+
function _mwcSeed(seedValue) {
|
|
1256
|
+
if (seedValue < 0) {
|
|
1257
|
+
seedValue >>>= 0;
|
|
1258
|
+
}
|
|
1259
|
+
_mwcW = (SEED1 + seedValue) & MaxUInt32;
|
|
1260
|
+
_mwcZ = (SEED2 - seedValue) & MaxUInt32;
|
|
1261
|
+
_mwcSeeded = true;
|
|
1262
|
+
}
|
|
1263
|
+
function _autoSeedMwc() {
|
|
1264
|
+
try {
|
|
1265
|
+
var now = utcNow() & 0x7fffffff;
|
|
1266
|
+
_mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
|
|
1267
|
+
}
|
|
1268
|
+
catch (e) {
|
|
1269
|
+
}
|
|
1270
|
+
}
|
|
1271
|
+
function random32(signed) {
|
|
1272
|
+
var value = 0;
|
|
1273
|
+
var c = getCrypto() || getMsCrypto();
|
|
1274
|
+
if (c && c.getRandomValues) {
|
|
1275
|
+
value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
|
|
1276
|
+
}
|
|
1277
|
+
if (value === 0 && isIE()) {
|
|
1278
|
+
if (!_mwcSeeded) {
|
|
1279
|
+
_autoSeedMwc();
|
|
1280
|
+
}
|
|
1281
|
+
value = mwcRandom32() & MaxUInt32;
|
|
1282
|
+
}
|
|
1283
|
+
if (value === 0) {
|
|
1284
|
+
value = Math.floor((UInt32Mask * Math.random()) | 0);
|
|
1285
|
+
}
|
|
1286
|
+
if (!signed) {
|
|
1287
|
+
value >>>= 0;
|
|
1288
|
+
}
|
|
1289
|
+
return value;
|
|
1290
|
+
}
|
|
1291
|
+
function mwcRandom32(signed) {
|
|
1292
|
+
_mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
|
|
1293
|
+
_mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
|
|
1294
|
+
var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
|
|
1295
|
+
if (!signed) {
|
|
1296
|
+
value >>>= 0;
|
|
1297
|
+
}
|
|
1298
|
+
return value;
|
|
1299
|
+
}
|
|
1300
|
+
function newId(maxLength) {
|
|
1301
|
+
if (maxLength === void 0) { maxLength = 22; }
|
|
1302
|
+
var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
1303
|
+
var number = random32() >>> 0;
|
|
1304
|
+
var chars = 0;
|
|
1305
|
+
var result = STR_EMPTY;
|
|
1306
|
+
while (result[_DYN_LENGTH ] < maxLength) {
|
|
1307
|
+
chars++;
|
|
1308
|
+
result += base64chars.charAt(number & 0x3F);
|
|
1309
|
+
number >>>= 6;
|
|
1310
|
+
if (chars === 5) {
|
|
1311
|
+
number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
|
|
1312
|
+
chars = 0;
|
|
1313
|
+
}
|
|
1314
|
+
}
|
|
1315
|
+
return result;
|
|
1316
|
+
}
|
|
1317
|
+
|
|
1318
|
+
var version = '3.0.2';
|
|
1319
|
+
var instanceName = "." + newId(6);
|
|
1320
|
+
var _dataUid = 0;
|
|
1321
|
+
function _canAcceptData(target) {
|
|
1322
|
+
return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
|
|
1323
|
+
}
|
|
1324
|
+
function _getCache(data, target) {
|
|
1325
|
+
var theCache = target[data.id];
|
|
1326
|
+
if (!theCache) {
|
|
1327
|
+
theCache = {};
|
|
1328
|
+
try {
|
|
1329
|
+
if (_canAcceptData(target)) {
|
|
1330
|
+
objDefine(target, data.id, {
|
|
1331
|
+
e: false,
|
|
1332
|
+
v: theCache
|
|
1333
|
+
});
|
|
1334
|
+
}
|
|
1335
|
+
}
|
|
1336
|
+
catch (e) {
|
|
1337
|
+
}
|
|
1338
|
+
}
|
|
1339
|
+
return theCache;
|
|
1340
|
+
}
|
|
1341
|
+
function createUniqueNamespace(name, includeVersion) {
|
|
1342
|
+
if (includeVersion === void 0) { includeVersion = false; }
|
|
1343
|
+
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
|
|
1344
|
+
}
|
|
1345
|
+
function createElmNodeData(name) {
|
|
1346
|
+
var data = {
|
|
1347
|
+
id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
|
|
1348
|
+
accept: function (target) {
|
|
1349
|
+
return _canAcceptData(target);
|
|
1350
|
+
},
|
|
1351
|
+
get: function (target, name, defValue, addDefault) {
|
|
1352
|
+
var theCache = target[data.id];
|
|
1353
|
+
if (!theCache) {
|
|
1354
|
+
if (addDefault) {
|
|
1355
|
+
theCache = _getCache(data, target);
|
|
1356
|
+
theCache[normalizeJsName(name)] = defValue;
|
|
1357
|
+
}
|
|
1358
|
+
return defValue;
|
|
1359
|
+
}
|
|
1360
|
+
return theCache[normalizeJsName(name)];
|
|
1361
|
+
},
|
|
1362
|
+
kill: function (target, name) {
|
|
1363
|
+
if (target && target[name]) {
|
|
1364
|
+
try {
|
|
1365
|
+
delete target[name];
|
|
1366
|
+
}
|
|
1367
|
+
catch (e) {
|
|
1368
|
+
}
|
|
1369
|
+
}
|
|
1370
|
+
}
|
|
1371
|
+
};
|
|
1372
|
+
return data;
|
|
1373
|
+
}
|
|
1374
|
+
|
|
1375
|
+
function _isConfigDefaults(value) {
|
|
1376
|
+
return (value && isObject(value) && (value.isVal || value.fb || objHasOwn(value, "v") || objHasOwn(value, "mrg") || objHasOwn(value, "ref") || value.set));
|
|
1377
|
+
}
|
|
1378
|
+
function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
|
|
1379
|
+
var defValue;
|
|
1380
|
+
var isDefaultValid = cfgDefaults.dfVal || isDefined;
|
|
1381
|
+
if (theConfig && cfgDefaults.fb) {
|
|
1382
|
+
var fallbacks = cfgDefaults.fb;
|
|
1383
|
+
if (!isArray(fallbacks)) {
|
|
1384
|
+
fallbacks = [fallbacks];
|
|
1385
|
+
}
|
|
1386
|
+
for (var lp = 0; lp < fallbacks[_DYN_LENGTH ]; lp++) {
|
|
1387
|
+
var fallback = fallbacks[lp];
|
|
1388
|
+
var fbValue = theConfig[fallback];
|
|
1389
|
+
if (isDefaultValid(fbValue)) {
|
|
1390
|
+
defValue = fbValue;
|
|
1391
|
+
}
|
|
1392
|
+
else if (dynamicHandler) {
|
|
1393
|
+
fbValue = dynamicHandler.cfg[fallback];
|
|
1394
|
+
if (isDefaultValid(fbValue)) {
|
|
1395
|
+
defValue = fbValue;
|
|
1396
|
+
}
|
|
1397
|
+
dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);
|
|
1398
|
+
}
|
|
1399
|
+
if (isDefaultValid(defValue)) {
|
|
1400
|
+
break;
|
|
1401
|
+
}
|
|
1402
|
+
}
|
|
1403
|
+
}
|
|
1404
|
+
if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {
|
|
1405
|
+
defValue = cfgDefaults.v;
|
|
1406
|
+
}
|
|
1407
|
+
return defValue;
|
|
1408
|
+
}
|
|
1409
|
+
function _resolveDefaultValue(dynamicHandler, theConfig, cfgDefaults) {
|
|
1410
|
+
var theValue = cfgDefaults;
|
|
1411
|
+
if (cfgDefaults && _isConfigDefaults(cfgDefaults)) {
|
|
1412
|
+
theValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
|
|
1413
|
+
}
|
|
1414
|
+
if (theValue) {
|
|
1415
|
+
if (_isConfigDefaults(theValue)) {
|
|
1416
|
+
theValue = _resolveDefaultValue(dynamicHandler, theConfig, theValue);
|
|
1417
|
+
}
|
|
1418
|
+
var newValue_1;
|
|
1419
|
+
if (isArray(theValue)) {
|
|
1420
|
+
newValue_1 = [];
|
|
1421
|
+
newValue_1[_DYN_LENGTH ] = theValue[_DYN_LENGTH ];
|
|
1422
|
+
}
|
|
1423
|
+
else if (isPlainObject(theValue)) {
|
|
1424
|
+
newValue_1 = {};
|
|
1425
|
+
}
|
|
1426
|
+
if (newValue_1) {
|
|
1427
|
+
objForEachKey(theValue, function (key, value) {
|
|
1428
|
+
if (value && _isConfigDefaults(value)) {
|
|
1429
|
+
value = _resolveDefaultValue(dynamicHandler, theConfig, value);
|
|
1430
|
+
}
|
|
1431
|
+
newValue_1[key] = value;
|
|
1432
|
+
});
|
|
1433
|
+
theValue = newValue_1;
|
|
1434
|
+
}
|
|
1435
|
+
}
|
|
1436
|
+
return theValue;
|
|
503
1437
|
}
|
|
504
|
-
function
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
1438
|
+
function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {
|
|
1439
|
+
var isValid;
|
|
1440
|
+
var setFn;
|
|
1441
|
+
var defValue;
|
|
1442
|
+
var cfgDefaults = defaultValue;
|
|
1443
|
+
var mergeDf;
|
|
1444
|
+
var reference;
|
|
1445
|
+
var readOnly;
|
|
1446
|
+
var blkDynamicValue;
|
|
1447
|
+
if (_isConfigDefaults(cfgDefaults)) {
|
|
1448
|
+
isValid = cfgDefaults.isVal;
|
|
1449
|
+
setFn = cfgDefaults.set;
|
|
1450
|
+
readOnly = cfgDefaults[_DYN_RD_ONLY ];
|
|
1451
|
+
blkDynamicValue = cfgDefaults[_DYN_BLK_VAL ];
|
|
1452
|
+
mergeDf = cfgDefaults.mrg;
|
|
1453
|
+
reference = cfgDefaults.ref;
|
|
1454
|
+
if (!reference && isUndefined(reference)) {
|
|
1455
|
+
reference = !!mergeDf;
|
|
1456
|
+
}
|
|
1457
|
+
defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
|
|
1458
|
+
}
|
|
1459
|
+
else {
|
|
1460
|
+
defValue = defaultValue;
|
|
1461
|
+
}
|
|
1462
|
+
if (blkDynamicValue) {
|
|
1463
|
+
dynamicHandler[_DYN_BLK_VAL ](theConfig, name);
|
|
1464
|
+
}
|
|
1465
|
+
var theValue;
|
|
1466
|
+
var usingDefault = true;
|
|
1467
|
+
var cfgValue = theConfig[name];
|
|
1468
|
+
if (cfgValue || !isNullOrUndefined(cfgValue)) {
|
|
1469
|
+
theValue = cfgValue;
|
|
1470
|
+
usingDefault = false;
|
|
1471
|
+
if (isValid && theValue !== defValue && !isValid(theValue)) {
|
|
1472
|
+
theValue = defValue;
|
|
1473
|
+
usingDefault = true;
|
|
1474
|
+
}
|
|
1475
|
+
if (setFn) {
|
|
1476
|
+
theValue = setFn(theValue, defValue, theConfig);
|
|
1477
|
+
usingDefault = theValue === defValue;
|
|
1478
|
+
}
|
|
1479
|
+
}
|
|
1480
|
+
if (!usingDefault) {
|
|
1481
|
+
if (isPlainObject(theValue) || isArray(defValue)) {
|
|
1482
|
+
if (mergeDf && defValue && (isPlainObject(defValue) || isArray(defValue))) {
|
|
1483
|
+
objForEachKey(defValue, function (dfName, dfValue) {
|
|
1484
|
+
_applyDefaultValue(dynamicHandler, theValue, dfName, dfValue);
|
|
1485
|
+
});
|
|
509
1486
|
}
|
|
510
1487
|
}
|
|
511
1488
|
}
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
1489
|
+
else if (defValue) {
|
|
1490
|
+
theValue = _resolveDefaultValue(dynamicHandler, theConfig, defValue);
|
|
1491
|
+
}
|
|
1492
|
+
else {
|
|
1493
|
+
theValue = defValue;
|
|
1494
|
+
}
|
|
1495
|
+
dynamicHandler.set(theConfig, name, theValue);
|
|
1496
|
+
if (reference) {
|
|
1497
|
+
dynamicHandler.ref(theConfig, name);
|
|
1498
|
+
}
|
|
1499
|
+
if (readOnly) {
|
|
1500
|
+
dynamicHandler[_DYN_RD_ONLY ](theConfig, name);
|
|
517
1501
|
}
|
|
518
|
-
return result;
|
|
519
1502
|
}
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
1503
|
+
|
|
1504
|
+
var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
|
|
1505
|
+
var BLOCK_DYNAMIC = symbolFor("[[ai_blkDynCfg_1]]");
|
|
1506
|
+
var FORCE_DYNAMIC = symbolFor("[[ai_frcDynCfg_1]]");
|
|
1507
|
+
function _cfgDeepCopy(source) {
|
|
1508
|
+
if (source) {
|
|
1509
|
+
var target_1;
|
|
1510
|
+
if (isArray(source)) {
|
|
1511
|
+
target_1 = [];
|
|
1512
|
+
target_1[_DYN_LENGTH ] = source[_DYN_LENGTH ];
|
|
1513
|
+
}
|
|
1514
|
+
else if (isPlainObject(source)) {
|
|
1515
|
+
target_1 = {};
|
|
1516
|
+
}
|
|
1517
|
+
if (target_1) {
|
|
1518
|
+
objForEachKey(source, function (key, value) {
|
|
1519
|
+
target_1[key] = _cfgDeepCopy(value);
|
|
1520
|
+
});
|
|
1521
|
+
return target_1;
|
|
531
1522
|
}
|
|
532
|
-
result = true;
|
|
533
1523
|
}
|
|
534
|
-
return
|
|
1524
|
+
return source;
|
|
535
1525
|
}
|
|
536
|
-
function
|
|
537
|
-
if (value
|
|
538
|
-
|
|
1526
|
+
function getDynamicConfigHandler(value) {
|
|
1527
|
+
if (value) {
|
|
1528
|
+
var handler = value[CFG_HANDLER_LINK] || value;
|
|
1529
|
+
if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
|
|
1530
|
+
return handler;
|
|
1531
|
+
}
|
|
539
1532
|
}
|
|
540
|
-
return
|
|
541
|
-
}
|
|
542
|
-
var isArray = _isArray || _isArrayPoly;
|
|
543
|
-
function _isArrayPoly(obj) {
|
|
544
|
-
return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Array]");
|
|
545
|
-
}
|
|
546
|
-
function isError(obj) {
|
|
547
|
-
return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Error]");
|
|
548
|
-
}
|
|
549
|
-
function isString(value) {
|
|
550
|
-
return typeof value === "string";
|
|
1533
|
+
return null;
|
|
551
1534
|
}
|
|
552
|
-
function
|
|
553
|
-
|
|
1535
|
+
function blockDynamicConversion(value) {
|
|
1536
|
+
if (value && (isPlainObject(value) || isArray(value))) {
|
|
1537
|
+
try {
|
|
1538
|
+
value[BLOCK_DYNAMIC] = true;
|
|
1539
|
+
}
|
|
1540
|
+
catch (e) {
|
|
1541
|
+
}
|
|
1542
|
+
}
|
|
1543
|
+
return value;
|
|
554
1544
|
}
|
|
555
|
-
function
|
|
1545
|
+
function _canMakeDynamic(getFunc, state, value) {
|
|
556
1546
|
var result = false;
|
|
557
|
-
if (value &&
|
|
558
|
-
|
|
559
|
-
if (!
|
|
560
|
-
result =
|
|
561
|
-
}
|
|
562
|
-
else {
|
|
563
|
-
if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL ](proto, strConstructor)) {
|
|
564
|
-
proto = proto[strConstructor];
|
|
565
|
-
}
|
|
566
|
-
result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
|
|
1547
|
+
if (value && !getFunc[state.blkVal]) {
|
|
1548
|
+
result = value[FORCE_DYNAMIC];
|
|
1549
|
+
if (!result && !value[BLOCK_DYNAMIC]) {
|
|
1550
|
+
result = isPlainObject(value) || isArray(value);
|
|
567
1551
|
}
|
|
568
1552
|
}
|
|
569
1553
|
return result;
|
|
570
1554
|
}
|
|
571
|
-
function
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
1555
|
+
function throwInvalidAccess(message) {
|
|
1556
|
+
throwTypeError("InvalidAccess:" + message);
|
|
1557
|
+
}
|
|
1558
|
+
|
|
1559
|
+
var arrayMethodsToPatch = [
|
|
1560
|
+
"push",
|
|
1561
|
+
"pop",
|
|
1562
|
+
"shift",
|
|
1563
|
+
"unshift",
|
|
1564
|
+
"splice"
|
|
1565
|
+
];
|
|
1566
|
+
var _throwDynamicError = function (logger, name, desc, e) {
|
|
1567
|
+
logger && logger[_DYN_THROW_INTERNAL ](3 , 108 , "".concat(desc, " [").concat(name, "] failed - ") + dumpObj(e));
|
|
1568
|
+
};
|
|
1569
|
+
function _patchArray(state, target, name) {
|
|
1570
|
+
if (isArray(target)) {
|
|
1571
|
+
arrForEach(arrayMethodsToPatch, function (method) {
|
|
1572
|
+
var orgMethod = target[method];
|
|
1573
|
+
target[method] = function () {
|
|
1574
|
+
var args = [];
|
|
1575
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
1576
|
+
args[_i] = arguments[_i];
|
|
578
1577
|
}
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
1578
|
+
var result = orgMethod[_DYN_APPLY ](this, args);
|
|
1579
|
+
_makeDynamicObject(state, target, name, "Patching");
|
|
1580
|
+
return result;
|
|
1581
|
+
};
|
|
1582
|
+
});
|
|
583
1583
|
}
|
|
584
1584
|
}
|
|
585
|
-
function
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
}
|
|
589
|
-
return str;
|
|
1585
|
+
function _getOwnPropGetter(target, name) {
|
|
1586
|
+
var propDesc = objGetOwnPropertyDescriptor(target, name);
|
|
1587
|
+
return propDesc && propDesc.get;
|
|
590
1588
|
}
|
|
591
|
-
function
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
1589
|
+
function _createDynamicProperty(state, theConfig, name, value) {
|
|
1590
|
+
var detail = {
|
|
1591
|
+
n: name,
|
|
1592
|
+
h: [],
|
|
1593
|
+
trk: function (handler) {
|
|
1594
|
+
if (handler && handler.fn) {
|
|
1595
|
+
if (arrIndexOf(detail.h, handler) === -1) {
|
|
1596
|
+
detail.h[_DYN_PUSH ](handler);
|
|
1597
|
+
}
|
|
1598
|
+
state.trk(handler, detail);
|
|
600
1599
|
}
|
|
601
|
-
|
|
602
|
-
|
|
1600
|
+
},
|
|
1601
|
+
clr: function (handler) {
|
|
1602
|
+
var idx = arrIndexOf(detail.h, handler);
|
|
1603
|
+
if (idx !== -1) {
|
|
1604
|
+
detail.h[_DYN_SPLICE ](idx, 1);
|
|
603
1605
|
}
|
|
604
|
-
_objDefineProperty$1(target, prop, descriptor);
|
|
605
|
-
return true;
|
|
606
1606
|
}
|
|
607
|
-
|
|
1607
|
+
};
|
|
1608
|
+
var checkDynamic = true;
|
|
1609
|
+
var isObjectOrArray = false;
|
|
1610
|
+
function _getProperty() {
|
|
1611
|
+
if (checkDynamic) {
|
|
1612
|
+
isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
|
|
1613
|
+
if (value && !value[CFG_HANDLER_LINK] && isObjectOrArray) {
|
|
1614
|
+
value = _makeDynamicObject(state, value, name, "Converting");
|
|
1615
|
+
}
|
|
1616
|
+
checkDynamic = false;
|
|
1617
|
+
}
|
|
1618
|
+
var activeHandler = state.act;
|
|
1619
|
+
if (activeHandler) {
|
|
1620
|
+
detail.trk(activeHandler);
|
|
608
1621
|
}
|
|
1622
|
+
return value;
|
|
609
1623
|
}
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
1624
|
+
_getProperty[state.prop] = {
|
|
1625
|
+
chng: function () {
|
|
1626
|
+
state.add(detail);
|
|
1627
|
+
}
|
|
1628
|
+
};
|
|
1629
|
+
function _setProperty(newValue) {
|
|
1630
|
+
if (value !== newValue) {
|
|
1631
|
+
if (!!_getProperty[state.ro] && !state.upd) {
|
|
1632
|
+
throwInvalidAccess("[" + name + "] is read-only:" + dumpObj(theConfig));
|
|
1633
|
+
}
|
|
1634
|
+
if (checkDynamic) {
|
|
1635
|
+
isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
|
|
1636
|
+
checkDynamic = false;
|
|
1637
|
+
}
|
|
1638
|
+
var isReferenced = isObjectOrArray && _getProperty[state.rf];
|
|
1639
|
+
if (isObjectOrArray) {
|
|
1640
|
+
if (isReferenced) {
|
|
1641
|
+
objForEachKey(value, function (key) {
|
|
1642
|
+
value[key] = newValue ? newValue[key] : UNDEFINED_VALUE;
|
|
1643
|
+
});
|
|
1644
|
+
try {
|
|
1645
|
+
objForEachKey(newValue, function (key, theValue) {
|
|
1646
|
+
_setDynamicProperty(state, value, key, theValue);
|
|
1647
|
+
});
|
|
1648
|
+
newValue = value;
|
|
1649
|
+
}
|
|
1650
|
+
catch (e) {
|
|
1651
|
+
_throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, "Assigning", e);
|
|
1652
|
+
isObjectOrArray = false;
|
|
1653
|
+
}
|
|
1654
|
+
}
|
|
1655
|
+
else if (value && value[CFG_HANDLER_LINK]) {
|
|
1656
|
+
objForEachKey(value, function (key) {
|
|
1657
|
+
var getter = _getOwnPropGetter(value, key);
|
|
1658
|
+
if (getter) {
|
|
1659
|
+
var valueState = getter[state.prop];
|
|
1660
|
+
valueState && valueState.chng();
|
|
1661
|
+
}
|
|
1662
|
+
});
|
|
1663
|
+
}
|
|
620
1664
|
}
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
if (isError(object)) {
|
|
632
|
-
return object[_DYN_NAME ];
|
|
1665
|
+
if (newValue !== value) {
|
|
1666
|
+
var newIsObjectOrArray = newValue && _canMakeDynamic(_getProperty, state, newValue);
|
|
1667
|
+
if (!isReferenced && newIsObjectOrArray) {
|
|
1668
|
+
newValue = _makeDynamicObject(state, newValue, name, "Converting");
|
|
1669
|
+
}
|
|
1670
|
+
value = newValue;
|
|
1671
|
+
isObjectOrArray = newIsObjectOrArray;
|
|
1672
|
+
}
|
|
1673
|
+
state.add(detail);
|
|
1674
|
+
}
|
|
633
1675
|
}
|
|
634
|
-
|
|
1676
|
+
objDefine(theConfig, detail.n, { g: _getProperty, s: _setProperty });
|
|
635
1677
|
}
|
|
636
|
-
function
|
|
637
|
-
var theValue = value;
|
|
1678
|
+
function _setDynamicProperty(state, target, name, value) {
|
|
638
1679
|
if (target) {
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
target
|
|
1680
|
+
var getter = _getOwnPropGetter(target, name);
|
|
1681
|
+
var isDynamic = getter && !!getter[state.prop];
|
|
1682
|
+
if (!isDynamic) {
|
|
1683
|
+
_createDynamicProperty(state, target, name, value);
|
|
1684
|
+
}
|
|
1685
|
+
else {
|
|
1686
|
+
target[name] = value;
|
|
643
1687
|
}
|
|
644
1688
|
}
|
|
645
|
-
return
|
|
646
|
-
}
|
|
647
|
-
function getCfgValue(theValue, defaultValue) {
|
|
648
|
-
return !isNullOrUndefined(theValue) ? theValue : defaultValue;
|
|
649
|
-
}
|
|
650
|
-
function isTruthy(value) {
|
|
651
|
-
return !!value;
|
|
1689
|
+
return target;
|
|
652
1690
|
}
|
|
653
|
-
function
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
1691
|
+
function _setDynamicPropertyState(state, target, name, flags) {
|
|
1692
|
+
if (target) {
|
|
1693
|
+
var getter = _getOwnPropGetter(target, name);
|
|
1694
|
+
var isDynamic = getter && !!getter[state.prop];
|
|
1695
|
+
var inPlace = flags && flags[0 ];
|
|
1696
|
+
var rdOnly = flags && flags[1 ];
|
|
1697
|
+
var blkProp = flags && flags[2 ];
|
|
1698
|
+
if (!isDynamic) {
|
|
1699
|
+
if (blkProp) {
|
|
1700
|
+
try {
|
|
1701
|
+
blockDynamicConversion(target);
|
|
1702
|
+
}
|
|
1703
|
+
catch (e) {
|
|
1704
|
+
_throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, "Blocking", e);
|
|
1705
|
+
}
|
|
1706
|
+
}
|
|
1707
|
+
try {
|
|
1708
|
+
_setDynamicProperty(state, target, name, target[name]);
|
|
1709
|
+
getter = _getOwnPropGetter(target, name);
|
|
1710
|
+
}
|
|
1711
|
+
catch (e) {
|
|
1712
|
+
_throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, "State", e);
|
|
1713
|
+
}
|
|
666
1714
|
}
|
|
667
|
-
if (
|
|
668
|
-
|
|
1715
|
+
if (inPlace) {
|
|
1716
|
+
getter[state.rf] = inPlace;
|
|
669
1717
|
}
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
target[name] = _createProxyFunction(source, theFunc);
|
|
1718
|
+
if (rdOnly) {
|
|
1719
|
+
getter[state.ro] = rdOnly;
|
|
1720
|
+
}
|
|
1721
|
+
if (blkProp) {
|
|
1722
|
+
getter[state.blkVal] = true;
|
|
676
1723
|
}
|
|
677
1724
|
}
|
|
1725
|
+
return target;
|
|
678
1726
|
}
|
|
679
|
-
function
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);
|
|
684
|
-
}
|
|
1727
|
+
function _makeDynamicObject(state, target, name, desc) {
|
|
1728
|
+
try {
|
|
1729
|
+
objForEachKey(target, function (key, value) {
|
|
1730
|
+
_setDynamicProperty(state, target, key, value);
|
|
685
1731
|
});
|
|
1732
|
+
if (!target[CFG_HANDLER_LINK]) {
|
|
1733
|
+
objDefineProp(target, CFG_HANDLER_LINK, {
|
|
1734
|
+
get: function () {
|
|
1735
|
+
return state[_DYN_HDLR ];
|
|
1736
|
+
}
|
|
1737
|
+
});
|
|
1738
|
+
_patchArray(state, target, name);
|
|
1739
|
+
}
|
|
1740
|
+
}
|
|
1741
|
+
catch (e) {
|
|
1742
|
+
_throwDynamicError((state.hdlr || {})[_DYN_LOGGER ], name, desc, e);
|
|
686
1743
|
}
|
|
687
1744
|
return target;
|
|
688
1745
|
}
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
var
|
|
694
|
-
var
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
}
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
1746
|
+
|
|
1747
|
+
var symPrefix = "[[ai_";
|
|
1748
|
+
var symPostfix = "]]";
|
|
1749
|
+
function _createState(cfgHandler) {
|
|
1750
|
+
var _a;
|
|
1751
|
+
var dynamicPropertySymbol = newSymbol(symPrefix + "get" + cfgHandler.uid + symPostfix);
|
|
1752
|
+
var dynamicPropertyReadOnly = newSymbol(symPrefix + "ro" + cfgHandler.uid + symPostfix);
|
|
1753
|
+
var dynamicPropertyReferenced = newSymbol(symPrefix + "rf" + cfgHandler.uid + symPostfix);
|
|
1754
|
+
var dynamicPropertyBlockValue = newSymbol(symPrefix + "blkVal" + cfgHandler.uid + symPostfix);
|
|
1755
|
+
var dynamicPropertyDetail = newSymbol(symPrefix + "dtl" + cfgHandler.uid + symPostfix);
|
|
1756
|
+
var _waitingHandlers = null;
|
|
1757
|
+
var _watcherTimer = null;
|
|
1758
|
+
var theState;
|
|
1759
|
+
function _useHandler(activeHandler, callback) {
|
|
1760
|
+
var prevWatcher = theState.act;
|
|
1761
|
+
try {
|
|
1762
|
+
theState.act = activeHandler;
|
|
1763
|
+
if (activeHandler && activeHandler[dynamicPropertyDetail]) {
|
|
1764
|
+
arrForEach(activeHandler[dynamicPropertyDetail], function (detail) {
|
|
1765
|
+
detail.clr(activeHandler);
|
|
1766
|
+
});
|
|
1767
|
+
activeHandler[dynamicPropertyDetail] = [];
|
|
1768
|
+
}
|
|
1769
|
+
callback({
|
|
1770
|
+
cfg: cfgHandler.cfg,
|
|
1771
|
+
set: cfgHandler.set.bind(cfgHandler),
|
|
1772
|
+
setDf: cfgHandler[_DYN_SET_DF ].bind(cfgHandler),
|
|
1773
|
+
ref: cfgHandler.ref.bind(cfgHandler),
|
|
1774
|
+
rdOnly: cfgHandler[_DYN_RD_ONLY ].bind(cfgHandler)
|
|
1775
|
+
});
|
|
1776
|
+
}
|
|
1777
|
+
catch (e) {
|
|
1778
|
+
var logger = cfgHandler[_DYN_LOGGER ];
|
|
1779
|
+
if (logger) {
|
|
1780
|
+
logger[_DYN_THROW_INTERNAL ](1 , 107 , dumpObj(e));
|
|
1781
|
+
}
|
|
1782
|
+
throw e;
|
|
1783
|
+
}
|
|
1784
|
+
finally {
|
|
1785
|
+
theState.act = prevWatcher || null;
|
|
1786
|
+
}
|
|
1787
|
+
}
|
|
1788
|
+
function _notifyWatchers() {
|
|
1789
|
+
if (_waitingHandlers) {
|
|
1790
|
+
var notifyHandlers = _waitingHandlers;
|
|
1791
|
+
_waitingHandlers = null;
|
|
1792
|
+
_watcherTimer && _watcherTimer[_DYN_CANCEL ]();
|
|
1793
|
+
_watcherTimer = null;
|
|
1794
|
+
var watcherFailures_1 = [];
|
|
1795
|
+
arrForEach(notifyHandlers, function (handler) {
|
|
1796
|
+
if (handler) {
|
|
1797
|
+
if (handler[dynamicPropertyDetail]) {
|
|
1798
|
+
arrForEach(handler[dynamicPropertyDetail], function (detail) {
|
|
1799
|
+
detail.clr(handler);
|
|
1800
|
+
});
|
|
1801
|
+
handler[dynamicPropertyDetail] = null;
|
|
1802
|
+
}
|
|
1803
|
+
if (handler.fn) {
|
|
1804
|
+
try {
|
|
1805
|
+
_useHandler(handler, handler.fn);
|
|
1806
|
+
}
|
|
1807
|
+
catch (e) {
|
|
1808
|
+
watcherFailures_1[_DYN_PUSH ](e);
|
|
1809
|
+
}
|
|
719
1810
|
}
|
|
720
1811
|
}
|
|
721
|
-
|
|
722
|
-
|
|
1812
|
+
});
|
|
1813
|
+
if (_waitingHandlers) {
|
|
1814
|
+
try {
|
|
1815
|
+
_notifyWatchers();
|
|
1816
|
+
}
|
|
1817
|
+
catch (e) {
|
|
1818
|
+
watcherFailures_1[_DYN_PUSH ](e);
|
|
723
1819
|
}
|
|
724
|
-
newValue = objExtend(deep, clone, newValue);
|
|
725
1820
|
}
|
|
726
|
-
if (
|
|
727
|
-
|
|
1821
|
+
if (watcherFailures_1[_DYN_LENGTH ] > 0) {
|
|
1822
|
+
throwAggregationError("Watcher error(s): ", watcherFailures_1);
|
|
728
1823
|
}
|
|
729
1824
|
}
|
|
730
1825
|
}
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
var strCrypto = "crypto";
|
|
750
|
-
var strMsCrypto = "msCrypto";
|
|
751
|
-
var strMsie = "msie";
|
|
752
|
-
var strTrident = "trident/";
|
|
753
|
-
var _isTrident = null;
|
|
754
|
-
var _navUserAgentCheck = null;
|
|
755
|
-
var _enableMocks = false;
|
|
756
|
-
function getGlobalInst(name) {
|
|
757
|
-
var gbl = getGlobal();
|
|
758
|
-
if (gbl && gbl[name]) {
|
|
759
|
-
return gbl[name];
|
|
1826
|
+
function _addWatcher(detail) {
|
|
1827
|
+
if (detail && detail.h[_DYN_LENGTH ] > 0) {
|
|
1828
|
+
if (!_waitingHandlers) {
|
|
1829
|
+
_waitingHandlers = [];
|
|
1830
|
+
}
|
|
1831
|
+
if (!_watcherTimer) {
|
|
1832
|
+
_watcherTimer = scheduleTimeout(function () {
|
|
1833
|
+
_watcherTimer = null;
|
|
1834
|
+
_notifyWatchers();
|
|
1835
|
+
}, 0);
|
|
1836
|
+
}
|
|
1837
|
+
for (var idx = 0; idx < detail.h[_DYN_LENGTH ]; idx++) {
|
|
1838
|
+
var handler = detail.h[idx];
|
|
1839
|
+
if (handler && arrIndexOf(_waitingHandlers, handler) === -1) {
|
|
1840
|
+
_waitingHandlers[_DYN_PUSH ](handler);
|
|
1841
|
+
}
|
|
1842
|
+
}
|
|
1843
|
+
}
|
|
760
1844
|
}
|
|
761
|
-
|
|
762
|
-
|
|
1845
|
+
function _trackHandler(handler, detail) {
|
|
1846
|
+
if (handler) {
|
|
1847
|
+
var details = handler[dynamicPropertyDetail] = handler[dynamicPropertyDetail] || [];
|
|
1848
|
+
if (arrIndexOf(details, detail) === -1) {
|
|
1849
|
+
details[_DYN_PUSH ](detail);
|
|
1850
|
+
}
|
|
1851
|
+
}
|
|
763
1852
|
}
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
1853
|
+
theState = (_a = {
|
|
1854
|
+
prop: dynamicPropertySymbol,
|
|
1855
|
+
ro: dynamicPropertyReadOnly,
|
|
1856
|
+
rf: dynamicPropertyReferenced
|
|
1857
|
+
},
|
|
1858
|
+
_a[_DYN_BLK_VAL ] = dynamicPropertyBlockValue,
|
|
1859
|
+
_a[_DYN_HDLR ] = cfgHandler,
|
|
1860
|
+
_a.add = _addWatcher,
|
|
1861
|
+
_a[_DYN_NOTIFY ] = _notifyWatchers,
|
|
1862
|
+
_a.use = _useHandler,
|
|
1863
|
+
_a.trk = _trackHandler,
|
|
1864
|
+
_a);
|
|
1865
|
+
return theState;
|
|
768
1866
|
}
|
|
769
|
-
|
|
770
|
-
|
|
1867
|
+
|
|
1868
|
+
function _createAndUseHandler(state, configHandler) {
|
|
1869
|
+
var handler = {
|
|
1870
|
+
fn: configHandler,
|
|
1871
|
+
rm: function () {
|
|
1872
|
+
handler.fn = null;
|
|
1873
|
+
state = null;
|
|
1874
|
+
configHandler = null;
|
|
1875
|
+
}
|
|
1876
|
+
};
|
|
1877
|
+
state.use(handler, configHandler);
|
|
1878
|
+
return handler;
|
|
771
1879
|
}
|
|
772
|
-
function
|
|
773
|
-
|
|
774
|
-
|
|
1880
|
+
function _createDynamicHandler(logger, target, inPlace) {
|
|
1881
|
+
var _a;
|
|
1882
|
+
var dynamicHandler = getDynamicConfigHandler(target);
|
|
1883
|
+
if (dynamicHandler) {
|
|
1884
|
+
return dynamicHandler;
|
|
775
1885
|
}
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
function getNavigator() {
|
|
782
|
-
if (hasNavigator()) {
|
|
783
|
-
return navigator;
|
|
1886
|
+
var uid = createUniqueNamespace("dyncfg", true);
|
|
1887
|
+
var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);
|
|
1888
|
+
var theState;
|
|
1889
|
+
function _notifyWatchers() {
|
|
1890
|
+
theState[_DYN_NOTIFY ]();
|
|
784
1891
|
}
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
if (checkForMock && _enableMocks) {
|
|
789
|
-
var mockLocation = getGlobalInst("__mockLocation");
|
|
790
|
-
if (mockLocation) {
|
|
791
|
-
return mockLocation;
|
|
1892
|
+
function _setValue(target, name, value) {
|
|
1893
|
+
try {
|
|
1894
|
+
target = _setDynamicProperty(theState, target, name, value);
|
|
792
1895
|
}
|
|
1896
|
+
catch (e) {
|
|
1897
|
+
_throwDynamicError(logger, name, "Setting value", e);
|
|
1898
|
+
}
|
|
1899
|
+
return target[name];
|
|
793
1900
|
}
|
|
794
|
-
|
|
795
|
-
return
|
|
1901
|
+
function _watch(configHandler) {
|
|
1902
|
+
return _createAndUseHandler(theState, configHandler);
|
|
796
1903
|
}
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
1904
|
+
function _block(configHandler, allowUpdate) {
|
|
1905
|
+
theState.use(null, function (details) {
|
|
1906
|
+
var prevUpd = theState.upd;
|
|
1907
|
+
try {
|
|
1908
|
+
if (!isUndefined(allowUpdate)) {
|
|
1909
|
+
theState.upd = allowUpdate;
|
|
1910
|
+
}
|
|
1911
|
+
configHandler(details);
|
|
1912
|
+
}
|
|
1913
|
+
finally {
|
|
1914
|
+
theState.upd = prevUpd;
|
|
1915
|
+
}
|
|
1916
|
+
});
|
|
802
1917
|
}
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
return Boolean((typeof JSON === strShimObject && JSON) || getGlobalInst(strJSON) !== null);
|
|
807
|
-
}
|
|
808
|
-
function getJSON() {
|
|
809
|
-
if (hasJSON()) {
|
|
810
|
-
return JSON || getGlobalInst(strJSON);
|
|
1918
|
+
function _ref(target, name) {
|
|
1919
|
+
var _a;
|
|
1920
|
+
return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 ] = true, _a))[name];
|
|
811
1921
|
}
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
1922
|
+
function _rdOnly(target, name) {
|
|
1923
|
+
var _a;
|
|
1924
|
+
return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 ] = true, _a))[name];
|
|
1925
|
+
}
|
|
1926
|
+
function _blkPropValue(target, name) {
|
|
1927
|
+
var _a;
|
|
1928
|
+
return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 ] = true, _a))[name];
|
|
1929
|
+
}
|
|
1930
|
+
function _applyDefaults(theConfig, defaultValues) {
|
|
1931
|
+
if (defaultValues) {
|
|
1932
|
+
objForEachKey(defaultValues, function (name, value) {
|
|
1933
|
+
_applyDefaultValue(cfgHandler, theConfig, name, value);
|
|
1934
|
+
});
|
|
1935
|
+
}
|
|
1936
|
+
return theConfig;
|
|
1937
|
+
}
|
|
1938
|
+
var cfgHandler = (_a = {
|
|
1939
|
+
uid: null,
|
|
1940
|
+
cfg: newTarget
|
|
1941
|
+
},
|
|
1942
|
+
_a[_DYN_LOGGER ] = logger,
|
|
1943
|
+
_a[_DYN_NOTIFY ] = _notifyWatchers,
|
|
1944
|
+
_a.set = _setValue,
|
|
1945
|
+
_a[_DYN_SET_DF ] = _applyDefaults,
|
|
1946
|
+
_a[_DYN_WATCH ] = _watch,
|
|
1947
|
+
_a.ref = _ref,
|
|
1948
|
+
_a[_DYN_RD_ONLY ] = _rdOnly,
|
|
1949
|
+
_a[_DYN_BLK_VAL ] = _blkPropValue,
|
|
1950
|
+
_a._block = _block,
|
|
1951
|
+
_a);
|
|
1952
|
+
objDefine(cfgHandler, "uid", {
|
|
1953
|
+
c: false,
|
|
1954
|
+
e: false,
|
|
1955
|
+
w: false,
|
|
1956
|
+
v: uid
|
|
1957
|
+
});
|
|
1958
|
+
theState = _createState(cfgHandler);
|
|
1959
|
+
_makeDynamicObject(theState, newTarget, "config", "Creating");
|
|
1960
|
+
return cfgHandler;
|
|
819
1961
|
}
|
|
820
|
-
function
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
1962
|
+
function _logInvalidAccess(logger, message) {
|
|
1963
|
+
if (logger) {
|
|
1964
|
+
logger[_DYN_WARN_TO_CONSOLE ](message);
|
|
1965
|
+
logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
|
|
1966
|
+
}
|
|
1967
|
+
else {
|
|
1968
|
+
throwInvalidAccess(message);
|
|
826
1969
|
}
|
|
827
|
-
return _isTrident;
|
|
828
1970
|
}
|
|
829
|
-
function
|
|
830
|
-
var
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object[_DYN_NAME ] + "'";
|
|
1971
|
+
function createDynamicConfig(config, defaultConfig, logger, inPlace) {
|
|
1972
|
+
var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
|
|
1973
|
+
if (defaultConfig) {
|
|
1974
|
+
dynamicHandler[_DYN_SET_DF ](dynamicHandler.cfg, defaultConfig);
|
|
834
1975
|
}
|
|
835
|
-
|
|
836
|
-
|
|
1976
|
+
return dynamicHandler;
|
|
1977
|
+
}
|
|
1978
|
+
function onConfigChange(config, configHandler, logger) {
|
|
1979
|
+
var handler = config[CFG_HANDLER_LINK] || config;
|
|
1980
|
+
if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
|
|
1981
|
+
return handler[_DYN_WATCH ](configHandler);
|
|
837
1982
|
}
|
|
838
|
-
|
|
1983
|
+
_logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
|
|
1984
|
+
return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
|
|
1985
|
+
}
|
|
1986
|
+
|
|
1987
|
+
function cfgDfMerge(defaultValue) {
|
|
1988
|
+
return {
|
|
1989
|
+
mrg: true,
|
|
1990
|
+
v: defaultValue
|
|
1991
|
+
};
|
|
839
1992
|
}
|
|
840
1993
|
|
|
841
1994
|
var _aiNamespace = null;
|
|
842
1995
|
function _getExtensionNamespace() {
|
|
843
|
-
var target =
|
|
1996
|
+
var target = getInst("Microsoft");
|
|
844
1997
|
if (target) {
|
|
845
1998
|
_aiNamespace = target["ApplicationInsights"];
|
|
846
1999
|
}
|
|
@@ -854,9 +2007,23 @@
|
|
|
854
2007
|
return ns ? ns["ChromeDbgExt"] : null;
|
|
855
2008
|
}
|
|
856
2009
|
|
|
2010
|
+
var _a$2;
|
|
2011
|
+
var STR_WARN_TO_CONSOLE = "warnToConsole";
|
|
857
2012
|
var AiNonUserActionablePrefix = "AI (Internal): ";
|
|
858
2013
|
var AiUserActionablePrefix = "AI: ";
|
|
859
2014
|
var AIInternalMessagePrefix = "AITR_";
|
|
2015
|
+
var defaultValues$1 = {
|
|
2016
|
+
loggingLevelConsole: 0,
|
|
2017
|
+
loggingLevelTelemetry: 1,
|
|
2018
|
+
maxMessageLimit: 25,
|
|
2019
|
+
enableDebug: false
|
|
2020
|
+
};
|
|
2021
|
+
var _logFuncs = (_a$2 = {},
|
|
2022
|
+
_a$2[0 ] = null,
|
|
2023
|
+
_a$2[1 ] = "errorToConsole",
|
|
2024
|
+
_a$2[2 ] = STR_WARN_TO_CONSOLE,
|
|
2025
|
+
_a$2[3 ] = "debugToConsole",
|
|
2026
|
+
_a$2);
|
|
860
2027
|
function _sanitizeDiagnosticText(text) {
|
|
861
2028
|
if (text) {
|
|
862
2029
|
return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
|
|
@@ -907,20 +2074,18 @@
|
|
|
907
2074
|
var _loggingLevelTelemetry;
|
|
908
2075
|
var _maxInternalMessageLimit;
|
|
909
2076
|
var _enableDebug;
|
|
2077
|
+
var _unloadHandler;
|
|
910
2078
|
dynamicProto(DiagnosticLogger, this, function (_self) {
|
|
911
|
-
_setDefaultsFromConfig(config || {});
|
|
2079
|
+
_unloadHandler = _setDefaultsFromConfig(config || {});
|
|
912
2080
|
_self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
|
|
913
|
-
_self
|
|
914
|
-
_self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
|
|
915
|
-
_self[_DYN_ENABLE_DEBUG_EXCEPTI4 ] = function () { return _enableDebug; };
|
|
916
|
-
_self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
|
|
2081
|
+
_self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
|
|
917
2082
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
918
2083
|
var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
|
|
919
2084
|
if (_enableDebug) {
|
|
920
2085
|
throw dumpObj(message);
|
|
921
2086
|
}
|
|
922
2087
|
else {
|
|
923
|
-
var logFunc = severity
|
|
2088
|
+
var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
|
|
924
2089
|
if (!isUndefined(message[_DYN_MESSAGE ])) {
|
|
925
2090
|
if (isUserAct) {
|
|
926
2091
|
var messageKey = +message[_DYN_MESSAGE_ID ];
|
|
@@ -941,11 +2106,15 @@
|
|
|
941
2106
|
}
|
|
942
2107
|
}
|
|
943
2108
|
};
|
|
944
|
-
_self
|
|
2109
|
+
_self.debugToConsole = function (message) {
|
|
2110
|
+
_logToConsole("debug", message);
|
|
2111
|
+
_debugExtMsg("warning", message);
|
|
2112
|
+
};
|
|
2113
|
+
_self[_DYN_WARN_TO_CONSOLE ] = function (message) {
|
|
945
2114
|
_logToConsole("warn", message);
|
|
946
2115
|
_debugExtMsg("warning", message);
|
|
947
2116
|
};
|
|
948
|
-
_self
|
|
2117
|
+
_self.errorToConsole = function (message) {
|
|
949
2118
|
_logToConsole("error", message);
|
|
950
2119
|
_debugExtMsg("error", message);
|
|
951
2120
|
};
|
|
@@ -954,6 +2123,10 @@
|
|
|
954
2123
|
_messageLogged = {};
|
|
955
2124
|
};
|
|
956
2125
|
_self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
|
|
2126
|
+
_self[_DYN_UNLOAD ] = function (isAsync) {
|
|
2127
|
+
_unloadHandler && _unloadHandler.rm();
|
|
2128
|
+
_unloadHandler = null;
|
|
2129
|
+
};
|
|
957
2130
|
function _logInternalMessage(severity, message) {
|
|
958
2131
|
if (_areInternalMessagesThrottled()) {
|
|
959
2132
|
return;
|
|
@@ -966,321 +2139,86 @@
|
|
|
966
2139
|
else {
|
|
967
2140
|
_messageLogged[messageKey] = true;
|
|
968
2141
|
}
|
|
969
|
-
if (logMessage) {
|
|
970
|
-
if (severity <= _loggingLevelTelemetry) {
|
|
971
|
-
_self.queue[_DYN_PUSH ](message);
|
|
972
|
-
_messageCount++;
|
|
973
|
-
_debugExtMsg((severity === 1 ? "error" : "warn"), message);
|
|
974
|
-
}
|
|
975
|
-
if (_messageCount === _maxInternalMessageLimit) {
|
|
976
|
-
var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
|
|
977
|
-
var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
|
|
978
|
-
_self.queue[_DYN_PUSH ](throttleMessage);
|
|
979
|
-
if (severity === 1 ) {
|
|
980
|
-
_self
|
|
981
|
-
}
|
|
982
|
-
else {
|
|
983
|
-
_self[
|
|
984
|
-
}
|
|
985
|
-
}
|
|
986
|
-
}
|
|
987
|
-
}
|
|
988
|
-
function _setDefaultsFromConfig(config) {
|
|
989
|
-
_loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);
|
|
990
|
-
_loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);
|
|
991
|
-
_maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);
|
|
992
|
-
_enableDebug = getCfgValue(config.enableDebug, getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 ], false));
|
|
993
|
-
}
|
|
994
|
-
function _areInternalMessagesThrottled() {
|
|
995
|
-
return _messageCount >= _maxInternalMessageLimit;
|
|
996
|
-
}
|
|
997
|
-
function _debugExtMsg(name, data) {
|
|
998
|
-
var dbgExt = getDebugExt(config || {});
|
|
999
|
-
if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
|
|
1000
|
-
dbgExt[_DYN_DIAG_LOG ](name, data);
|
|
1001
|
-
}
|
|
1002
|
-
}
|
|
1003
|
-
});
|
|
1004
|
-
}
|
|
1005
|
-
DiagnosticLogger.__ieDyn=1;
|
|
1006
|
-
return DiagnosticLogger;
|
|
1007
|
-
}());
|
|
1008
|
-
function _getLogger(logger) {
|
|
1009
|
-
return (logger || new DiagnosticLogger());
|
|
1010
|
-
}
|
|
1011
|
-
function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
|
|
1012
|
-
if (isUserAct === void 0) { isUserAct = false; }
|
|
1013
|
-
_getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);
|
|
1014
|
-
}
|
|
1015
|
-
|
|
1016
|
-
var strExecutionContextKey = "ctx";
|
|
1017
|
-
var strParentContextKey = "ParentContextKey";
|
|
1018
|
-
var strChildrenContextKey = "ChildrenContextKey";
|
|
1019
|
-
var PerfEvent = /** @class */ (function () {
|
|
1020
|
-
function PerfEvent(name, payloadDetails, isAsync) {
|
|
1021
|
-
var _self = this;
|
|
1022
|
-
var accessorDefined = false;
|
|
1023
|
-
_self.start = dateNow();
|
|
1024
|
-
_self[_DYN_NAME ] = name;
|
|
1025
|
-
_self[_DYN_IS_ASYNC ] = isAsync;
|
|
1026
|
-
_self[_DYN_IS_CHILD_EVT ] = function () { return false; };
|
|
1027
|
-
if (isFunction(payloadDetails)) {
|
|
1028
|
-
var theDetails_1;
|
|
1029
|
-
accessorDefined = objDefineAccessors(_self, "payload", function () {
|
|
1030
|
-
if (!theDetails_1 && isFunction(payloadDetails)) {
|
|
1031
|
-
theDetails_1 = payloadDetails();
|
|
1032
|
-
payloadDetails = null;
|
|
1033
|
-
}
|
|
1034
|
-
return theDetails_1;
|
|
1035
|
-
});
|
|
1036
|
-
}
|
|
1037
|
-
_self[_DYN_GET_CTX ] = function (key) {
|
|
1038
|
-
if (key) {
|
|
1039
|
-
if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {
|
|
1040
|
-
return _self[key];
|
|
1041
|
-
}
|
|
1042
|
-
return (_self[strExecutionContextKey] || {})[key];
|
|
1043
|
-
}
|
|
1044
|
-
return null;
|
|
1045
|
-
};
|
|
1046
|
-
_self[_DYN_SET_CTX ] = function (key, value) {
|
|
1047
|
-
if (key) {
|
|
1048
|
-
if (key === PerfEvent[strParentContextKey]) {
|
|
1049
|
-
if (!_self[key]) {
|
|
1050
|
-
_self[_DYN_IS_CHILD_EVT ] = function () { return true; };
|
|
1051
|
-
}
|
|
1052
|
-
_self[key] = value;
|
|
1053
|
-
}
|
|
1054
|
-
else if (key === PerfEvent[strChildrenContextKey]) {
|
|
1055
|
-
_self[key] = value;
|
|
1056
|
-
}
|
|
1057
|
-
else {
|
|
1058
|
-
var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};
|
|
1059
|
-
ctx[key] = value;
|
|
1060
|
-
}
|
|
1061
|
-
}
|
|
1062
|
-
};
|
|
1063
|
-
_self[_DYN_COMPLETE ] = function () {
|
|
1064
|
-
var childTime = 0;
|
|
1065
|
-
var childEvts = _self[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
|
|
1066
|
-
if (isArray(childEvts)) {
|
|
1067
|
-
for (var lp = 0; lp < childEvts[_DYN_LENGTH ]; lp++) {
|
|
1068
|
-
var childEvt = childEvts[lp];
|
|
1069
|
-
if (childEvt) {
|
|
1070
|
-
childTime += childEvt[_DYN_TIME ];
|
|
1071
|
-
}
|
|
1072
|
-
}
|
|
1073
|
-
}
|
|
1074
|
-
_self[_DYN_TIME ] = dateNow() - _self.start;
|
|
1075
|
-
_self.exTime = _self[_DYN_TIME ] - childTime;
|
|
1076
|
-
_self[_DYN_COMPLETE ] = function () { };
|
|
1077
|
-
if (!accessorDefined && isFunction(payloadDetails)) {
|
|
1078
|
-
_self.payload = payloadDetails();
|
|
1079
|
-
}
|
|
1080
|
-
};
|
|
1081
|
-
}
|
|
1082
|
-
PerfEvent.ParentContextKey = "parent";
|
|
1083
|
-
PerfEvent.ChildrenContextKey = "childEvts";
|
|
1084
|
-
return PerfEvent;
|
|
1085
|
-
}());
|
|
1086
|
-
var doPerfActiveKey = "CoreUtils.doPerf";
|
|
1087
|
-
function doPerf(mgrSource, getSource, func, details, isAsync) {
|
|
1088
|
-
if (mgrSource) {
|
|
1089
|
-
var perfMgr = mgrSource;
|
|
1090
|
-
if (perfMgr[STR_GET_PERF_MGR]) {
|
|
1091
|
-
perfMgr = perfMgr[STR_GET_PERF_MGR]();
|
|
1092
|
-
}
|
|
1093
|
-
if (perfMgr) {
|
|
1094
|
-
var perfEvt = void 0;
|
|
1095
|
-
var currentActive = perfMgr[_DYN_GET_CTX ](doPerfActiveKey);
|
|
1096
|
-
try {
|
|
1097
|
-
perfEvt = perfMgr.create(getSource(), details, isAsync);
|
|
1098
|
-
if (perfEvt) {
|
|
1099
|
-
if (currentActive && perfEvt[_DYN_SET_CTX ]) {
|
|
1100
|
-
perfEvt[_DYN_SET_CTX ](PerfEvent[strParentContextKey], currentActive);
|
|
1101
|
-
if (currentActive[_DYN_GET_CTX ] && currentActive[_DYN_SET_CTX ]) {
|
|
1102
|
-
var children = currentActive[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
|
|
1103
|
-
if (!children) {
|
|
1104
|
-
children = [];
|
|
1105
|
-
currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
|
|
1106
|
-
}
|
|
1107
|
-
children[_DYN_PUSH ](perfEvt);
|
|
1108
|
-
}
|
|
1109
|
-
}
|
|
1110
|
-
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
|
|
1111
|
-
return func(perfEvt);
|
|
1112
|
-
}
|
|
1113
|
-
}
|
|
1114
|
-
catch (ex) {
|
|
1115
|
-
if (perfEvt && perfEvt[_DYN_SET_CTX ]) {
|
|
1116
|
-
perfEvt[_DYN_SET_CTX ]("exception", ex);
|
|
1117
|
-
}
|
|
1118
|
-
}
|
|
1119
|
-
finally {
|
|
1120
|
-
if (perfEvt) {
|
|
1121
|
-
perfMgr.fire(perfEvt);
|
|
1122
|
-
}
|
|
1123
|
-
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, currentActive);
|
|
1124
|
-
}
|
|
1125
|
-
}
|
|
1126
|
-
}
|
|
1127
|
-
return func();
|
|
1128
|
-
}
|
|
1129
|
-
|
|
1130
|
-
var UInt32Mask = 0x100000000;
|
|
1131
|
-
var MaxUInt32 = 0xffffffff;
|
|
1132
|
-
var _mwcSeeded = false;
|
|
1133
|
-
var _mwcW = 123456789;
|
|
1134
|
-
var _mwcZ = 987654321;
|
|
1135
|
-
function _mwcSeed(seedValue) {
|
|
1136
|
-
if (seedValue < 0) {
|
|
1137
|
-
seedValue >>>= 0;
|
|
1138
|
-
}
|
|
1139
|
-
_mwcW = (123456789 + seedValue) & MaxUInt32;
|
|
1140
|
-
_mwcZ = (987654321 - seedValue) & MaxUInt32;
|
|
1141
|
-
_mwcSeeded = true;
|
|
1142
|
-
}
|
|
1143
|
-
function _autoSeedMwc() {
|
|
1144
|
-
try {
|
|
1145
|
-
var now = dateNow() & 0x7fffffff;
|
|
1146
|
-
_mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
|
|
1147
|
-
}
|
|
1148
|
-
catch (e) {
|
|
1149
|
-
}
|
|
1150
|
-
}
|
|
1151
|
-
function random32(signed) {
|
|
1152
|
-
var value = 0;
|
|
1153
|
-
var c = getCrypto() || getMsCrypto();
|
|
1154
|
-
if (c && c.getRandomValues) {
|
|
1155
|
-
value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
|
|
1156
|
-
}
|
|
1157
|
-
if (value === 0 && isIE()) {
|
|
1158
|
-
if (!_mwcSeeded) {
|
|
1159
|
-
_autoSeedMwc();
|
|
1160
|
-
}
|
|
1161
|
-
value = mwcRandom32() & MaxUInt32;
|
|
1162
|
-
}
|
|
1163
|
-
if (value === 0) {
|
|
1164
|
-
value = Math.floor((UInt32Mask * Math.random()) | 0);
|
|
1165
|
-
}
|
|
1166
|
-
if (!signed) {
|
|
1167
|
-
value >>>= 0;
|
|
1168
|
-
}
|
|
1169
|
-
return value;
|
|
1170
|
-
}
|
|
1171
|
-
function mwcRandom32(signed) {
|
|
1172
|
-
_mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
|
|
1173
|
-
_mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
|
|
1174
|
-
var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
|
|
1175
|
-
if (!signed) {
|
|
1176
|
-
value >>>= 0;
|
|
1177
|
-
}
|
|
1178
|
-
return value;
|
|
1179
|
-
}
|
|
1180
|
-
function newId(maxLength) {
|
|
1181
|
-
if (maxLength === void 0) { maxLength = 22; }
|
|
1182
|
-
var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
1183
|
-
var number = random32() >>> 0;
|
|
1184
|
-
var chars = 0;
|
|
1185
|
-
var result = STR_EMPTY;
|
|
1186
|
-
while (result[_DYN_LENGTH ] < maxLength) {
|
|
1187
|
-
chars++;
|
|
1188
|
-
result += base64chars.charAt(number & 0x3F);
|
|
1189
|
-
number >>>= 6;
|
|
1190
|
-
if (chars === 5) {
|
|
1191
|
-
number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
|
|
1192
|
-
chars = 0;
|
|
1193
|
-
}
|
|
1194
|
-
}
|
|
1195
|
-
return result;
|
|
1196
|
-
}
|
|
1197
|
-
|
|
1198
|
-
var _objDefineProperty = ObjDefineProperty;
|
|
1199
|
-
var version = '2.8.14';
|
|
1200
|
-
var instanceName = "." + newId(6);
|
|
1201
|
-
var _dataUid = 0;
|
|
1202
|
-
function _createAccessor(target, prop, value) {
|
|
1203
|
-
if (_objDefineProperty) {
|
|
1204
|
-
try {
|
|
1205
|
-
_objDefineProperty(target, prop, {
|
|
1206
|
-
value: value,
|
|
1207
|
-
enumerable: false,
|
|
1208
|
-
configurable: true
|
|
1209
|
-
});
|
|
1210
|
-
return true;
|
|
1211
|
-
}
|
|
1212
|
-
catch (e) {
|
|
1213
|
-
}
|
|
1214
|
-
}
|
|
1215
|
-
return false;
|
|
1216
|
-
}
|
|
1217
|
-
function _canAcceptData(target) {
|
|
1218
|
-
return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
|
|
1219
|
-
}
|
|
1220
|
-
function _getCache(data, target) {
|
|
1221
|
-
var theCache = target[data.id];
|
|
1222
|
-
if (!theCache) {
|
|
1223
|
-
theCache = {};
|
|
1224
|
-
try {
|
|
1225
|
-
if (_canAcceptData(target)) {
|
|
1226
|
-
if (!_createAccessor(target, data.id, theCache)) {
|
|
1227
|
-
target[data.id] = theCache;
|
|
1228
|
-
}
|
|
1229
|
-
}
|
|
1230
|
-
}
|
|
1231
|
-
catch (e) {
|
|
1232
|
-
}
|
|
1233
|
-
}
|
|
1234
|
-
return theCache;
|
|
1235
|
-
}
|
|
1236
|
-
function createUniqueNamespace(name, includeVersion) {
|
|
1237
|
-
if (includeVersion === void 0) { includeVersion = false; }
|
|
1238
|
-
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
|
|
1239
|
-
}
|
|
1240
|
-
function createElmNodeData(name) {
|
|
1241
|
-
var data = {
|
|
1242
|
-
id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
|
|
1243
|
-
accept: function (target) {
|
|
1244
|
-
return _canAcceptData(target);
|
|
1245
|
-
},
|
|
1246
|
-
get: function (target, name, defValue, addDefault) {
|
|
1247
|
-
var theCache = target[data.id];
|
|
1248
|
-
if (!theCache) {
|
|
1249
|
-
if (addDefault) {
|
|
1250
|
-
theCache = _getCache(data, target);
|
|
1251
|
-
theCache[normalizeJsName(name)] = defValue;
|
|
1252
|
-
}
|
|
1253
|
-
return defValue;
|
|
1254
|
-
}
|
|
1255
|
-
return theCache[normalizeJsName(name)];
|
|
1256
|
-
},
|
|
1257
|
-
kill: function (target, name) {
|
|
1258
|
-
if (target && target[name]) {
|
|
1259
|
-
try {
|
|
1260
|
-
delete target[name];
|
|
2142
|
+
if (logMessage) {
|
|
2143
|
+
if (severity <= _loggingLevelTelemetry) {
|
|
2144
|
+
_self.queue[_DYN_PUSH ](message);
|
|
2145
|
+
_messageCount++;
|
|
2146
|
+
_debugExtMsg((severity === 1 ? "error" : "warn"), message);
|
|
2147
|
+
}
|
|
2148
|
+
if (_messageCount === _maxInternalMessageLimit) {
|
|
2149
|
+
var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
|
|
2150
|
+
var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
|
|
2151
|
+
_self.queue[_DYN_PUSH ](throttleMessage);
|
|
2152
|
+
if (severity === 1 ) {
|
|
2153
|
+
_self.errorToConsole(throttleLimitMessage);
|
|
2154
|
+
}
|
|
2155
|
+
else {
|
|
2156
|
+
_self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
|
|
2157
|
+
}
|
|
2158
|
+
}
|
|
1261
2159
|
}
|
|
1262
|
-
|
|
2160
|
+
}
|
|
2161
|
+
function _setDefaultsFromConfig(config) {
|
|
2162
|
+
return onConfigChange(createDynamicConfig(config, defaultValues$1, _self).cfg, function (details) {
|
|
2163
|
+
var config = details.cfg;
|
|
2164
|
+
_loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
|
|
2165
|
+
_loggingLevelTelemetry = config.loggingLevelTelemetry;
|
|
2166
|
+
_maxInternalMessageLimit = config.maxMessageLimit;
|
|
2167
|
+
_enableDebug = config.enableDebug;
|
|
2168
|
+
});
|
|
2169
|
+
}
|
|
2170
|
+
function _areInternalMessagesThrottled() {
|
|
2171
|
+
return _messageCount >= _maxInternalMessageLimit;
|
|
2172
|
+
}
|
|
2173
|
+
function _debugExtMsg(name, data) {
|
|
2174
|
+
var dbgExt = getDebugExt(config || {});
|
|
2175
|
+
if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
|
|
2176
|
+
dbgExt[_DYN_DIAG_LOG ](name, data);
|
|
1263
2177
|
}
|
|
1264
2178
|
}
|
|
1265
|
-
}
|
|
1266
|
-
}
|
|
1267
|
-
|
|
2179
|
+
});
|
|
2180
|
+
}
|
|
2181
|
+
DiagnosticLogger.__ieDyn=1;
|
|
2182
|
+
return DiagnosticLogger;
|
|
2183
|
+
}());
|
|
2184
|
+
function _getLogger(logger) {
|
|
2185
|
+
return (logger || new DiagnosticLogger());
|
|
2186
|
+
}
|
|
2187
|
+
function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
|
|
2188
|
+
if (isUserAct === void 0) { isUserAct = false; }
|
|
2189
|
+
_getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
|
|
1268
2190
|
}
|
|
1269
2191
|
|
|
2192
|
+
var _a$1, _b;
|
|
1270
2193
|
var strToGMTString = "toGMTString";
|
|
1271
2194
|
var strToUTCString = "toUTCString";
|
|
1272
2195
|
var strCookie = "cookie";
|
|
1273
2196
|
var strExpires = "expires";
|
|
1274
|
-
var strEnabled = "enabled";
|
|
1275
2197
|
var strIsCookieUseDisabled = "isCookieUseDisabled";
|
|
1276
2198
|
var strDisableCookiesUsage = "disableCookiesUsage";
|
|
1277
2199
|
var strConfigCookieMgr = "_ckMgr";
|
|
1278
2200
|
var _supportsCookies = null;
|
|
1279
2201
|
var _allowUaSameSite = null;
|
|
1280
2202
|
var _parsedCookieValue = null;
|
|
1281
|
-
var _doc
|
|
2203
|
+
var _doc;
|
|
1282
2204
|
var _cookieCache = {};
|
|
1283
2205
|
var _globalCookieConfig = {};
|
|
2206
|
+
var rootDefaultConfig = (_a$1 = {
|
|
2207
|
+
cookieCfg: cfgDfMerge((_b = {},
|
|
2208
|
+
_b[STR_DOMAIN] = { fb: "cookieDomain", dfVal: isNotNullOrUndefined },
|
|
2209
|
+
_b.path = { fb: "cookiePath", dfVal: isNotNullOrUndefined },
|
|
2210
|
+
_b.enabled = UNDEFINED_VALUE,
|
|
2211
|
+
_b.ignoreCookies = UNDEFINED_VALUE,
|
|
2212
|
+
_b.blockedCookies = UNDEFINED_VALUE,
|
|
2213
|
+
_b)),
|
|
2214
|
+
cookieDomain: UNDEFINED_VALUE,
|
|
2215
|
+
cookiePath: UNDEFINED_VALUE
|
|
2216
|
+
},
|
|
2217
|
+
_a$1[strDisableCookiesUsage] = UNDEFINED_VALUE,
|
|
2218
|
+
_a$1);
|
|
2219
|
+
function _getDoc() {
|
|
2220
|
+
!_doc && (_doc = getLazy(function () { return getDocument(); }));
|
|
2221
|
+
}
|
|
1284
2222
|
function _gblCookieMgr(config, logger) {
|
|
1285
2223
|
var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
|
|
1286
2224
|
if (!inst) {
|
|
@@ -1295,44 +2233,42 @@
|
|
|
1295
2233
|
}
|
|
1296
2234
|
return true;
|
|
1297
2235
|
}
|
|
1298
|
-
function _createCookieMgrConfig(rootConfig) {
|
|
1299
|
-
var cookieMgrCfg = rootConfig[_DYN_COOKIE_CFG ] = rootConfig[_DYN_COOKIE_CFG ] || {};
|
|
1300
|
-
setValue(cookieMgrCfg, "domain", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);
|
|
1301
|
-
setValue(cookieMgrCfg, "path", rootConfig.cookiePath || "/", null, isNullOrUndefined);
|
|
1302
|
-
if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {
|
|
1303
|
-
var cookieEnabled = void 0;
|
|
1304
|
-
if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
|
|
1305
|
-
cookieEnabled = !rootConfig[strIsCookieUseDisabled];
|
|
1306
|
-
}
|
|
1307
|
-
if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
|
|
1308
|
-
cookieEnabled = !rootConfig[strDisableCookiesUsage];
|
|
1309
|
-
}
|
|
1310
|
-
cookieMgrCfg[strEnabled] = cookieEnabled;
|
|
1311
|
-
}
|
|
1312
|
-
return cookieMgrCfg;
|
|
1313
|
-
}
|
|
1314
2236
|
function _isIgnoredCookie(cookieMgrCfg, name) {
|
|
1315
2237
|
if (name && cookieMgrCfg && isArray(cookieMgrCfg.ignoreCookies)) {
|
|
1316
|
-
return cookieMgrCfg.ignoreCookies
|
|
2238
|
+
return arrIndexOf(cookieMgrCfg.ignoreCookies, name) !== -1;
|
|
1317
2239
|
}
|
|
1318
2240
|
return false;
|
|
1319
2241
|
}
|
|
1320
2242
|
function _isBlockedCookie(cookieMgrCfg, name) {
|
|
1321
2243
|
if (name && cookieMgrCfg && isArray(cookieMgrCfg.blockedCookies)) {
|
|
1322
|
-
if (cookieMgrCfg.blockedCookies
|
|
2244
|
+
if (arrIndexOf(cookieMgrCfg.blockedCookies, name) !== -1) {
|
|
1323
2245
|
return true;
|
|
1324
2246
|
}
|
|
1325
2247
|
}
|
|
1326
2248
|
return _isIgnoredCookie(cookieMgrCfg, name);
|
|
1327
2249
|
}
|
|
2250
|
+
function _isCfgEnabled(rootConfig, cookieMgrConfig) {
|
|
2251
|
+
var isCfgEnabled = cookieMgrConfig[_DYN_ENABLED ];
|
|
2252
|
+
if (isNullOrUndefined(isCfgEnabled)) {
|
|
2253
|
+
var cookieEnabled = void 0;
|
|
2254
|
+
if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
|
|
2255
|
+
cookieEnabled = !rootConfig[strIsCookieUseDisabled];
|
|
2256
|
+
}
|
|
2257
|
+
if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
|
|
2258
|
+
cookieEnabled = !rootConfig[strDisableCookiesUsage];
|
|
2259
|
+
}
|
|
2260
|
+
isCfgEnabled = cookieEnabled;
|
|
2261
|
+
}
|
|
2262
|
+
return isCfgEnabled;
|
|
2263
|
+
}
|
|
1328
2264
|
function safeGetCookieMgr(core, config) {
|
|
1329
2265
|
var cookieMgr;
|
|
1330
2266
|
if (core) {
|
|
1331
2267
|
cookieMgr = core.getCookieMgr();
|
|
1332
2268
|
}
|
|
1333
2269
|
else if (config) {
|
|
1334
|
-
var cookieCfg = config
|
|
1335
|
-
if (cookieCfg[strConfigCookieMgr]) {
|
|
2270
|
+
var cookieCfg = config.cookieCfg;
|
|
2271
|
+
if (cookieCfg && cookieCfg[strConfigCookieMgr]) {
|
|
1336
2272
|
cookieMgr = cookieCfg[strConfigCookieMgr];
|
|
1337
2273
|
}
|
|
1338
2274
|
else {
|
|
@@ -1346,96 +2282,114 @@
|
|
|
1346
2282
|
}
|
|
1347
2283
|
function createCookieMgr(rootConfig, logger) {
|
|
1348
2284
|
var _a;
|
|
1349
|
-
var cookieMgrConfig
|
|
1350
|
-
var _path
|
|
1351
|
-
var _domain
|
|
1352
|
-
var
|
|
2285
|
+
var cookieMgrConfig;
|
|
2286
|
+
var _path;
|
|
2287
|
+
var _domain;
|
|
2288
|
+
var unloadHandler;
|
|
2289
|
+
var _enabled;
|
|
2290
|
+
var _getCookieFn;
|
|
2291
|
+
var _setCookieFn;
|
|
2292
|
+
var _delCookieFn;
|
|
2293
|
+
rootConfig = createDynamicConfig(rootConfig || _globalCookieConfig, null, logger).cfg;
|
|
2294
|
+
unloadHandler = onConfigChange(rootConfig, function (details) {
|
|
2295
|
+
details[_DYN_SET_DF ](details.cfg, rootDefaultConfig);
|
|
2296
|
+
cookieMgrConfig = details.ref(details.cfg, "cookieCfg");
|
|
2297
|
+
_path = cookieMgrConfig[STR_PATH ] || "/";
|
|
2298
|
+
_domain = cookieMgrConfig[STR_DOMAIN ];
|
|
2299
|
+
_enabled = _isCfgEnabled(rootConfig, cookieMgrConfig) !== false;
|
|
2300
|
+
_getCookieFn = cookieMgrConfig.getCookie || _getCookieValue;
|
|
2301
|
+
_setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
|
|
2302
|
+
_delCookieFn = cookieMgrConfig.delCookie || _setCookieValue;
|
|
2303
|
+
}, logger);
|
|
1353
2304
|
var cookieMgr = (_a = {
|
|
1354
2305
|
isEnabled: function () {
|
|
1355
|
-
var enabled = _enabled && areCookiesSupported(logger);
|
|
2306
|
+
var enabled = _isCfgEnabled(rootConfig, cookieMgrConfig) !== false && _enabled && areCookiesSupported(logger);
|
|
1356
2307
|
var gblManager = _globalCookieConfig[strConfigCookieMgr];
|
|
1357
2308
|
if (enabled && gblManager && cookieMgr !== gblManager) {
|
|
1358
2309
|
enabled = _isMgrEnabled(gblManager);
|
|
1359
2310
|
}
|
|
1360
2311
|
return enabled;
|
|
1361
|
-
}
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
2312
|
+
},
|
|
2313
|
+
setEnabled: function (value) {
|
|
2314
|
+
_enabled = value !== false;
|
|
2315
|
+
cookieMgrConfig[_DYN_ENABLED ] = value;
|
|
2316
|
+
},
|
|
2317
|
+
set: function (name, value, maxAgeSec, domain, path) {
|
|
2318
|
+
var result = false;
|
|
2319
|
+
if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {
|
|
2320
|
+
var values = {};
|
|
2321
|
+
var theValue = strTrim(value || STR_EMPTY);
|
|
2322
|
+
var idx = strIndexOf(theValue, ";");
|
|
2323
|
+
if (idx !== -1) {
|
|
2324
|
+
theValue = strTrim(strLeft(value, idx));
|
|
2325
|
+
values = _extractParts(strSubstring(value, idx + 1));
|
|
2326
|
+
}
|
|
2327
|
+
setValue(values, STR_DOMAIN, domain || _domain, isTruthy, isUndefined);
|
|
2328
|
+
if (!isNullOrUndefined(maxAgeSec)) {
|
|
2329
|
+
var _isIE = isIE();
|
|
2330
|
+
if (isUndefined(values[strExpires])) {
|
|
2331
|
+
var nowMs = utcNow();
|
|
2332
|
+
var expireMs = nowMs + (maxAgeSec * 1000);
|
|
2333
|
+
if (expireMs > 0) {
|
|
2334
|
+
var expiry = new Date();
|
|
2335
|
+
expiry.setTime(expireMs);
|
|
2336
|
+
setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);
|
|
2337
|
+
}
|
|
2338
|
+
}
|
|
2339
|
+
if (!_isIE) {
|
|
2340
|
+
setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
|
|
1386
2341
|
}
|
|
1387
2342
|
}
|
|
1388
|
-
|
|
1389
|
-
|
|
2343
|
+
var location_1 = getLocation();
|
|
2344
|
+
if (location_1 && location_1.protocol === "https:") {
|
|
2345
|
+
setValue(values, "secure", null, null, isUndefined);
|
|
2346
|
+
if (_allowUaSameSite === null) {
|
|
2347
|
+
_allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
|
|
2348
|
+
}
|
|
2349
|
+
if (_allowUaSameSite) {
|
|
2350
|
+
setValue(values, "SameSite", "None", null, isUndefined);
|
|
2351
|
+
}
|
|
1390
2352
|
}
|
|
2353
|
+
setValue(values, STR_PATH, path || _path, null, isUndefined);
|
|
2354
|
+
_setCookieFn(name, _formatCookieValue(theValue, values));
|
|
2355
|
+
result = true;
|
|
1391
2356
|
}
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
2357
|
+
return result;
|
|
2358
|
+
},
|
|
2359
|
+
get: function (name) {
|
|
2360
|
+
var value = STR_EMPTY;
|
|
2361
|
+
if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
|
|
2362
|
+
value = _getCookieFn(name);
|
|
2363
|
+
}
|
|
2364
|
+
return value;
|
|
2365
|
+
},
|
|
2366
|
+
del: function (name, path) {
|
|
2367
|
+
var result = false;
|
|
2368
|
+
if (_isMgrEnabled(cookieMgr)) {
|
|
2369
|
+
result = cookieMgr.purge(name, path);
|
|
2370
|
+
}
|
|
2371
|
+
return result;
|
|
2372
|
+
},
|
|
2373
|
+
purge: function (name, path) {
|
|
2374
|
+
var _a;
|
|
2375
|
+
var result = false;
|
|
2376
|
+
if (areCookiesSupported(logger)) {
|
|
2377
|
+
var values = (_a = {},
|
|
2378
|
+
_a[STR_PATH] = path ? path : "/",
|
|
2379
|
+
_a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
|
|
2380
|
+
_a);
|
|
2381
|
+
if (!isIE()) {
|
|
2382
|
+
values["max-age"] = "0";
|
|
1400
2383
|
}
|
|
2384
|
+
_delCookieFn(name, _formatCookieValue(STR_EMPTY, values));
|
|
2385
|
+
result = true;
|
|
1401
2386
|
}
|
|
1402
|
-
|
|
1403
|
-
var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
|
|
1404
|
-
setCookieFn(name, _formatCookieValue(theValue, values));
|
|
1405
|
-
result = true;
|
|
1406
|
-
}
|
|
1407
|
-
return result;
|
|
1408
|
-
},
|
|
1409
|
-
_a.get = function (name) {
|
|
1410
|
-
var value = STR_EMPTY;
|
|
1411
|
-
if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
|
|
1412
|
-
value = (cookieMgrConfig.getCookie || _getCookieValue)(name);
|
|
1413
|
-
}
|
|
1414
|
-
return value;
|
|
1415
|
-
},
|
|
1416
|
-
_a.del = function (name, path) {
|
|
1417
|
-
var result = false;
|
|
1418
|
-
if (_isMgrEnabled(cookieMgr)) {
|
|
1419
|
-
result = cookieMgr.purge(name, path);
|
|
2387
|
+
return result;
|
|
1420
2388
|
}
|
|
1421
|
-
return result;
|
|
1422
2389
|
},
|
|
1423
|
-
_a
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
if (areCookiesSupported(logger)) {
|
|
1427
|
-
var values = (_a = {},
|
|
1428
|
-
_a["path"] = path ? path : "/",
|
|
1429
|
-
_a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
|
|
1430
|
-
_a);
|
|
1431
|
-
if (!isIE()) {
|
|
1432
|
-
values["max-age"] = "0";
|
|
1433
|
-
}
|
|
1434
|
-
var delCookie = cookieMgrConfig.delCookie || _setCookieValue;
|
|
1435
|
-
delCookie(name, _formatCookieValue(STR_EMPTY, values));
|
|
1436
|
-
result = true;
|
|
1437
|
-
}
|
|
1438
|
-
return result;
|
|
2390
|
+
_a[_DYN_UNLOAD ] = function (isAsync) {
|
|
2391
|
+
unloadHandler && unloadHandler.rm();
|
|
2392
|
+
unloadHandler = null;
|
|
1439
2393
|
},
|
|
1440
2394
|
_a);
|
|
1441
2395
|
cookieMgr[strConfigCookieMgr] = cookieMgr;
|
|
@@ -1444,8 +2398,9 @@
|
|
|
1444
2398
|
function areCookiesSupported(logger) {
|
|
1445
2399
|
if (_supportsCookies === null) {
|
|
1446
2400
|
_supportsCookies = false;
|
|
2401
|
+
!_doc && _getDoc();
|
|
1447
2402
|
try {
|
|
1448
|
-
var doc = _doc || {};
|
|
2403
|
+
var doc = _doc.v || {};
|
|
1449
2404
|
_supportsCookies = doc[strCookie] !== undefined;
|
|
1450
2405
|
}
|
|
1451
2406
|
catch (e) {
|
|
@@ -1461,12 +2416,12 @@
|
|
|
1461
2416
|
arrForEach(parts, function (thePart) {
|
|
1462
2417
|
thePart = strTrim(thePart || STR_EMPTY);
|
|
1463
2418
|
if (thePart) {
|
|
1464
|
-
var idx = thePart
|
|
2419
|
+
var idx = strIndexOf(thePart, "=");
|
|
1465
2420
|
if (idx === -1) {
|
|
1466
2421
|
values[thePart] = null;
|
|
1467
2422
|
}
|
|
1468
2423
|
else {
|
|
1469
|
-
values[strTrim(thePart
|
|
2424
|
+
values[strTrim(strLeft(thePart, idx))] = strTrim(strSubstring(thePart, idx + 1));
|
|
1470
2425
|
}
|
|
1471
2426
|
}
|
|
1472
2427
|
});
|
|
@@ -1488,8 +2443,9 @@
|
|
|
1488
2443
|
}
|
|
1489
2444
|
function _getCookieValue(name) {
|
|
1490
2445
|
var cookieValue = STR_EMPTY;
|
|
1491
|
-
|
|
1492
|
-
|
|
2446
|
+
!_doc && _getDoc();
|
|
2447
|
+
if (_doc.v) {
|
|
2448
|
+
var theCookie = _doc.v[strCookie] || STR_EMPTY;
|
|
1493
2449
|
if (_parsedCookieValue !== theCookie) {
|
|
1494
2450
|
_cookieCache = _extractParts(theCookie);
|
|
1495
2451
|
_parsedCookieValue = theCookie;
|
|
@@ -1499,8 +2455,9 @@
|
|
|
1499
2455
|
return cookieValue;
|
|
1500
2456
|
}
|
|
1501
2457
|
function _setCookieValue(name, cookieValue) {
|
|
1502
|
-
|
|
1503
|
-
|
|
2458
|
+
!_doc && _getDoc();
|
|
2459
|
+
if (_doc.v) {
|
|
2460
|
+
_doc.v[strCookie] = name + "=" + cookieValue;
|
|
1504
2461
|
}
|
|
1505
2462
|
}
|
|
1506
2463
|
function uaDisallowsSameSiteNone(userAgent) {
|
|
@@ -1528,6 +2485,118 @@
|
|
|
1528
2485
|
return false;
|
|
1529
2486
|
}
|
|
1530
2487
|
|
|
2488
|
+
var strExecutionContextKey = "ctx";
|
|
2489
|
+
var strParentContextKey = "ParentContextKey";
|
|
2490
|
+
var strChildrenContextKey = "ChildrenContextKey";
|
|
2491
|
+
var PerfEvent = /** @class */ (function () {
|
|
2492
|
+
function PerfEvent(name, payloadDetails, isAsync) {
|
|
2493
|
+
var _self = this;
|
|
2494
|
+
_self.start = utcNow();
|
|
2495
|
+
_self[_DYN_NAME ] = name;
|
|
2496
|
+
_self[_DYN_IS_ASYNC ] = isAsync;
|
|
2497
|
+
_self[_DYN_IS_CHILD_EVT ] = function () { return false; };
|
|
2498
|
+
if (isFunction(payloadDetails)) {
|
|
2499
|
+
var theDetails_1;
|
|
2500
|
+
objDefine(_self, "payload", {
|
|
2501
|
+
g: function () {
|
|
2502
|
+
if (!theDetails_1 && isFunction(payloadDetails)) {
|
|
2503
|
+
theDetails_1 = payloadDetails();
|
|
2504
|
+
payloadDetails = null;
|
|
2505
|
+
}
|
|
2506
|
+
return theDetails_1;
|
|
2507
|
+
}
|
|
2508
|
+
});
|
|
2509
|
+
}
|
|
2510
|
+
_self[_DYN_GET_CTX ] = function (key) {
|
|
2511
|
+
if (key) {
|
|
2512
|
+
if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {
|
|
2513
|
+
return _self[key];
|
|
2514
|
+
}
|
|
2515
|
+
return (_self[strExecutionContextKey] || {})[key];
|
|
2516
|
+
}
|
|
2517
|
+
return null;
|
|
2518
|
+
};
|
|
2519
|
+
_self[_DYN_SET_CTX ] = function (key, value) {
|
|
2520
|
+
if (key) {
|
|
2521
|
+
if (key === PerfEvent[strParentContextKey]) {
|
|
2522
|
+
if (!_self[key]) {
|
|
2523
|
+
_self[_DYN_IS_CHILD_EVT ] = function () { return true; };
|
|
2524
|
+
}
|
|
2525
|
+
_self[key] = value;
|
|
2526
|
+
}
|
|
2527
|
+
else if (key === PerfEvent[strChildrenContextKey]) {
|
|
2528
|
+
_self[key] = value;
|
|
2529
|
+
}
|
|
2530
|
+
else {
|
|
2531
|
+
var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};
|
|
2532
|
+
ctx[key] = value;
|
|
2533
|
+
}
|
|
2534
|
+
}
|
|
2535
|
+
};
|
|
2536
|
+
_self[_DYN_COMPLETE ] = function () {
|
|
2537
|
+
var childTime = 0;
|
|
2538
|
+
var childEvts = _self[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
|
|
2539
|
+
if (isArray(childEvts)) {
|
|
2540
|
+
for (var lp = 0; lp < childEvts[_DYN_LENGTH ]; lp++) {
|
|
2541
|
+
var childEvt = childEvts[lp];
|
|
2542
|
+
if (childEvt) {
|
|
2543
|
+
childTime += childEvt[_DYN_TIME ];
|
|
2544
|
+
}
|
|
2545
|
+
}
|
|
2546
|
+
}
|
|
2547
|
+
_self[_DYN_TIME ] = utcNow() - _self.start;
|
|
2548
|
+
_self.exTime = _self[_DYN_TIME ] - childTime;
|
|
2549
|
+
_self[_DYN_COMPLETE ] = function () { };
|
|
2550
|
+
};
|
|
2551
|
+
}
|
|
2552
|
+
PerfEvent.ParentContextKey = "parent";
|
|
2553
|
+
PerfEvent.ChildrenContextKey = "childEvts";
|
|
2554
|
+
return PerfEvent;
|
|
2555
|
+
}());
|
|
2556
|
+
var doPerfActiveKey = "CoreUtils.doPerf";
|
|
2557
|
+
function doPerf(mgrSource, getSource, func, details, isAsync) {
|
|
2558
|
+
if (mgrSource) {
|
|
2559
|
+
var perfMgr = mgrSource;
|
|
2560
|
+
if (perfMgr[STR_GET_PERF_MGR]) {
|
|
2561
|
+
perfMgr = perfMgr[STR_GET_PERF_MGR]();
|
|
2562
|
+
}
|
|
2563
|
+
if (perfMgr) {
|
|
2564
|
+
var perfEvt = void 0;
|
|
2565
|
+
var currentActive = perfMgr[_DYN_GET_CTX ](doPerfActiveKey);
|
|
2566
|
+
try {
|
|
2567
|
+
perfEvt = perfMgr.create(getSource(), details, isAsync);
|
|
2568
|
+
if (perfEvt) {
|
|
2569
|
+
if (currentActive && perfEvt[_DYN_SET_CTX ]) {
|
|
2570
|
+
perfEvt[_DYN_SET_CTX ](PerfEvent[strParentContextKey], currentActive);
|
|
2571
|
+
if (currentActive[_DYN_GET_CTX ] && currentActive[_DYN_SET_CTX ]) {
|
|
2572
|
+
var children = currentActive[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
|
|
2573
|
+
if (!children) {
|
|
2574
|
+
children = [];
|
|
2575
|
+
currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
|
|
2576
|
+
}
|
|
2577
|
+
children[_DYN_PUSH ](perfEvt);
|
|
2578
|
+
}
|
|
2579
|
+
}
|
|
2580
|
+
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
|
|
2581
|
+
return func(perfEvt);
|
|
2582
|
+
}
|
|
2583
|
+
}
|
|
2584
|
+
catch (ex) {
|
|
2585
|
+
if (perfEvt && perfEvt[_DYN_SET_CTX ]) {
|
|
2586
|
+
perfEvt[_DYN_SET_CTX ]("exception", ex);
|
|
2587
|
+
}
|
|
2588
|
+
}
|
|
2589
|
+
finally {
|
|
2590
|
+
if (perfEvt) {
|
|
2591
|
+
perfMgr.fire(perfEvt);
|
|
2592
|
+
}
|
|
2593
|
+
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, currentActive);
|
|
2594
|
+
}
|
|
2595
|
+
}
|
|
2596
|
+
}
|
|
2597
|
+
return func();
|
|
2598
|
+
}
|
|
2599
|
+
|
|
1531
2600
|
var pluginStateData = createElmNodeData("plugin");
|
|
1532
2601
|
function _getPluginState(plugin) {
|
|
1533
2602
|
return pluginStateData.get(plugin, "state", {}, true);
|
|
@@ -1544,11 +2613,14 @@
|
|
|
1544
2613
|
}
|
|
1545
2614
|
proxy = proxy[_DYN_GET_NEXT ]();
|
|
1546
2615
|
}
|
|
1547
|
-
return createTelemetryProxyChain([startAt], core
|
|
2616
|
+
return createTelemetryProxyChain([startAt], core.config || {}, core);
|
|
1548
2617
|
}
|
|
1549
|
-
function _createInternalContext(telemetryChain,
|
|
2618
|
+
function _createInternalContext(telemetryChain, dynamicHandler, core, startAt) {
|
|
1550
2619
|
var _nextProxy = null;
|
|
1551
2620
|
var _onComplete = [];
|
|
2621
|
+
if (!dynamicHandler) {
|
|
2622
|
+
dynamicHandler = createDynamicConfig({}, null, core[_DYN_LOGGER ]);
|
|
2623
|
+
}
|
|
1552
2624
|
if (startAt !== null) {
|
|
1553
2625
|
_nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;
|
|
1554
2626
|
}
|
|
@@ -1559,12 +2631,12 @@
|
|
|
1559
2631
|
return core;
|
|
1560
2632
|
},
|
|
1561
2633
|
diagLog: function () {
|
|
1562
|
-
return safeGetLogger(core,
|
|
2634
|
+
return safeGetLogger(core, dynamicHandler.cfg);
|
|
1563
2635
|
},
|
|
1564
2636
|
getCfg: function () {
|
|
1565
|
-
return
|
|
2637
|
+
return dynamicHandler.cfg;
|
|
1566
2638
|
},
|
|
1567
|
-
getExtCfg:
|
|
2639
|
+
getExtCfg: _resolveExtCfg,
|
|
1568
2640
|
getConfig: _getConfig,
|
|
1569
2641
|
hasNext: function () {
|
|
1570
2642
|
return !!_nextProxy;
|
|
@@ -1600,7 +2672,7 @@
|
|
|
1600
2672
|
if (onComplete && onComplete[_DYN_LENGTH ] > 0) {
|
|
1601
2673
|
arrForEach(onComplete, function (completeDetails) {
|
|
1602
2674
|
try {
|
|
1603
|
-
completeDetails.func
|
|
2675
|
+
completeDetails.func.call(completeDetails.self, completeDetails.args);
|
|
1604
2676
|
}
|
|
1605
2677
|
catch (e) {
|
|
1606
2678
|
_throwInternal(core[_DYN_LOGGER ], 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
|
|
@@ -1611,48 +2683,54 @@
|
|
|
1611
2683
|
}
|
|
1612
2684
|
return nextProxy;
|
|
1613
2685
|
}
|
|
1614
|
-
function _getExtCfg(identifier,
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
if (mergeDefault !== 0 ) {
|
|
1629
|
-
var newConfig_1 = objExtend(true, defaultValue, theConfig);
|
|
1630
|
-
if (config && mergeDefault === 2 ) {
|
|
1631
|
-
objForEachKey(defaultValue, function (field) {
|
|
1632
|
-
if (isNullOrUndefined(newConfig_1[field])) {
|
|
1633
|
-
var cfgValue = config[field];
|
|
1634
|
-
if (!isNullOrUndefined(cfgValue)) {
|
|
1635
|
-
newConfig_1[field] = cfgValue;
|
|
1636
|
-
}
|
|
1637
|
-
}
|
|
1638
|
-
});
|
|
2686
|
+
function _getExtCfg(identifier, createIfMissing) {
|
|
2687
|
+
var idCfg = null;
|
|
2688
|
+
var cfg = dynamicHandler.cfg;
|
|
2689
|
+
if (cfg && identifier) {
|
|
2690
|
+
var extCfg = cfg[STR_EXTENSION_CONFIG ];
|
|
2691
|
+
if (!extCfg && createIfMissing) {
|
|
2692
|
+
extCfg = {};
|
|
2693
|
+
}
|
|
2694
|
+
cfg[STR_EXTENSION_CONFIG] = extCfg;
|
|
2695
|
+
extCfg = dynamicHandler.ref(cfg, STR_EXTENSION_CONFIG);
|
|
2696
|
+
if (extCfg) {
|
|
2697
|
+
idCfg = extCfg[identifier];
|
|
2698
|
+
if (!idCfg && createIfMissing) {
|
|
2699
|
+
idCfg = {};
|
|
1639
2700
|
}
|
|
1640
|
-
|
|
2701
|
+
extCfg[identifier] = idCfg;
|
|
2702
|
+
idCfg = dynamicHandler.ref(extCfg, identifier);
|
|
1641
2703
|
}
|
|
1642
2704
|
}
|
|
1643
|
-
return
|
|
2705
|
+
return idCfg;
|
|
2706
|
+
}
|
|
2707
|
+
function _resolveExtCfg(identifier, defaultValues) {
|
|
2708
|
+
var newConfig = _getExtCfg(identifier, true);
|
|
2709
|
+
if (defaultValues) {
|
|
2710
|
+
objForEachKey(defaultValues, function (field, defaultValue) {
|
|
2711
|
+
if (isNullOrUndefined(newConfig[field])) {
|
|
2712
|
+
var cfgValue = dynamicHandler.cfg[field];
|
|
2713
|
+
if (cfgValue || !isNullOrUndefined(cfgValue)) {
|
|
2714
|
+
newConfig[field] = cfgValue;
|
|
2715
|
+
}
|
|
2716
|
+
}
|
|
2717
|
+
_applyDefaultValue(dynamicHandler, newConfig, field, defaultValue);
|
|
2718
|
+
});
|
|
2719
|
+
}
|
|
2720
|
+
return dynamicHandler[_DYN_SET_DF ](newConfig, defaultValues);
|
|
1644
2721
|
}
|
|
1645
2722
|
function _getConfig(identifier, field, defaultValue) {
|
|
1646
2723
|
if (defaultValue === void 0) { defaultValue = false; }
|
|
1647
2724
|
var theValue;
|
|
1648
|
-
var extConfig = _getExtCfg(identifier,
|
|
1649
|
-
|
|
2725
|
+
var extConfig = _getExtCfg(identifier, false);
|
|
2726
|
+
var rootConfig = dynamicHandler.cfg;
|
|
2727
|
+
if (extConfig && (extConfig[field] || !isNullOrUndefined(extConfig[field]))) {
|
|
1650
2728
|
theValue = extConfig[field];
|
|
1651
2729
|
}
|
|
1652
|
-
else if (
|
|
1653
|
-
theValue =
|
|
2730
|
+
else if (rootConfig[field] || !isNullOrUndefined(rootConfig[field])) {
|
|
2731
|
+
theValue = rootConfig[field];
|
|
1654
2732
|
}
|
|
1655
|
-
return !isNullOrUndefined(theValue) ? theValue : defaultValue;
|
|
2733
|
+
return (theValue || !isNullOrUndefined(theValue)) ? theValue : defaultValue;
|
|
1656
2734
|
}
|
|
1657
2735
|
function _iterateChain(cb) {
|
|
1658
2736
|
var nextPlugin;
|
|
@@ -1665,38 +2743,41 @@
|
|
|
1665
2743
|
}
|
|
1666
2744
|
return context;
|
|
1667
2745
|
}
|
|
1668
|
-
function createProcessTelemetryContext(telemetryChain,
|
|
2746
|
+
function createProcessTelemetryContext(telemetryChain, cfg, core, startAt) {
|
|
2747
|
+
var config = createDynamicConfig(cfg);
|
|
1669
2748
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1670
2749
|
var context = internalContext.ctx;
|
|
1671
2750
|
function _processNext(env) {
|
|
1672
2751
|
var nextPlugin = internalContext._next();
|
|
1673
|
-
|
|
2752
|
+
if (nextPlugin) {
|
|
2753
|
+
nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
|
|
2754
|
+
}
|
|
1674
2755
|
return !nextPlugin;
|
|
1675
2756
|
}
|
|
1676
2757
|
function _createNew(plugins, startAt) {
|
|
1677
2758
|
if (plugins === void 0) { plugins = null; }
|
|
1678
2759
|
if (isArray(plugins)) {
|
|
1679
|
-
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
2760
|
+
plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
|
|
1680
2761
|
}
|
|
1681
|
-
return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config, core, startAt);
|
|
2762
|
+
return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config.cfg, core, startAt);
|
|
1682
2763
|
}
|
|
1683
2764
|
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1684
2765
|
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1685
2766
|
return context;
|
|
1686
2767
|
}
|
|
1687
2768
|
function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
|
|
1688
|
-
var config = core
|
|
2769
|
+
var config = createDynamicConfig(core.config);
|
|
1689
2770
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1690
2771
|
var context = internalContext.ctx;
|
|
1691
2772
|
function _processNext(unloadState) {
|
|
1692
2773
|
var nextPlugin = internalContext._next();
|
|
1693
|
-
nextPlugin && nextPlugin
|
|
2774
|
+
nextPlugin && nextPlugin[_DYN_UNLOAD ](context, unloadState);
|
|
1694
2775
|
return !nextPlugin;
|
|
1695
2776
|
}
|
|
1696
2777
|
function _createNew(plugins, startAt) {
|
|
1697
2778
|
if (plugins === void 0) { plugins = null; }
|
|
1698
2779
|
if (isArray(plugins)) {
|
|
1699
|
-
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
2780
|
+
plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
|
|
1700
2781
|
}
|
|
1701
2782
|
return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
|
|
1702
2783
|
}
|
|
@@ -1705,7 +2786,7 @@
|
|
|
1705
2786
|
return context;
|
|
1706
2787
|
}
|
|
1707
2788
|
function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
|
|
1708
|
-
var config = core
|
|
2789
|
+
var config = createDynamicConfig(core.config);
|
|
1709
2790
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1710
2791
|
var context = internalContext.ctx;
|
|
1711
2792
|
function _processNext(updateState) {
|
|
@@ -1718,7 +2799,7 @@
|
|
|
1718
2799
|
function _createNew(plugins, startAt) {
|
|
1719
2800
|
if (plugins === void 0) { plugins = null; }
|
|
1720
2801
|
if (isArray(plugins)) {
|
|
1721
|
-
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
2802
|
+
plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
|
|
1722
2803
|
}
|
|
1723
2804
|
return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
|
|
1724
2805
|
}
|
|
@@ -1905,7 +2986,36 @@
|
|
|
1905
2986
|
};
|
|
1906
2987
|
}
|
|
1907
2988
|
|
|
2989
|
+
function createUnloadHookContainer() {
|
|
2990
|
+
var _hooks = [];
|
|
2991
|
+
function _doUnload(logger) {
|
|
2992
|
+
var oldHooks = _hooks;
|
|
2993
|
+
_hooks = [];
|
|
2994
|
+
arrForEach(oldHooks, function (fn) {
|
|
2995
|
+
try {
|
|
2996
|
+
(fn.rm || fn.remove).call(fn);
|
|
2997
|
+
}
|
|
2998
|
+
catch (e) {
|
|
2999
|
+
_throwInternal(logger, 2 , 73 , "Unloading:" + dumpObj(e));
|
|
3000
|
+
}
|
|
3001
|
+
});
|
|
3002
|
+
}
|
|
3003
|
+
function _addHook(hooks) {
|
|
3004
|
+
if (hooks) {
|
|
3005
|
+
arrAppend(_hooks, hooks);
|
|
3006
|
+
}
|
|
3007
|
+
}
|
|
3008
|
+
return {
|
|
3009
|
+
run: _doUnload,
|
|
3010
|
+
add: _addHook
|
|
3011
|
+
};
|
|
3012
|
+
}
|
|
3013
|
+
|
|
3014
|
+
var _a;
|
|
1908
3015
|
var strGetPlugin = "getPlugin";
|
|
3016
|
+
var defaultValues = (_a = {},
|
|
3017
|
+
_a[STR_EXTENSION_CONFIG] = { isVal: isNotNullOrUndefined, v: {} },
|
|
3018
|
+
_a);
|
|
1909
3019
|
var BaseTelemetryPlugin = /** @class */ (function () {
|
|
1910
3020
|
function BaseTelemetryPlugin() {
|
|
1911
3021
|
var _self = this;
|
|
@@ -1913,7 +3023,7 @@
|
|
|
1913
3023
|
var _rootCtx;
|
|
1914
3024
|
var _nextPlugin;
|
|
1915
3025
|
var _unloadHandlerContainer;
|
|
1916
|
-
var
|
|
3026
|
+
var _hookContainer;
|
|
1917
3027
|
_initDefaults();
|
|
1918
3028
|
dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
|
|
1919
3029
|
_self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
|
|
@@ -1938,11 +3048,7 @@
|
|
|
1938
3048
|
if (!unloadDone) {
|
|
1939
3049
|
unloadDone = true;
|
|
1940
3050
|
_unloadHandlerContainer.run(theUnloadCtx, unloadState);
|
|
1941
|
-
|
|
1942
|
-
_hooks = [];
|
|
1943
|
-
arrForEach(oldHooks, function (fn) {
|
|
1944
|
-
fn.rm();
|
|
1945
|
-
});
|
|
3051
|
+
_hookContainer.run(theUnloadCtx[_DYN_DIAG_LOG ]());
|
|
1946
3052
|
if (result === true) {
|
|
1947
3053
|
theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
|
|
1948
3054
|
}
|
|
@@ -1982,17 +3088,9 @@
|
|
|
1982
3088
|
}
|
|
1983
3089
|
return result;
|
|
1984
3090
|
};
|
|
1985
|
-
_self._addHook = function (hooks) {
|
|
1986
|
-
if (hooks) {
|
|
1987
|
-
if (isArray(hooks)) {
|
|
1988
|
-
_hooks = _hooks.concat(hooks);
|
|
1989
|
-
}
|
|
1990
|
-
else {
|
|
1991
|
-
_hooks[_DYN_PUSH ](hooks);
|
|
1992
|
-
}
|
|
1993
|
-
}
|
|
1994
|
-
};
|
|
1995
3091
|
proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
|
|
3092
|
+
proxyFunctionAs(_self, "_addHook", function () { return _hookContainer; }, "add");
|
|
3093
|
+
objDefine(_self, "_unloadHooks", { g: function () { return _hookContainer; } });
|
|
1996
3094
|
});
|
|
1997
3095
|
_self[_DYN_DIAG_LOG ] = function (itemCtx) {
|
|
1998
3096
|
return _getTelCtx(itemCtx)[_DYN_DIAG_LOG ]();
|
|
@@ -2030,9 +3128,7 @@
|
|
|
2030
3128
|
return itemCtx;
|
|
2031
3129
|
}
|
|
2032
3130
|
function _setDefaults(config, core, pluginChain) {
|
|
2033
|
-
|
|
2034
|
-
setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);
|
|
2035
|
-
}
|
|
3131
|
+
createDynamicConfig(config, defaultValues, safeGetLogger(core));
|
|
2036
3132
|
if (!pluginChain && core) {
|
|
2037
3133
|
pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
|
|
2038
3134
|
}
|
|
@@ -2048,7 +3144,7 @@
|
|
|
2048
3144
|
_self[STR_CORE ] = null;
|
|
2049
3145
|
_rootCtx = null;
|
|
2050
3146
|
_nextPlugin = null;
|
|
2051
|
-
|
|
3147
|
+
_hookContainer = createUnloadHookContainer();
|
|
2052
3148
|
_unloadHandlerContainer = createUnloadHandlerContainer();
|
|
2053
3149
|
}
|
|
2054
3150
|
}
|
|
@@ -2056,6 +3152,19 @@
|
|
|
2056
3152
|
return BaseTelemetryPlugin;
|
|
2057
3153
|
}());
|
|
2058
3154
|
|
|
3155
|
+
var SeverityLevel = createEnumStyle({
|
|
3156
|
+
Verbose: 0 ,
|
|
3157
|
+
Information: 1 ,
|
|
3158
|
+
Warning: 2 ,
|
|
3159
|
+
Error: 3 ,
|
|
3160
|
+
Critical: 4
|
|
3161
|
+
});
|
|
3162
|
+
|
|
3163
|
+
var AnalyticsPluginIdentifier = "ApplicationInsightsAnalytics";
|
|
3164
|
+
|
|
3165
|
+
var defaultReactExtensionConfig = objDeepFreeze({
|
|
3166
|
+
history: { blkVal: true, v: undefined }
|
|
3167
|
+
});
|
|
2059
3168
|
var ReactPlugin = /** @class */ (function (_super) {
|
|
2060
3169
|
__extendsFn(ReactPlugin, _super);
|
|
2061
3170
|
function ReactPlugin() {
|
|
@@ -2066,27 +3175,31 @@
|
|
|
2066
3175
|
var _extensionConfig;
|
|
2067
3176
|
var _unlisten;
|
|
2068
3177
|
var _pageViewTimer;
|
|
3178
|
+
var _pageViewTracked;
|
|
2069
3179
|
dynamicProto(ReactPlugin, _this, function (_self, _base) {
|
|
2070
3180
|
_initDefaults();
|
|
2071
3181
|
_self.initialize = function (config, core, extensions, pluginChain) {
|
|
2072
3182
|
_super.prototype.initialize.call(_this, config, core, extensions, pluginChain);
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
3183
|
+
_self._addHook(onConfigChange(config, function (details) {
|
|
3184
|
+
var _a;
|
|
3185
|
+
var ctx = _self._getTelCtx();
|
|
3186
|
+
_extensionConfig = ctx.getExtCfg(_this.identifier, defaultReactExtensionConfig);
|
|
3187
|
+
_analyticsPlugin = (_a = core.getPlugin(AnalyticsPluginIdentifier)) === null || _a === void 0 ? void 0 : _a.plugin;
|
|
3188
|
+
if (isFunction(_unlisten)) {
|
|
3189
|
+
_unlisten();
|
|
3190
|
+
_unlisten = null;
|
|
2081
3191
|
}
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
3192
|
+
if (_extensionConfig.history) {
|
|
3193
|
+
_addHistoryListener(_extensionConfig.history);
|
|
3194
|
+
if (!_pageViewTracked) {
|
|
3195
|
+
var pageViewTelemetry = {
|
|
3196
|
+
uri: _extensionConfig.history.location.pathname
|
|
3197
|
+
};
|
|
3198
|
+
_self.trackPageView(pageViewTelemetry);
|
|
3199
|
+
_pageViewTracked = true;
|
|
3200
|
+
}
|
|
3201
|
+
}
|
|
3202
|
+
}));
|
|
2090
3203
|
};
|
|
2091
3204
|
_self.getCookieMgr = function () {
|
|
2092
3205
|
return safeGetCookieMgr(_self.core);
|
|
@@ -2116,6 +3229,7 @@
|
|
|
2116
3229
|
_extensionConfig = null;
|
|
2117
3230
|
_unlisten = null;
|
|
2118
3231
|
_pageViewTimer = null;
|
|
3232
|
+
_pageViewTracked = false;
|
|
2119
3233
|
}
|
|
2120
3234
|
function _getAnalytics() {
|
|
2121
3235
|
if (!_analyticsPlugin) {
|
|
@@ -2162,11 +3276,11 @@
|
|
|
2162
3276
|
_this._idleTimeout = 5000;
|
|
2163
3277
|
_this.trackActivity = function (e) {
|
|
2164
3278
|
if (_this._firstActiveTimestamp === 0) {
|
|
2165
|
-
_this._firstActiveTimestamp =
|
|
3279
|
+
_this._firstActiveTimestamp = utcNow();
|
|
2166
3280
|
_this._lastActiveTimestamp = _this._firstActiveTimestamp;
|
|
2167
3281
|
}
|
|
2168
3282
|
else {
|
|
2169
|
-
_this._lastActiveTimestamp =
|
|
3283
|
+
_this._lastActiveTimestamp = utcNow();
|
|
2170
3284
|
}
|
|
2171
3285
|
if (_this._idleStartTimestamp > 0) {
|
|
2172
3286
|
var lastIdleTime = _this._lastActiveTimestamp - _this._idleStartTimestamp;
|
|
@@ -2180,15 +3294,15 @@
|
|
|
2180
3294
|
}
|
|
2181
3295
|
AITrackedComponentBase.prototype.componentDidMount = function () {
|
|
2182
3296
|
var _this = this;
|
|
2183
|
-
this._mountTimestamp =
|
|
3297
|
+
this._mountTimestamp = utcNow();
|
|
2184
3298
|
this._firstActiveTimestamp = 0;
|
|
2185
3299
|
this._totalIdleTime = 0;
|
|
2186
3300
|
this._lastActiveTimestamp = 0;
|
|
2187
3301
|
this._idleStartTimestamp = 0;
|
|
2188
3302
|
this._idleCount = 0;
|
|
2189
3303
|
this._intervalId = setInterval(function () {
|
|
2190
|
-
if (_this._lastActiveTimestamp > 0 && _this._idleStartTimestamp === 0 &&
|
|
2191
|
-
_this._idleStartTimestamp =
|
|
3304
|
+
if (_this._lastActiveTimestamp > 0 && _this._idleStartTimestamp === 0 && utcNow() - _this._lastActiveTimestamp >= _this._idleTimeout) {
|
|
3305
|
+
_this._idleStartTimestamp = utcNow();
|
|
2192
3306
|
_this._idleCount++;
|
|
2193
3307
|
}
|
|
2194
3308
|
}, 100);
|
|
@@ -2213,7 +3327,7 @@
|
|
|
2213
3327
|
this._reactPlugin.trackMetric(metricData, additionalProperties);
|
|
2214
3328
|
};
|
|
2215
3329
|
AITrackedComponentBase.prototype.getEngagementTimeSeconds = function () {
|
|
2216
|
-
return (
|
|
3330
|
+
return (utcNow() - this._firstActiveTimestamp - this._totalIdleTime - this._idleCount * this._idleTimeout) / 1000;
|
|
2217
3331
|
};
|
|
2218
3332
|
return AITrackedComponentBase;
|
|
2219
3333
|
}(React__namespace.Component));
|
|
@@ -2240,14 +3354,6 @@
|
|
|
2240
3354
|
}(AITrackedComponentBase));
|
|
2241
3355
|
}
|
|
2242
3356
|
|
|
2243
|
-
var SeverityLevel = createEnumStyle({
|
|
2244
|
-
Verbose: 0 ,
|
|
2245
|
-
Information: 1 ,
|
|
2246
|
-
Warning: 2 ,
|
|
2247
|
-
Error: 3 ,
|
|
2248
|
-
Critical: 4
|
|
2249
|
-
});
|
|
2250
|
-
|
|
2251
3357
|
var AppInsightsErrorBoundary = /** @class */ (function (_super) {
|
|
2252
3358
|
__extendsFn(AppInsightsErrorBoundary, _super);
|
|
2253
3359
|
function AppInsightsErrorBoundary() {
|
|
@@ -2293,7 +3399,7 @@
|
|
|
2293
3399
|
}
|
|
2294
3400
|
|
|
2295
3401
|
function getEngagementTimeSeconds(trackedData) {
|
|
2296
|
-
return ((
|
|
3402
|
+
return ((utcNow() -
|
|
2297
3403
|
trackedData.firstActiveTimestamp -
|
|
2298
3404
|
trackedData.totalIdleTime -
|
|
2299
3405
|
trackedData.idleCount * trackedData.idleTimeout) /
|
|
@@ -2301,7 +3407,7 @@
|
|
|
2301
3407
|
}
|
|
2302
3408
|
var useComponentTracking = function (reactPlugin, componentName, customProperties) {
|
|
2303
3409
|
var tracking = React.useRef({
|
|
2304
|
-
hookTimestamp:
|
|
3410
|
+
hookTimestamp: utcNow(),
|
|
2305
3411
|
firstActiveTimestamp: 0,
|
|
2306
3412
|
totalIdleTime: 0,
|
|
2307
3413
|
lastActiveTimestamp: 0,
|
|
@@ -2314,8 +3420,8 @@
|
|
|
2314
3420
|
var trackedData = tracking.current;
|
|
2315
3421
|
if (trackedData.lastActiveTimestamp > 0 &&
|
|
2316
3422
|
trackedData.idleStartTimestamp === 0 &&
|
|
2317
|
-
|
|
2318
|
-
trackedData.idleStartTimestamp =
|
|
3423
|
+
utcNow() - trackedData.lastActiveTimestamp >= trackedData.idleTimeout) {
|
|
3424
|
+
trackedData.idleStartTimestamp = utcNow();
|
|
2319
3425
|
trackedData.idleCount++;
|
|
2320
3426
|
}
|
|
2321
3427
|
};
|
|
@@ -2345,11 +3451,11 @@
|
|
|
2345
3451
|
var trackActivity = function () {
|
|
2346
3452
|
var trackedData = tracking.current;
|
|
2347
3453
|
if (trackedData.firstActiveTimestamp === 0) {
|
|
2348
|
-
trackedData.firstActiveTimestamp =
|
|
3454
|
+
trackedData.firstActiveTimestamp = utcNow();
|
|
2349
3455
|
trackedData.lastActiveTimestamp = trackedData.firstActiveTimestamp;
|
|
2350
3456
|
}
|
|
2351
3457
|
else {
|
|
2352
|
-
trackedData.lastActiveTimestamp =
|
|
3458
|
+
trackedData.lastActiveTimestamp = utcNow();
|
|
2353
3459
|
}
|
|
2354
3460
|
if (trackedData.idleStartTimestamp > 0) {
|
|
2355
3461
|
var lastIdleTime = trackedData.lastActiveTimestamp - trackedData.idleStartTimestamp;
|