@microsoft/applicationinsights-core-js 3.0.0-beta.2210-16 → 3.0.0-beta.2210-18
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-core-js.integrity.json +9 -9
- package/browser/applicationinsights-core-js.js +131 -117
- package/browser/applicationinsights-core-js.js.map +1 -1
- package/browser/applicationinsights-core-js.min.js +2 -2
- package/browser/applicationinsights-core-js.min.js.map +1 -1
- package/dist/applicationinsights-core-js.api.json +0 -89
- package/dist/applicationinsights-core-js.api.md +6 -6
- package/dist/applicationinsights-core-js.d.ts +7 -17
- package/dist/applicationinsights-core-js.js +131 -117
- package/dist/applicationinsights-core-js.js.map +1 -1
- package/dist/applicationinsights-core-js.min.js +2 -2
- package/dist/applicationinsights-core-js.min.js.map +1 -1
- package/dist/applicationinsights-core-js.rollup.d.ts +7 -17
- package/dist-esm/Config/ConfigDefaults.js +2 -3
- package/dist-esm/Config/ConfigDefaults.js.map +1 -1
- package/dist-esm/Config/DynamicConfig.js +2 -3
- package/dist-esm/Config/DynamicConfig.js.map +1 -1
- package/dist-esm/Config/DynamicProperty.js +31 -18
- package/dist-esm/Config/DynamicProperty.js.map +1 -1
- package/dist-esm/Config/DynamicState.js +58 -47
- package/dist-esm/Config/DynamicState.js.map +1 -1
- package/dist-esm/Config/DynamicSupport.js +2 -3
- package/dist-esm/Config/DynamicSupport.js.map +1 -1
- package/dist-esm/Config/IConfigDefaults.js +1 -1
- package/dist-esm/Config/IDynamicConfigHandler.js +1 -1
- package/dist-esm/Config/IDynamicPropertyHandler.js +1 -1
- package/dist-esm/Config/IDynamicWatcher.js +1 -1
- package/dist-esm/Config/_IDynamicConfigHandlerState.js +1 -1
- package/dist-esm/JavaScriptSDK/AggregationError.js +1 -1
- package/dist-esm/JavaScriptSDK/AppInsightsCore.js +3 -3
- package/dist-esm/JavaScriptSDK/AppInsightsCore.js.map +1 -1
- package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js +1 -1
- package/dist-esm/JavaScriptSDK/ChannelController.js +5 -7
- package/dist-esm/JavaScriptSDK/ChannelController.js.map +1 -1
- package/dist-esm/JavaScriptSDK/CookieMgr.js +12 -12
- package/dist-esm/JavaScriptSDK/CookieMgr.js.map +1 -1
- package/dist-esm/JavaScriptSDK/CoreUtils.js +1 -14
- package/dist-esm/JavaScriptSDK/CoreUtils.js.map +1 -1
- package/dist-esm/JavaScriptSDK/DataCacheHelper.js +2 -2
- package/dist-esm/JavaScriptSDK/DataCacheHelper.js.map +1 -1
- package/dist-esm/JavaScriptSDK/DbgExtensionUtils.js +3 -2
- package/dist-esm/JavaScriptSDK/DbgExtensionUtils.js.map +1 -1
- package/dist-esm/JavaScriptSDK/DiagnosticLogger.js +1 -1
- package/dist-esm/JavaScriptSDK/EnvUtils.js +4 -12
- package/dist-esm/JavaScriptSDK/EnvUtils.js.map +1 -1
- package/dist-esm/JavaScriptSDK/EventHelpers.js +2 -3
- package/dist-esm/JavaScriptSDK/EventHelpers.js.map +1 -1
- package/dist-esm/JavaScriptSDK/HelperFuncs.js +3 -41
- package/dist-esm/JavaScriptSDK/HelperFuncs.js.map +1 -1
- package/dist-esm/JavaScriptSDK/InstrumentHooks.js +1 -1
- package/dist-esm/JavaScriptSDK/InternalConstants.js +1 -1
- package/dist-esm/JavaScriptSDK/NotificationManager.js +4 -4
- package/dist-esm/JavaScriptSDK/NotificationManager.js.map +1 -1
- package/dist-esm/JavaScriptSDK/PerfManager.js +4 -5
- package/dist-esm/JavaScriptSDK/PerfManager.js.map +1 -1
- package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js +4 -4
- package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js.map +1 -1
- package/dist-esm/JavaScriptSDK/RandomHelper.js +3 -3
- package/dist-esm/JavaScriptSDK/RandomHelper.js.map +1 -1
- package/dist-esm/JavaScriptSDK/TelemetryHelpers.js +1 -1
- package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js +1 -1
- package/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
- package/dist-esm/JavaScriptSDK/W3cTraceParent.js +3 -3
- package/dist-esm/JavaScriptSDK/W3cTraceParent.js.map +1 -1
- package/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -1
- package/dist-esm/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
- package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
- package/dist-esm/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
- package/dist-esm/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
- package/dist-esm/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IUnloadHook.js +1 -1
- package/dist-esm/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
- package/dist-esm/__DynamicConstants.js +4 -6
- package/dist-esm/__DynamicConstants.js.map +1 -1
- package/dist-esm/applicationinsights-core-js.js +5 -5
- package/dist-esm/applicationinsights-core-js.js.map +1 -1
- package/package.json +1 -1
- package/src/JavaScriptSDK/AppInsightsCore.ts +3 -3
- package/src/JavaScriptSDK/ChannelController.ts +5 -7
- package/src/JavaScriptSDK/CookieMgr.ts +11 -11
- package/src/JavaScriptSDK/CoreUtils.ts +0 -15
- package/src/JavaScriptSDK/DbgExtensionUtils.ts +2 -1
- package/src/JavaScriptSDK/EnvUtils.ts +2 -11
- package/src/JavaScriptSDK/EventHelpers.ts +1 -2
- package/src/JavaScriptSDK/HelperFuncs.ts +3 -47
- package/src/JavaScriptSDK/NotificationManager.ts +3 -3
- package/src/JavaScriptSDK/PerfManager.ts +3 -4
- package/src/JavaScriptSDK/ProcessTelemetryContext.ts +6 -4
- package/src/JavaScriptSDK/RandomHelper.ts +2 -2
- package/src/JavaScriptSDK/W3cTraceParent.ts +2 -2
- package/types/Config/IDynamicWatcher.d.ts +5 -1
- package/types/Config/_IDynamicConfigHandlerState.d.ts +17 -1
- package/types/JavaScriptSDK/CoreUtils.d.ts +0 -5
- package/types/JavaScriptSDK/EnvUtils.d.ts +0 -6
- package/types/JavaScriptSDK/HelperFuncs.d.ts +0 -18
- package/types/__DynamicConstants.d.ts +1 -3
- package/types/applicationinsights-core-js.d.ts +4 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Microsoft Application Insights Core Javascript SDK, 3.0.0-beta.2210-
|
|
2
|
+
* Microsoft Application Insights Core Javascript SDK, 3.0.0-beta.2210-18
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*
|
|
5
5
|
* Microsoft Application Insights Team
|
|
@@ -18,6 +18,7 @@ import { arrIndexOf } from '@nevware21/ts-utils';
|
|
|
18
18
|
import { arrMap } from '@nevware21/ts-utils';
|
|
19
19
|
import { arrReduce } from '@nevware21/ts-utils';
|
|
20
20
|
import { asString } from '@nevware21/ts-utils';
|
|
21
|
+
import { utcNow as dateNow } from '@nevware21/ts-utils';
|
|
21
22
|
import { objDeepFreeze as deepFreeze } from '@nevware21/ts-utils';
|
|
22
23
|
import { dumpObj } from '@nevware21/ts-utils';
|
|
23
24
|
import { EnumCls } from '@nevware21/ts-utils';
|
|
@@ -26,6 +27,7 @@ import { getGlobal } from '@microsoft/applicationinsights-shims';
|
|
|
26
27
|
import { getInst as getGlobalInst } from '@nevware21/ts-utils';
|
|
27
28
|
import { getHistory } from '@nevware21/ts-utils';
|
|
28
29
|
import { getNavigator } from '@nevware21/ts-utils';
|
|
30
|
+
import { getPerformance } from '@nevware21/ts-utils';
|
|
29
31
|
import { getWindow } from '@nevware21/ts-utils';
|
|
30
32
|
import { hasDocument } from '@nevware21/ts-utils';
|
|
31
33
|
import { hasHistory } from '@nevware21/ts-utils';
|
|
@@ -53,6 +55,7 @@ import { objFreeze } from '@nevware21/ts-utils';
|
|
|
53
55
|
import { objKeys } from '@nevware21/ts-utils';
|
|
54
56
|
import { objSeal } from '@nevware21/ts-utils';
|
|
55
57
|
import { objToString } from '@nevware21/ts-utils';
|
|
58
|
+
import { perfNow } from '@nevware21/ts-utils';
|
|
56
59
|
import { strEndsWith } from '@nevware21/ts-utils';
|
|
57
60
|
import { strShimFunction as strFunction } from '@microsoft/applicationinsights-shims';
|
|
58
61
|
import { strShimObject as strObject } from '@microsoft/applicationinsights-shims';
|
|
@@ -438,11 +441,7 @@ export declare const createValueMap: <E, V = E>(values: {
|
|
|
438
441
|
[key in keyof E]: [E[keyof E], V[keyof V]];
|
|
439
442
|
}) => V;
|
|
440
443
|
|
|
441
|
-
|
|
442
|
-
* Return the current time via the Date now() function (if available) and falls back to (new Date()).getTime() if now() is unavailable (IE8 or less)
|
|
443
|
-
* https://caniuse.com/#search=Date.now
|
|
444
|
-
*/
|
|
445
|
-
export declare function dateNow(): number;
|
|
444
|
+
export { dateNow }
|
|
446
445
|
|
|
447
446
|
export { deepFreeze }
|
|
448
447
|
|
|
@@ -799,12 +798,7 @@ export declare function getMsCrypto(): Crypto | null;
|
|
|
799
798
|
|
|
800
799
|
export { getNavigator }
|
|
801
800
|
|
|
802
|
-
|
|
803
|
-
* Returns the performance object if it is present otherwise null.
|
|
804
|
-
* This helper is used to access the performance object from the current
|
|
805
|
-
* global instance which could be window or globalThis for a web worker
|
|
806
|
-
*/
|
|
807
|
-
export declare function getPerformance(): Performance | null;
|
|
801
|
+
export { getPerformance }
|
|
808
802
|
|
|
809
803
|
/**
|
|
810
804
|
* Returns the current value from the target object if not null or undefined otherwise sets the new value and returns it
|
|
@@ -2511,11 +2505,7 @@ export declare class PerfManager implements IPerfManager {
|
|
|
2511
2505
|
getCtx(key: string): any;
|
|
2512
2506
|
}
|
|
2513
2507
|
|
|
2514
|
-
|
|
2515
|
-
* Return the current value of the Performance Api now() function (if available) and fallback to dateNow() if it is unavailable (IE9 or less)
|
|
2516
|
-
* https://caniuse.com/#search=performance.now
|
|
2517
|
-
*/
|
|
2518
|
-
export declare function perfNow(): number;
|
|
2508
|
+
export { perfNow }
|
|
2519
2509
|
|
|
2520
2510
|
/**
|
|
2521
2511
|
* This class will be removed!
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Application Insights JavaScript SDK - Core, 3.0.0-beta.2210-
|
|
2
|
+
* Application Insights JavaScript SDK - Core, 3.0.0-beta.2210-18
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
import { asString, isArray, isDefined, isNullOrUndefined, isObject, objHasOwn } from "@nevware21/ts-utils";
|
|
8
|
-
import { isPlainObject } from "../JavaScriptSDK/HelperFuncs";
|
|
7
|
+
import { asString, isArray, isDefined, isNullOrUndefined, isObject, isPlainObject, objHasOwn } from "@nevware21/ts-utils";
|
|
9
8
|
import { _DYN_LENGTH } from "../__DynamicConstants";
|
|
10
9
|
import { _cfgDeepCopy } from "./DynamicSupport";
|
|
11
10
|
function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigDefaults.js.map","sources":["ConfigDefaults.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { asString, isArray, isDefined, isNullOrUndefined, isObject, objHasOwn } from \"@nevware21/ts-utils\";\r\nimport {
|
|
1
|
+
{"version":3,"file":"ConfigDefaults.js.map","sources":["ConfigDefaults.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { asString, isArray, isDefined, isNullOrUndefined, isObject, isPlainObject, objHasOwn } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { _cfgDeepCopy } from \"./DynamicSupport\";\r\nfunction _getDefault(dynamicHandler, theConfig, cfgDefaults) {\r\n var defValue;\r\n var isDefaultValid = cfgDefaults.dfVal || isDefined;\r\n // There is a fallback config key so try and grab that first\r\n if (theConfig && cfgDefaults.fb) {\r\n var fallbacks = cfgDefaults.fb;\r\n if (!isArray(fallbacks)) {\r\n fallbacks = [fallbacks];\r\n }\r\n for (var lp = 0; lp < fallbacks[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var fallback = fallbacks[lp];\r\n var fbValue = theConfig[fallback];\r\n if (isDefaultValid(fbValue)) {\r\n defValue = fbValue;\r\n }\r\n else {\r\n // Needed to ensure that the fallback value (and potentially) new field is also dynamic even if null/undefined\r\n fbValue = dynamicHandler.cfg[fallback];\r\n if (isDefaultValid(fbValue)) {\r\n defValue = fbValue;\r\n }\r\n // Needed to ensure that the fallback value (and potentially) new field is also dynamic even if null/undefined\r\n dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);\r\n }\r\n if (isDefaultValid(defValue)) {\r\n // We have a valid default so break out of the look\r\n break;\r\n }\r\n }\r\n }\r\n // If the value is still not defined and we have a default value then use that\r\n if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {\r\n defValue = cfgDefaults.v;\r\n }\r\n return defValue;\r\n}\r\n/**\r\n * Applies the default value on the config property and makes sure that it's dynamic\r\n * @param theConfig\r\n * @param name\r\n * @param defaultValue\r\n */\r\nexport function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {\r\n // Resolve the initial config value from the provided value or use the defined default\r\n var isValid;\r\n var setFn;\r\n var defValue;\r\n var cfgDefaults = defaultValue;\r\n if (cfgDefaults && isObject(cfgDefaults) && (cfgDefaults.isVal || cfgDefaults.set || cfgDefaults.fb || objHasOwn(cfgDefaults, \"v\"))) {\r\n // looks like a IConfigDefault\r\n isValid = cfgDefaults.isVal;\r\n setFn = cfgDefaults.set;\r\n defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);\r\n }\r\n else {\r\n defValue = defaultValue;\r\n }\r\n // Set the value to the default value;\r\n var theValue = defValue;\r\n var usingDefault = true;\r\n var cfgValue = theConfig[name];\r\n // try and get and user provided values\r\n if (cfgValue || !isNullOrUndefined(cfgValue)) {\r\n // Use the defined theConfig[name] value\r\n theValue = cfgValue;\r\n usingDefault = false;\r\n }\r\n if (!usingDefault) {\r\n // The values are different and we have a special default value check, which is used to\r\n // override config values like empty strings to continue using the default\r\n if (isValid && theValue !== defValue && !isValid(theValue)) {\r\n theValue = defValue;\r\n usingDefault = true;\r\n }\r\n if (setFn) {\r\n theValue = setFn(theValue, defValue, theConfig);\r\n usingDefault = theValue === defValue;\r\n }\r\n }\r\n if (theValue && usingDefault && (isPlainObject(theValue) || isArray(theValue))) {\r\n theValue = _cfgDeepCopy(theValue);\r\n }\r\n // Needed to ensure that the (potentially) new field is dynamic even if null/undefined\r\n dynamicHandler.set(theConfig, name, theValue);\r\n}\r\n//# sourceMappingURL=ConfigDefaults.js.map"],"names":[],"mappings":";;;;AAA4D;AAC1B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Application Insights JavaScript SDK - Core, 3.0.0-beta.2210-
|
|
2
|
+
* Application Insights JavaScript SDK - Core, 3.0.0-beta.2210-18
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
import { dumpObj, objDefineProp } from "@nevware21/ts-utils";
|
|
7
|
+
import { dumpObj, objDefineProp, objForEachKey } from "@nevware21/ts-utils";
|
|
8
8
|
import { createUniqueNamespace } from "../JavaScriptSDK/DataCacheHelper";
|
|
9
|
-
import { objForEachKey } from "../JavaScriptSDK/HelperFuncs";
|
|
10
9
|
import { STR_NOT_DYNAMIC_ERROR, STR_WARN_TO_CONSOLE } from "../JavaScriptSDK/InternalConstants";
|
|
11
10
|
import { _DYN_CONFIGURABLE, _DYN_ENUMERABLE, _DYN_LOGGER, _DYN_NOTIFY, _DYN_SET_DF, _DYN_THROW_INTERNAL, _DYN_WATCH } from "../__DynamicConstants";
|
|
12
11
|
import { _applyDefaultValue } from "./ConfigDefaults";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicConfig.js.map","sources":["DynamicConfig.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dumpObj, objDefineProp } from \"@nevware21/ts-utils\";\r\nimport { createUniqueNamespace } from \"../JavaScriptSDK/DataCacheHelper\";\r\nimport {
|
|
1
|
+
{"version":3,"file":"DynamicConfig.js.map","sources":["DynamicConfig.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dumpObj, objDefineProp, objForEachKey } from \"@nevware21/ts-utils\";\r\nimport { createUniqueNamespace } from \"../JavaScriptSDK/DataCacheHelper\";\r\nimport { STR_NOT_DYNAMIC_ERROR, STR_WARN_TO_CONSOLE } from \"../JavaScriptSDK/InternalConstants\";\r\nimport { _DYN_CONFIGURABLE, _DYN_ENUMERABLE, _DYN_LOGGER, _DYN_NOTIFY, _DYN_SET_DF, _DYN_THROW_INTERNAL, _DYN_WATCH } from \"../__DynamicConstants\";\r\nimport { _applyDefaultValue } from \"./ConfigDefaults\";\r\nimport { _makeDynamicObject, _setDynamicProperty } from \"./DynamicProperty\";\r\nimport { _createState } from \"./DynamicState\";\r\nimport { CFG_HANDLER_LINK, _cfgDeepCopy, getDynamicConfigHandler, throwInvalidAccess } from \"./DynamicSupport\";\r\n/**\r\n * Identifies a function which will be re-called whenever any of it's accessed configuration values\r\n * change.\r\n * @param configHandler - The callback that will be called for the initial request and then whenever any\r\n * accessed configuration changes are identified.\r\n */\r\nfunction _createAndUseHandler(state, configHandler) {\r\n var handler = {\r\n fn: configHandler,\r\n rm: function () {\r\n // Clear all references to the handler so it can be garbage collected\r\n // This will also cause this handler to never get called and eventually removed\r\n handler.fn = null;\r\n state = null;\r\n configHandler = null;\r\n }\r\n };\r\n state.use(handler, configHandler);\r\n return handler;\r\n}\r\n/**\r\n * Creates the dynamic config handler and associates with the target config as the root object\r\n * @param target - The config that you want to be root of the dynamic config\r\n * @param inPlace - Should the passed config be converted in-place or a new proxy returned\r\n * @returns The existing dynamic handler or a new instance with the provided config values\r\n */\r\nfunction _createDynamicHandler(logger, target, inPlace) {\r\n var _a, _b;\r\n var dynamicHandler = getDynamicConfigHandler(target);\r\n if (dynamicHandler) {\r\n // The passed config is already dynamic so return it's tracker\r\n return dynamicHandler;\r\n }\r\n var uid = createUniqueNamespace(\"dyncfg\", true);\r\n var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);\r\n var theState;\r\n function _notifyWatchers() {\r\n theState[_DYN_NOTIFY /* @min:%2enotify */]();\r\n }\r\n function _setValue(target, name, value) {\r\n return _setDynamicProperty(theState, target, name, value);\r\n }\r\n function _watch(configHandler) {\r\n return _createAndUseHandler(theState, configHandler);\r\n }\r\n function _block(configHandler) {\r\n theState.use(null, configHandler);\r\n }\r\n function _applyDefaults(theConfig, defaultValues) {\r\n if (defaultValues) {\r\n // Resolve/apply the defaults\r\n objForEachKey(defaultValues, function (name, value) {\r\n // Sets the value and makes it dynamic (if it doesn't already exist)\r\n _applyDefaultValue(cfgHandler, theConfig, name, value);\r\n });\r\n }\r\n return theConfig;\r\n }\r\n var cfgHandler = (_a = {\r\n uid: null,\r\n cfg: newTarget\r\n },\r\n _a[_DYN_LOGGER /* @min:logger */] = logger,\r\n _a[_DYN_NOTIFY /* @min:notify */] = _notifyWatchers,\r\n _a.set = _setValue,\r\n _a[_DYN_SET_DF /* @min:setDf */] = _applyDefaults,\r\n _a[_DYN_WATCH /* @min:watch */] = _watch,\r\n _a._block = _block,\r\n _a);\r\n objDefineProp(cfgHandler, \"uid\", (_b = {},\r\n _b[_DYN_CONFIGURABLE /* @min:configurable */] = false,\r\n _b[_DYN_ENUMERABLE /* @min:enumerable */] = false,\r\n _b.writable = false,\r\n _b.value = uid,\r\n _b));\r\n theState = _createState(cfgHandler);\r\n // Setup tracking for all defined default keys\r\n _makeDynamicObject(theState, newTarget);\r\n return cfgHandler;\r\n}\r\n/**\r\n * Log an invalid access message to the console\r\n * @param message\r\n */\r\nfunction _logInvalidAccess(logger, message) {\r\n if (logger) {\r\n logger[STR_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](message);\r\n logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](2 /* eLoggingSeverity.WARNING */, 108 /* _eInternalMessageId.DynamicConfigException */, message);\r\n }\r\n else {\r\n // We don't have a logger so just throw an exception\r\n throwInvalidAccess(message);\r\n }\r\n}\r\n/**\r\n * Create or return a dynamic version of the passed config, if it is not already dynamic\r\n * @param config - The config to be converted into a dynamic config\r\n * @param defaultConfig - The default values to apply on the config if the properties don't already exist\r\n * @param inPlace - Should the config be converted in-place into a dynamic config or a new instance returned, defaults to true\r\n * @returns The dynamic config handler for the config (whether new or existing)\r\n */\r\nexport function createDynamicConfig(config, defaultConfig, logger, inPlace) {\r\n var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);\r\n if (defaultConfig) {\r\n dynamicHandler[_DYN_SET_DF /* @min:%2esetDf */](dynamicHandler.cfg, defaultConfig);\r\n }\r\n return dynamicHandler;\r\n}\r\n/**\r\n * Watch and track changes for accesses to the current config, the provided config MUST already be\r\n * a dynamic config or a child accessed via the dynamic config\r\n * @param config\r\n * @param configHandler\r\n * @param logger - The logger instance to use if there is no existing handler\r\n * @returns A watcher handler instance that can be used to remove itself when being unloaded\r\n * @throws TypeError if the provided config is not a dynamic config instance\r\n */\r\nexport function onConfigChange(config, configHandler, logger) {\r\n var handler = config[CFG_HANDLER_LINK] || config;\r\n if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {\r\n return handler[_DYN_WATCH /* @min:%2ewatch */](configHandler);\r\n }\r\n _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));\r\n createDynamicConfig(config, null, logger)[_DYN_WATCH /* @min:%2ewatch */](configHandler);\r\n}\r\n//# sourceMappingURL=DynamicConfig.js.map"],"names":[],"mappings":";;;;AAA4D;AAC1B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Application Insights JavaScript SDK - Core, 3.0.0-beta.2210-
|
|
2
|
+
* Application Insights JavaScript SDK - Core, 3.0.0-beta.2210-18
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
import { arrForEach, dumpObj, isArray, objDefineAccessors, objDefineProp, objForEachKey, objGetOwnPropertyDescriptor } from "@nevware21/ts-utils";
|
|
8
|
-
import {
|
|
9
|
-
import { UNDEFINED_VALUE } from "../JavaScriptSDK/InternalConstants";
|
|
10
|
-
import { _DYN_APPLY, _DYN_CONFIGURABLE, _DYN_ENUMERABLE, _DYN_INDEX_OF, _DYN_PUSH } from "../__DynamicConstants";
|
|
7
|
+
import { arrForEach, arrIndexOf, dumpObj, isArray, isPlainObject, objDefineAccessors, objDefineProp, objForEachKey, objGetOwnPropertyDescriptor } from "@nevware21/ts-utils";
|
|
8
|
+
import { _DYN_APPLY, _DYN_CONFIGURABLE, _DYN_ENUMERABLE, _DYN_PUSH, _DYN_SPLICE } from "../__DynamicConstants";
|
|
11
9
|
import { CFG_HANDLER_LINK, throwInvalidAccess } from "./DynamicSupport";
|
|
12
10
|
var arrayMethodsToPatch = [
|
|
13
11
|
"push",
|
|
@@ -39,9 +37,19 @@ function _makeDynamicProperty(state, theConfig, name, value) {
|
|
|
39
37
|
var detail = {
|
|
40
38
|
n: name,
|
|
41
39
|
h: [],
|
|
42
|
-
|
|
43
|
-
if (handler && handler.fn
|
|
44
|
-
detail.h
|
|
40
|
+
trk: function (handler) {
|
|
41
|
+
if (handler && handler.fn) {
|
|
42
|
+
if (arrIndexOf(detail.h, handler) === -1) {
|
|
43
|
+
// Add this handler to the collection that should be notified when the value changes
|
|
44
|
+
detail.h[_DYN_PUSH /* @min:%2epush */](handler);
|
|
45
|
+
}
|
|
46
|
+
state.trk(handler, detail);
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
clr: function (handler) {
|
|
50
|
+
var idx = arrIndexOf(detail.h, handler);
|
|
51
|
+
if (idx !== -1) {
|
|
52
|
+
detail.h[_DYN_SPLICE /* @min:%2esplice */](idx, 1);
|
|
45
53
|
}
|
|
46
54
|
}
|
|
47
55
|
};
|
|
@@ -59,12 +67,16 @@ function _makeDynamicProperty(state, theConfig, name, value) {
|
|
|
59
67
|
// If there is an active handler then add it to the tracking set of handlers
|
|
60
68
|
var activeHandler = state.act;
|
|
61
69
|
if (activeHandler) {
|
|
62
|
-
detail.
|
|
70
|
+
detail.trk(activeHandler);
|
|
63
71
|
}
|
|
64
72
|
return value;
|
|
65
73
|
}
|
|
66
|
-
// Tag this
|
|
67
|
-
_getProperty[state.prop] =
|
|
74
|
+
// Tag this getter as our dynamic property and provide shortcut for notifying a change
|
|
75
|
+
_getProperty[state.prop] = {
|
|
76
|
+
chng: function () {
|
|
77
|
+
state.add(detail);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
68
80
|
function _setProperty(newValue) {
|
|
69
81
|
if (value !== newValue) {
|
|
70
82
|
if (!!_setProperty[state.ro] && state.upd) {
|
|
@@ -76,14 +88,15 @@ function _makeDynamicProperty(state, theConfig, name, value) {
|
|
|
76
88
|
if (value && value[CFG_HANDLER_LINK]) {
|
|
77
89
|
// For objects / arrays, we can indirectly inform any listeners by just changing the value to undefined
|
|
78
90
|
// This will trigger any listeners by simply calling their version of the setter.
|
|
79
|
-
if (isPlainObject(value)) {
|
|
91
|
+
if (isPlainObject(value) || isArray(value)) {
|
|
80
92
|
objForEachKey(value, function (key) {
|
|
81
|
-
value
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
93
|
+
// Check if the value is dynamic
|
|
94
|
+
var propDesc = objGetOwnPropertyDescriptor(value, key);
|
|
95
|
+
if (propDesc && propDesc.get) {
|
|
96
|
+
// And if it is tell it's listeners that the value has changed
|
|
97
|
+
var valueState = propDesc.get[state.prop];
|
|
98
|
+
valueState && valueState.chng();
|
|
99
|
+
}
|
|
87
100
|
});
|
|
88
101
|
}
|
|
89
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicProperty.js.map","sources":["DynamicProperty.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, dumpObj, isArray, objDefineAccessors, objDefineProp, objForEachKey, objGetOwnPropertyDescriptor } from \"@nevware21/ts-utils\";\r\nimport {
|
|
1
|
+
{"version":3,"file":"DynamicProperty.js.map","sources":["DynamicProperty.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, arrIndexOf, dumpObj, isArray, isPlainObject, objDefineAccessors, objDefineProp, objForEachKey, objGetOwnPropertyDescriptor } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_CONFIGURABLE, _DYN_ENUMERABLE, _DYN_PUSH, _DYN_SPLICE } from \"../__DynamicConstants\";\r\nimport { CFG_HANDLER_LINK, throwInvalidAccess } from \"./DynamicSupport\";\r\nvar arrayMethodsToPatch = [\r\n \"push\",\r\n \"pop\",\r\n \"shift\",\r\n \"unshift\",\r\n \"splice\"\r\n];\r\nfunction _patchArray(state, target) {\r\n if (isArray(target)) {\r\n // Monkey Patch the methods that might change the array\r\n arrForEach(arrayMethodsToPatch, function (method) {\r\n var orgMethod = target[method];\r\n target[method] = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var result = orgMethod[_DYN_APPLY /* @min:%2eapply */](this, args);\r\n // items may be added, removed or moved so need to make some new dynamic properties\r\n _makeDynamicObject(state, target);\r\n return result;\r\n };\r\n });\r\n }\r\n}\r\nfunction _makeDynamicProperty(state, theConfig, name, value) {\r\n // Does not appear to be dynamic so lets make it so\r\n var detail = {\r\n n: name,\r\n h: [],\r\n trk: function (handler) {\r\n if (handler && handler.fn) {\r\n if (arrIndexOf(detail.h, handler) === -1) {\r\n // Add this handler to the collection that should be notified when the value changes\r\n detail.h[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n state.trk(handler, detail);\r\n }\r\n },\r\n clr: function (handler) {\r\n var idx = arrIndexOf(detail.h, handler);\r\n if (idx !== -1) {\r\n detail.h[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n }\r\n };\r\n // Flag to optimize lookup response time by avoiding additional function calls\r\n var checkDynamic = true;\r\n function _getProperty() {\r\n if (checkDynamic) {\r\n if (value && !value[CFG_HANDLER_LINK] && (isPlainObject(value) || isArray(value))) {\r\n // It doesn't look like it's already dynamic so lets make sure it's converted the object into a dynamic Config as well\r\n value = _makeDynamicObject(state, value);\r\n }\r\n // If it needed to be converted it now has been\r\n checkDynamic = false;\r\n }\r\n // If there is an active handler then add it to the tracking set of handlers\r\n var activeHandler = state.act;\r\n if (activeHandler) {\r\n detail.trk(activeHandler);\r\n }\r\n return value;\r\n }\r\n // Tag this getter as our dynamic property and provide shortcut for notifying a change\r\n _getProperty[state.prop] = {\r\n chng: function () {\r\n state.add(detail);\r\n }\r\n };\r\n function _setProperty(newValue) {\r\n if (value !== newValue) {\r\n if (!!_setProperty[state.ro] && state.upd) {\r\n // field is marked as readonly so return false\r\n throwInvalidAccess(\"[\" + name + \"] is sealed from \" + dumpObj(theConfig));\r\n }\r\n // As we are replacing the value, if already dynamic then we need to notify any listeners that changes\r\n // are happening\r\n if (value && value[CFG_HANDLER_LINK]) {\r\n // For objects / arrays, we can indirectly inform any listeners by just changing the value to undefined\r\n // This will trigger any listeners by simply calling their version of the setter.\r\n if (isPlainObject(value) || isArray(value)) {\r\n objForEachKey(value, function (key) {\r\n // Check if the value is dynamic\r\n var propDesc = objGetOwnPropertyDescriptor(value, key);\r\n if (propDesc && propDesc.get) {\r\n // And if it is tell it's listeners that the value has changed\r\n var valueState = propDesc.get[state.prop];\r\n valueState && valueState.chng();\r\n }\r\n });\r\n }\r\n }\r\n checkDynamic = false;\r\n if (isPlainObject(newValue) || isArray(newValue)) {\r\n _makeDynamicObject(state, newValue);\r\n }\r\n value = newValue;\r\n // Cause any listeners to be scheduled for notification\r\n state.add(detail);\r\n }\r\n }\r\n objDefineAccessors(theConfig, detail.n, _getProperty, _setProperty, true);\r\n}\r\nexport function _setDynamicProperty(state, target, name, value) {\r\n if (target) {\r\n var isDynamic = false;\r\n // To be a dynamic property it needs to have a get function\r\n var propDesc = objGetOwnPropertyDescriptor(target, name);\r\n if (propDesc && propDesc.get) {\r\n isDynamic = !!propDesc.get[state.prop];\r\n }\r\n if (!isDynamic) {\r\n _makeDynamicProperty(state, target, name, value);\r\n }\r\n else {\r\n // Looks like it's already dynamic and a different value so just assign the new value\r\n target[name] = value;\r\n }\r\n }\r\n return value;\r\n}\r\nexport function _makeDynamicObject(state, target /*, newValues?: any*/) {\r\n var _a;\r\n // Assign target with new value properties (converting into dynamic properties in the process)\r\n objForEachKey(/*newValues || */ target, function (key, value) {\r\n // Assign and/or make the property dynamic\r\n _setDynamicProperty(state, target, key, value);\r\n });\r\n if (!target[CFG_HANDLER_LINK]) {\r\n // Link the config back to the dynamic config details\r\n objDefineProp(target, CFG_HANDLER_LINK, (_a = {},\r\n _a[_DYN_CONFIGURABLE /* @min:configurable */] = false,\r\n _a[_DYN_ENUMERABLE /* @min:enumerable */] = false,\r\n _a.get = function () {\r\n return state.hdlr;\r\n },\r\n _a));\r\n _patchArray(state, target);\r\n }\r\n return target;\r\n}\r\n//# sourceMappingURL=DynamicProperty.js.map"],"names":[],"mappings":";;;;AAA4D;AAC1B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
@@ -1,36 +1,18 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Application Insights JavaScript SDK - Core, 3.0.0-beta.2210-
|
|
2
|
+
* Application Insights JavaScript SDK - Core, 3.0.0-beta.2210-18
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
import { arrForEach, dumpObj, newSymbol, scheduleTimeout } from "@nevware21/ts-utils";
|
|
7
|
+
import { arrForEach, arrIndexOf, dumpObj, newSymbol, scheduleTimeout } from "@nevware21/ts-utils";
|
|
8
8
|
import { throwAggregationError } from "../JavaScriptSDK/AggregationError";
|
|
9
|
-
import {
|
|
9
|
+
import { _DYN_LENGTH, _DYN_LOGGER, _DYN_PUSH, _DYN_SET_DF, _DYN_THROW_INTERNAL } from "../__DynamicConstants";
|
|
10
10
|
var symPrefix = "[[ai_";
|
|
11
11
|
var symPostfix = "]]";
|
|
12
|
-
/**
|
|
13
|
-
* @internal
|
|
14
|
-
* @ignore
|
|
15
|
-
* Add the watcher to the collection of watchers to be notified for the named value that is changing
|
|
16
|
-
* @param watchers - The collection of watchers
|
|
17
|
-
* @param theDetail - The dynamic property detail
|
|
18
|
-
* @param prevValue - The previous value
|
|
19
|
-
*/
|
|
20
|
-
function _insertWatcher(watchers, theDetail) {
|
|
21
|
-
if (theDetail && theDetail.h && theDetail.h[_DYN_LENGTH /* @min:%2elength */] > 0) {
|
|
22
|
-
arrForEach(theDetail.h, function (handler) {
|
|
23
|
-
// The handler may have self removed and we also want to only call the handler once.
|
|
24
|
-
if (handler && handler.fn && watchers[_DYN_INDEX_OF /* @min:%2eindexOf */](handler) === -1) {
|
|
25
|
-
watchers[_DYN_PUSH /* @min:%2epush */](handler);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
12
|
export function _createState(cfgHandler) {
|
|
31
|
-
var _a;
|
|
32
13
|
var dynamicPropertySymbol = newSymbol(symPrefix + "get" + cfgHandler.uid + symPostfix);
|
|
33
14
|
var dynamicPropertyReadOnly = newSymbol(symPrefix + "ro" + cfgHandler.uid + symPostfix);
|
|
15
|
+
var dynamicPropertyDetail = newSymbol(symPrefix + "dtl" + cfgHandler.uid + symPostfix);
|
|
34
16
|
var _waitingHandlers = null;
|
|
35
17
|
var _watcherTimer = null;
|
|
36
18
|
var theState;
|
|
@@ -38,6 +20,13 @@ export function _createState(cfgHandler) {
|
|
|
38
20
|
var prevWatcher = theState.act;
|
|
39
21
|
try {
|
|
40
22
|
theState.act = activeHandler;
|
|
23
|
+
if (activeHandler && activeHandler[dynamicPropertyDetail]) {
|
|
24
|
+
// Clear out the previously tracked details for this handler, so that access are re-evaluated
|
|
25
|
+
arrForEach(activeHandler[dynamicPropertyDetail], function (detail) {
|
|
26
|
+
detail.clr(activeHandler);
|
|
27
|
+
});
|
|
28
|
+
activeHandler[dynamicPropertyDetail] = [];
|
|
29
|
+
}
|
|
41
30
|
callback({
|
|
42
31
|
cfg: cfgHandler.cfg,
|
|
43
32
|
set: cfgHandler.set.bind(cfgHandler),
|
|
@@ -48,7 +37,7 @@ export function _createState(cfgHandler) {
|
|
|
48
37
|
var logger = cfgHandler[_DYN_LOGGER /* @min:%2elogger */];
|
|
49
38
|
if (logger) {
|
|
50
39
|
// Don't let one individual failure break everyone
|
|
51
|
-
logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](1 /* eLoggingSeverity.CRITICAL */, 107 /* _eInternalMessageId.ConfigWatcherException */,
|
|
40
|
+
logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](1 /* eLoggingSeverity.CRITICAL */, 107 /* _eInternalMessageId.ConfigWatcherException */, dumpObj(e));
|
|
52
41
|
}
|
|
53
42
|
// Re-throw the exception so that any true "error" is reported back to the called
|
|
54
43
|
throw e;
|
|
@@ -61,22 +50,29 @@ export function _createState(cfgHandler) {
|
|
|
61
50
|
if (_waitingHandlers) {
|
|
62
51
|
var notifyHandlers = _waitingHandlers;
|
|
63
52
|
_waitingHandlers = null;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
_watcherTimer = null;
|
|
68
|
-
}
|
|
53
|
+
// Stop any timer as we are running them now anyway
|
|
54
|
+
_watcherTimer && _watcherTimer.cancel();
|
|
55
|
+
_watcherTimer = null;
|
|
69
56
|
var watcherFailures_1 = [];
|
|
70
57
|
// Now run the handlers
|
|
71
58
|
arrForEach(notifyHandlers, function (handler) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
59
|
+
if (handler) {
|
|
60
|
+
if (handler[dynamicPropertyDetail]) {
|
|
61
|
+
arrForEach(handler[dynamicPropertyDetail], function (detail) {
|
|
62
|
+
// Clear out this handler from previously tracked details, so that access are re-evaluated
|
|
63
|
+
detail.clr(handler);
|
|
64
|
+
});
|
|
65
|
+
handler[dynamicPropertyDetail] = null;
|
|
76
66
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
67
|
+
// The handler may have self removed as part of another handler so re-check
|
|
68
|
+
if (handler.fn) {
|
|
69
|
+
try {
|
|
70
|
+
_useHandler(handler, handler.fn);
|
|
71
|
+
}
|
|
72
|
+
catch (e) {
|
|
73
|
+
// Don't let a single failing watcher cause other watches to fail
|
|
74
|
+
watcherFailures_1[_DYN_PUSH /* @min:%2epush */](e);
|
|
75
|
+
}
|
|
80
76
|
}
|
|
81
77
|
}
|
|
82
78
|
});
|
|
@@ -90,7 +86,7 @@ export function _createState(cfgHandler) {
|
|
|
90
86
|
}
|
|
91
87
|
}
|
|
92
88
|
if (watcherFailures_1[_DYN_LENGTH /* @min:%2elength */] > 0) {
|
|
93
|
-
throwAggregationError("
|
|
89
|
+
throwAggregationError("Watcher error(s): ", watcherFailures_1);
|
|
94
90
|
}
|
|
95
91
|
}
|
|
96
92
|
}
|
|
@@ -105,19 +101,34 @@ export function _createState(cfgHandler) {
|
|
|
105
101
|
_notifyWatchers();
|
|
106
102
|
}, 0);
|
|
107
103
|
}
|
|
108
|
-
// Add the
|
|
109
|
-
|
|
104
|
+
// Add all of the handlers for this detail (if not already present) - using normal for-loop for performance
|
|
105
|
+
for (var idx = 0; idx < detail.h[_DYN_LENGTH /* @min:%2elength */]; idx++) {
|
|
106
|
+
var handler = detail.h[idx];
|
|
107
|
+
// Add this handler to the collection of handlers to re-execute
|
|
108
|
+
if (handler && arrIndexOf(_waitingHandlers, handler) === -1) {
|
|
109
|
+
_waitingHandlers[_DYN_PUSH /* @min:%2epush */](handler);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function _trackHandler(handler, detail) {
|
|
115
|
+
if (handler) {
|
|
116
|
+
var details = handler[dynamicPropertyDetail] = handler[dynamicPropertyDetail] || [];
|
|
117
|
+
if (arrIndexOf(details, detail) === -1) {
|
|
118
|
+
// If this detail is not already listed as tracked then add it so that we re-evaluate it's usage
|
|
119
|
+
details[_DYN_PUSH /* @min:%2epush */](detail);
|
|
120
|
+
}
|
|
110
121
|
}
|
|
111
122
|
}
|
|
112
|
-
theState =
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
123
|
+
theState = {
|
|
124
|
+
prop: dynamicPropertySymbol,
|
|
125
|
+
ro: dynamicPropertyReadOnly,
|
|
126
|
+
hdlr: cfgHandler,
|
|
127
|
+
add: _addWatcher,
|
|
128
|
+
notify: _notifyWatchers,
|
|
129
|
+
use: _useHandler,
|
|
130
|
+
trk: _trackHandler
|
|
131
|
+
};
|
|
121
132
|
return theState;
|
|
122
133
|
}
|
|
123
134
|
//# sourceMappingURL=DynamicState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicState.js.map","sources":["DynamicState.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, dumpObj, newSymbol, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { throwAggregationError } from \"../JavaScriptSDK/AggregationError\";\r\nimport {
|
|
1
|
+
{"version":3,"file":"DynamicState.js.map","sources":["DynamicState.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, arrIndexOf, dumpObj, newSymbol, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { throwAggregationError } from \"../JavaScriptSDK/AggregationError\";\r\nimport { _DYN_LENGTH, _DYN_LOGGER, _DYN_PUSH, _DYN_SET_DF, _DYN_THROW_INTERNAL } from \"../__DynamicConstants\";\r\nvar symPrefix = \"[[ai_\";\r\nvar symPostfix = \"]]\";\r\nexport function _createState(cfgHandler) {\r\n var dynamicPropertySymbol = newSymbol(symPrefix + \"get\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyReadOnly = newSymbol(symPrefix + \"ro\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyDetail = newSymbol(symPrefix + \"dtl\" + cfgHandler.uid + symPostfix);\r\n var _waitingHandlers = null;\r\n var _watcherTimer = null;\r\n var theState;\r\n function _useHandler(activeHandler, callback) {\r\n var prevWatcher = theState.act;\r\n try {\r\n theState.act = activeHandler;\r\n if (activeHandler && activeHandler[dynamicPropertyDetail]) {\r\n // Clear out the previously tracked details for this handler, so that access are re-evaluated\r\n arrForEach(activeHandler[dynamicPropertyDetail], function (detail) {\r\n detail.clr(activeHandler);\r\n });\r\n activeHandler[dynamicPropertyDetail] = [];\r\n }\r\n callback({\r\n cfg: cfgHandler.cfg,\r\n set: cfgHandler.set.bind(cfgHandler),\r\n setDf: cfgHandler[_DYN_SET_DF /* @min:%2esetDf */].bind(cfgHandler)\r\n });\r\n }\r\n catch (e) {\r\n var logger = cfgHandler[_DYN_LOGGER /* @min:%2elogger */];\r\n if (logger) {\r\n // Don't let one individual failure break everyone\r\n logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](1 /* eLoggingSeverity.CRITICAL */, 107 /* _eInternalMessageId.ConfigWatcherException */, dumpObj(e));\r\n }\r\n // Re-throw the exception so that any true \"error\" is reported back to the called\r\n throw e;\r\n }\r\n finally {\r\n theState.act = prevWatcher || null;\r\n }\r\n }\r\n function _notifyWatchers() {\r\n if (_waitingHandlers) {\r\n var notifyHandlers = _waitingHandlers;\r\n _waitingHandlers = null;\r\n // Stop any timer as we are running them now anyway\r\n _watcherTimer && _watcherTimer.cancel();\r\n _watcherTimer = null;\r\n var watcherFailures_1 = [];\r\n // Now run the handlers\r\n arrForEach(notifyHandlers, function (handler) {\r\n if (handler) {\r\n if (handler[dynamicPropertyDetail]) {\r\n arrForEach(handler[dynamicPropertyDetail], function (detail) {\r\n // Clear out this handler from previously tracked details, so that access are re-evaluated\r\n detail.clr(handler);\r\n });\r\n handler[dynamicPropertyDetail] = null;\r\n }\r\n // The handler may have self removed as part of another handler so re-check\r\n if (handler.fn) {\r\n try {\r\n _useHandler(handler, handler.fn);\r\n }\r\n catch (e) {\r\n // Don't let a single failing watcher cause other watches to fail\r\n watcherFailures_1[_DYN_PUSH /* @min:%2epush */](e);\r\n }\r\n }\r\n }\r\n });\r\n // During notification we may have had additional updates -- so notify those updates as well\r\n if (_waitingHandlers) {\r\n try {\r\n _notifyWatchers();\r\n }\r\n catch (e) {\r\n watcherFailures_1[_DYN_PUSH /* @min:%2epush */](e);\r\n }\r\n }\r\n if (watcherFailures_1[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n throwAggregationError(\"Watcher error(s): \", watcherFailures_1);\r\n }\r\n }\r\n }\r\n function _addWatcher(detail) {\r\n if (detail && detail.h[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n if (!_waitingHandlers) {\r\n _waitingHandlers = [];\r\n }\r\n if (!_watcherTimer) {\r\n _watcherTimer = scheduleTimeout(function () {\r\n _watcherTimer = null;\r\n _notifyWatchers();\r\n }, 0);\r\n }\r\n // Add all of the handlers for this detail (if not already present) - using normal for-loop for performance\r\n for (var idx = 0; idx < detail.h[_DYN_LENGTH /* @min:%2elength */]; idx++) {\r\n var handler = detail.h[idx];\r\n // Add this handler to the collection of handlers to re-execute\r\n if (handler && arrIndexOf(_waitingHandlers, handler) === -1) {\r\n _waitingHandlers[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n }\r\n }\r\n }\r\n function _trackHandler(handler, detail) {\r\n if (handler) {\r\n var details = handler[dynamicPropertyDetail] = handler[dynamicPropertyDetail] || [];\r\n if (arrIndexOf(details, detail) === -1) {\r\n // If this detail is not already listed as tracked then add it so that we re-evaluate it's usage\r\n details[_DYN_PUSH /* @min:%2epush */](detail);\r\n }\r\n }\r\n }\r\n theState = {\r\n prop: dynamicPropertySymbol,\r\n ro: dynamicPropertyReadOnly,\r\n hdlr: cfgHandler,\r\n add: _addWatcher,\r\n notify: _notifyWatchers,\r\n use: _useHandler,\r\n trk: _trackHandler\r\n };\r\n return theState;\r\n}\r\n//# sourceMappingURL=DynamicState.js.map"],"names":[],"mappings":";;;;AAA4D;AAC1B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Application Insights JavaScript SDK - Core, 3.0.0-beta.2210-
|
|
2
|
+
* Application Insights JavaScript SDK - Core, 3.0.0-beta.2210-18
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
import { isArray, objForEachKey, symbolFor, throwTypeError } from "@nevware21/ts-utils";
|
|
8
|
-
import { isPlainObject } from "../JavaScriptSDK/HelperFuncs";
|
|
7
|
+
import { isArray, isPlainObject, objForEachKey, symbolFor, throwTypeError } from "@nevware21/ts-utils";
|
|
9
8
|
import { _DYN_LENGTH } from "../__DynamicConstants";
|
|
10
9
|
// Using Symbol.for so that if the same symbol was already created it would be returned
|
|
11
10
|
// To handle multiple instances using potentially different versions we are not using
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicSupport.js.map","sources":["DynamicSupport.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { isArray, objForEachKey, symbolFor, throwTypeError } from \"@nevware21/ts-utils\";\r\nimport {
|
|
1
|
+
{"version":3,"file":"DynamicSupport.js.map","sources":["DynamicSupport.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { isArray, isPlainObject, objForEachKey, symbolFor, throwTypeError } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\n// Using Symbol.for so that if the same symbol was already created it would be returned\r\n// To handle multiple instances using potentially different versions we are not using\r\n// createUniqueNamespace()\r\nexport var CFG_HANDLER_LINK = symbolFor(\"[[ai_dynCfg_1]]\");\r\nexport function _cfgDeepCopy(source) {\r\n if (source) {\r\n var target_1;\r\n if (isArray(source)) {\r\n target_1 = [];\r\n target_1[_DYN_LENGTH /* @min:%2elength */] = source[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n else if (isPlainObject(source)) {\r\n target_1 = {};\r\n }\r\n if (target_1) {\r\n // Copying index values by property name as the extensionConfig can be an array or object\r\n objForEachKey(source, function (key, value) {\r\n // Perform a deep copy of the object\r\n target_1[key] = _cfgDeepCopy(value);\r\n });\r\n return target_1;\r\n }\r\n }\r\n return source;\r\n}\r\n/**\r\n * @internal\r\n * Get the dynamic config handler if the value is already dynamic\r\n * @param value\r\n * @returns\r\n */\r\nexport function getDynamicConfigHandler(value) {\r\n if (value) {\r\n var handler = value[CFG_HANDLER_LINK] || value;\r\n if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {\r\n return handler;\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Throws an invalid access exception\r\n * @param message - The message to include in the exception\r\n */\r\nexport function throwInvalidAccess(message) {\r\n throwTypeError(\"InvalidAccess:\" + message);\r\n}\r\n//# sourceMappingURL=DynamicSupport.js.map"],"names":[],"mappings":";;;;AAA4D;AAC1B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Application Insights JavaScript SDK - Core, 3.0.0-beta.2210-
|
|
2
|
+
* Application Insights JavaScript SDK - Core, 3.0.0-beta.2210-18
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
var _a;
|
|
9
9
|
import { __spreadArrayFn as __spreadArray } from "@microsoft/applicationinsights-shims";
|
|
10
10
|
import dynamicProto from "@microsoft/dynamicproto-js";
|
|
11
|
-
import { arrAppend, arrForEach, arrIndexOf, deepExtend, dumpObj, isFunction, isNullOrUndefined, objDeepFreeze, objDefineProp, objFreeze, objHasOwn, throwError } from "@nevware21/ts-utils";
|
|
11
|
+
import { arrAppend, arrForEach, arrIndexOf, deepExtend, dumpObj, isFunction, isNullOrUndefined, isPlainObject, objDeepFreeze, objDefineProp, objForEachKey, objFreeze, objHasOwn, throwError } from "@nevware21/ts-utils";
|
|
12
12
|
import { createDynamicConfig, onConfigChange } from "../Config/DynamicConfig";
|
|
13
13
|
import { _DYN_ADD_NOTIFICATION_LIS1, _DYN_CALL, _DYN_CONFIGURABLE, _DYN_ENUMERABLE, _DYN_FLUSH, _DYN_GET_NOTIFY_MGR, _DYN_GET_PLUGIN, _DYN_GET_PROCESS_TEL_CONT0, _DYN_IDENTIFIER, _DYN_INITIALIZE, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_LOGGER, _DYN_LOGGING_LEVEL_CONSOL4, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_NAME, _DYN_NOTIFY, _DYN_ON_COMPLETE, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_REMOVE_NOTIFICATION_2, _DYN_SET_DF, _DYN_SPLICE, _DYN_STOP_POLLING_INTERNA3, _DYN_TEARDOWN, _DYN_TIME, _DYN_WATCH, _DYN__EXTENSIONS } from "../__DynamicConstants";
|
|
14
14
|
import { ChannelControllerPriority, createChannelControllerPlugin, createChannelQueues } from "./ChannelController";
|
|
@@ -16,7 +16,7 @@ import { createCookieMgr } from "./CookieMgr";
|
|
|
16
16
|
import { createUniqueNamespace } from "./DataCacheHelper";
|
|
17
17
|
import { getDebugListener } from "./DbgExtensionUtils";
|
|
18
18
|
import { DiagnosticLogger, _InternalLogMessage, _throwInternal, _warnToConsole } from "./DiagnosticLogger";
|
|
19
|
-
import { getSetValue,
|
|
19
|
+
import { getSetValue, proxyFunctionAs, proxyFunctions, toISOString } from "./HelperFuncs";
|
|
20
20
|
import { STR_CHANNELS, STR_CORE, STR_CREATE_PERF_MGR, STR_DISABLED, STR_EVENTS_DISCARDED, STR_EXTENSIONS, STR_EXTENSION_CONFIG, STR_GET_PERF_MGR, STR_PRIORITY, UNDEFINED_VALUE } from "./InternalConstants";
|
|
21
21
|
import { NotificationManager } from "./NotificationManager";
|
|
22
22
|
import { PerfManager, doPerf, getGblPerfMgr } from "./PerfManager";
|