@microsoft/applicationinsights-core-js 3.0.0-beta.2303-09 → 3.0.0-beta.2303-11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/browser/applicationinsights-core-js.integrity.json +9 -9
  2. package/browser/applicationinsights-core-js.js +89 -47
  3. package/browser/applicationinsights-core-js.js.map +1 -1
  4. package/browser/applicationinsights-core-js.min.js +2 -2
  5. package/browser/applicationinsights-core-js.min.js.map +1 -1
  6. package/dist/applicationinsights-core-js.api.json +119 -177
  7. package/dist/applicationinsights-core-js.api.md +7 -7
  8. package/dist/applicationinsights-core-js.d.ts +62 -30
  9. package/dist/applicationinsights-core-js.js +89 -47
  10. package/dist/applicationinsights-core-js.js.map +1 -1
  11. package/dist/applicationinsights-core-js.min.js +2 -2
  12. package/dist/applicationinsights-core-js.min.js.map +1 -1
  13. package/dist/applicationinsights-core-js.rollup.d.ts +62 -30
  14. package/dist-esm/Config/ConfigDefaultHelpers.js +1 -1
  15. package/dist-esm/Config/ConfigDefaults.js +1 -1
  16. package/dist-esm/Config/DynamicConfig.js +18 -7
  17. package/dist-esm/Config/DynamicConfig.js.map +1 -1
  18. package/dist-esm/Config/DynamicProperty.js +8 -10
  19. package/dist-esm/Config/DynamicProperty.js.map +1 -1
  20. package/dist-esm/Config/DynamicState.js +1 -1
  21. package/dist-esm/Config/DynamicSupport.js +114 -1
  22. package/dist-esm/Config/DynamicSupport.js.map +1 -1
  23. package/dist-esm/Config/IConfigDefaults.js +1 -1
  24. package/dist-esm/Config/IDynamicConfigHandler.js +1 -1
  25. package/dist-esm/Config/IDynamicPropertyHandler.js +1 -1
  26. package/dist-esm/Config/IDynamicWatcher.js +1 -1
  27. package/dist-esm/Config/_IDynamicConfigHandlerState.js +1 -1
  28. package/dist-esm/JavaScriptSDK/AggregationError.js +1 -1
  29. package/dist-esm/JavaScriptSDK/AppInsightsCore.js +2 -2
  30. package/dist-esm/JavaScriptSDK/AppInsightsCore.js.map +1 -1
  31. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js +1 -1
  32. package/dist-esm/JavaScriptSDK/Constants.js +1 -1
  33. package/dist-esm/JavaScriptSDK/CookieMgr.js +23 -19
  34. package/dist-esm/JavaScriptSDK/CookieMgr.js.map +1 -1
  35. package/dist-esm/JavaScriptSDK/CoreUtils.js +1 -1
  36. package/dist-esm/JavaScriptSDK/DataCacheHelper.js +2 -2
  37. package/dist-esm/JavaScriptSDK/DataCacheHelper.js.map +1 -1
  38. package/dist-esm/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  39. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js +11 -23
  40. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js.map +1 -1
  41. package/dist-esm/JavaScriptSDK/EnvUtils.js +1 -1
  42. package/dist-esm/JavaScriptSDK/EventHelpers.js +1 -1
  43. package/dist-esm/JavaScriptSDK/HelperFuncs.js +1 -1
  44. package/dist-esm/JavaScriptSDK/InstrumentHooks.js +1 -1
  45. package/dist-esm/JavaScriptSDK/InternalConstants.js +1 -1
  46. package/dist-esm/JavaScriptSDK/NotificationManager.js +1 -1
  47. package/dist-esm/JavaScriptSDK/PerfManager.js +1 -1
  48. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js +1 -1
  49. package/dist-esm/JavaScriptSDK/RandomHelper.js +1 -1
  50. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js +1 -1
  51. package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js +1 -1
  52. package/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  53. package/dist-esm/JavaScriptSDK/UnloadHookContainer.js +1 -1
  54. package/dist-esm/JavaScriptSDK/W3cTraceParent.js +1 -1
  55. package/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -1
  56. package/dist-esm/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  57. package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  58. package/dist-esm/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  59. package/dist-esm/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  60. package/dist-esm/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  61. package/dist-esm/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  62. package/dist-esm/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  63. package/dist-esm/JavaScriptSDK.Interfaces/IChannelControlsHost.js +1 -1
  64. package/dist-esm/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  65. package/dist-esm/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  66. package/dist-esm/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  67. package/dist-esm/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  68. package/dist-esm/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  69. package/dist-esm/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  70. package/dist-esm/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  71. package/dist-esm/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  72. package/dist-esm/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  73. package/dist-esm/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  74. package/dist-esm/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  75. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  76. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  77. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  78. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  79. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  80. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  81. package/dist-esm/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  82. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadHook.js +1 -1
  83. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
  84. package/dist-esm/__DynamicConstants.js +1 -2
  85. package/dist-esm/__DynamicConstants.js.map +1 -1
  86. package/dist-esm/applicationinsights-core-js.js +2 -2
  87. package/dist-esm/applicationinsights-core-js.js.map +1 -1
  88. package/package.json +1 -1
  89. package/types/Config/DynamicProperty.d.ts +1 -1
  90. package/types/Config/DynamicSupport.d.ts +67 -0
  91. package/types/Config/IDynamicConfigHandler.d.ts +3 -1
  92. package/types/JavaScriptSDK/DiagnosticLogger.d.ts +0 -14
  93. package/types/JavaScriptSDK.Interfaces/IConfiguration.d.ts +1 -1
  94. package/types/JavaScriptSDK.Interfaces/IDiagnosticLogger.d.ts +0 -14
  95. package/types/__DynamicConstants.d.ts +0 -1
  96. package/types/applicationinsights-core-js.d.ts +1 -1
@@ -6000,6 +6000,64 @@
6000
6000
  }
6001
6001
  ]
6002
6002
  },
6003
+ {
6004
+ "kind": "Function",
6005
+ "canonicalReference": "@microsoft/applicationinsights-core-js!blockDynamicConversion:function(1)",
6006
+ "docComment": "/**\n * Mark the provided value so that if it's included into the configuration it will NOT have its properties converted into a dynamic (reactive) object. If the object is not a plain object or an array (ie. a class) this function has not affect as only Objects and Arrays are converted into dynamic objects in the dynamic configuration.\n *\n * When you have tagged a value as both {@link forceDynamicConversion} and blocked force will take precedence.\n *\n * You should only need to use this function, if you are creating dynamic \"classes\" from objects which confirm to the require interface. A common case for this is during unit testing where it's easier to create mock extensions.\n *\n * If `value` is falsy (null / undefined / 0 / empty string etc) it will not be tagged and if there is an exception adding the property to the value (because its frozen etc) the exception will be swallowed\n *\n * @param value - The object that you want to block from being converted into a trackable dynamic object\n *\n * @returns The original value\n *\n * @example\n * ```ts\n * // This is a valid \"extension\", but it is technically an object\n * // So when included in the config.extensions it WILL be cloned and then\n * // converted into a dynamic object, where all of its properties will become\n * // get/set object properties and will be tracked. While this WILL still\n * // function, when attempt to use a mocking framework on top of this the\n * // functions are now technically get accessors which return a function\n * // and this can cause some mocking frameworks to fail.\n * let mockChannel = {\n * pause: () => { },\n * resume: () => { },\n * teardown: () => { },\n * flush: (async: any, callBack: any) => { },\n * processTelemetry: (env: any) => { },\n * setNextPlugin: (next: any) => { },\n * initialize: (config: any, core: any, extensions: any) => { },\n * identifier: \"testChannel\",\n * priority: 1003\n * };\n * ```\n *\n */\n",
6007
+ "excerptTokens": [
6008
+ {
6009
+ "kind": "Content",
6010
+ "text": "export declare function blockDynamicConversion<T>(value: "
6011
+ },
6012
+ {
6013
+ "kind": "Content",
6014
+ "text": "T"
6015
+ },
6016
+ {
6017
+ "kind": "Content",
6018
+ "text": "): "
6019
+ },
6020
+ {
6021
+ "kind": "Content",
6022
+ "text": "T"
6023
+ },
6024
+ {
6025
+ "kind": "Content",
6026
+ "text": ";"
6027
+ }
6028
+ ],
6029
+ "fileUrlPath": "types/Config/DynamicSupport.d.ts",
6030
+ "returnTypeTokenRange": {
6031
+ "startIndex": 3,
6032
+ "endIndex": 4
6033
+ },
6034
+ "releaseTag": "Public",
6035
+ "overloadIndex": 1,
6036
+ "parameters": [
6037
+ {
6038
+ "parameterName": "value",
6039
+ "parameterTypeTokenRange": {
6040
+ "startIndex": 1,
6041
+ "endIndex": 2
6042
+ },
6043
+ "isOptional": false
6044
+ }
6045
+ ],
6046
+ "typeParameters": [
6047
+ {
6048
+ "typeParameterName": "T",
6049
+ "constraintTokenRange": {
6050
+ "startIndex": 0,
6051
+ "endIndex": 0
6052
+ },
6053
+ "defaultTypeTokenRange": {
6054
+ "startIndex": 0,
6055
+ "endIndex": 0
6056
+ }
6057
+ }
6058
+ ],
6059
+ "name": "blockDynamicConversion"
6060
+ },
6003
6061
  {
6004
6062
  "kind": "Function",
6005
6063
  "canonicalReference": "@microsoft/applicationinsights-core-js!cfgDfBoolean:function(1)",
@@ -7452,37 +7510,6 @@
7452
7510
  "isAbstract": false,
7453
7511
  "name": "consoleLoggingLevel"
7454
7512
  },
7455
- {
7456
- "kind": "Method",
7457
- "canonicalReference": "@microsoft/applicationinsights-core-js!DiagnosticLogger#enableDebugExceptions:member(1)",
7458
- "docComment": "/**\n * When this is true the SDK will throw exceptions to aid in debugging.\n */\n",
7459
- "excerptTokens": [
7460
- {
7461
- "kind": "Content",
7462
- "text": "enableDebugExceptions(): "
7463
- },
7464
- {
7465
- "kind": "Content",
7466
- "text": "boolean"
7467
- },
7468
- {
7469
- "kind": "Content",
7470
- "text": ";"
7471
- }
7472
- ],
7473
- "isStatic": false,
7474
- "returnTypeTokenRange": {
7475
- "startIndex": 1,
7476
- "endIndex": 2
7477
- },
7478
- "releaseTag": "Public",
7479
- "isProtected": false,
7480
- "overloadIndex": 1,
7481
- "parameters": [],
7482
- "isOptional": false,
7483
- "isAbstract": false,
7484
- "name": "enableDebugExceptions"
7485
- },
7486
7513
  {
7487
7514
  "kind": "Method",
7488
7515
  "canonicalReference": "@microsoft/applicationinsights-core-js!DiagnosticLogger#errorToConsole:member(1)",
@@ -7627,37 +7654,6 @@
7627
7654
  "isAbstract": false,
7628
7655
  "name": "logInternalMessage"
7629
7656
  },
7630
- {
7631
- "kind": "Method",
7632
- "canonicalReference": "@microsoft/applicationinsights-core-js!DiagnosticLogger#maxInternalMessageLimit:member(1)",
7633
- "docComment": "/**\n * The maximum number of internal messages allowed to be sent per page view\n */\n",
7634
- "excerptTokens": [
7635
- {
7636
- "kind": "Content",
7637
- "text": "maxInternalMessageLimit(): "
7638
- },
7639
- {
7640
- "kind": "Content",
7641
- "text": "number"
7642
- },
7643
- {
7644
- "kind": "Content",
7645
- "text": ";"
7646
- }
7647
- ],
7648
- "isStatic": false,
7649
- "returnTypeTokenRange": {
7650
- "startIndex": 1,
7651
- "endIndex": 2
7652
- },
7653
- "releaseTag": "Public",
7654
- "isProtected": false,
7655
- "overloadIndex": 1,
7656
- "parameters": [],
7657
- "isOptional": false,
7658
- "isAbstract": false,
7659
- "name": "maxInternalMessageLimit"
7660
- },
7661
7657
  {
7662
7658
  "kind": "Property",
7663
7659
  "canonicalReference": "@microsoft/applicationinsights-core-js!DiagnosticLogger#queue:member",
@@ -7724,37 +7720,6 @@
7724
7720
  "isAbstract": false,
7725
7721
  "name": "resetInternalMessageCount"
7726
7722
  },
7727
- {
7728
- "kind": "Method",
7729
- "canonicalReference": "@microsoft/applicationinsights-core-js!DiagnosticLogger#telemetryLoggingLevel:member(1)",
7730
- "docComment": "/**\n * 0: OFF 1: CRITICAL (default) 2: >= WARNING\n */\n",
7731
- "excerptTokens": [
7732
- {
7733
- "kind": "Content",
7734
- "text": "telemetryLoggingLevel(): "
7735
- },
7736
- {
7737
- "kind": "Content",
7738
- "text": "number"
7739
- },
7740
- {
7741
- "kind": "Content",
7742
- "text": ";"
7743
- }
7744
- ],
7745
- "isStatic": false,
7746
- "returnTypeTokenRange": {
7747
- "startIndex": 1,
7748
- "endIndex": 2
7749
- },
7750
- "releaseTag": "Public",
7751
- "isProtected": false,
7752
- "overloadIndex": 1,
7753
- "parameters": [],
7754
- "isOptional": false,
7755
- "isAbstract": false,
7756
- "name": "telemetryLoggingLevel"
7757
- },
7758
7723
  {
7759
7724
  "kind": "Method",
7760
7725
  "canonicalReference": "@microsoft/applicationinsights-core-js!DiagnosticLogger#throwInternal:member(1)",
@@ -8826,6 +8791,64 @@
8826
8791
  "parameters": [],
8827
8792
  "name": "findW3cTraceParent"
8828
8793
  },
8794
+ {
8795
+ "kind": "Function",
8796
+ "canonicalReference": "@microsoft/applicationinsights-core-js!forceDynamicConversion:function(1)",
8797
+ "docComment": "/**\n * This is the reverse case of {@link blockDynamicConversion} in that this will tag an object to indicate that it should always be converted into a dynamic trackable object even when not an object or array. So all properties of this object will become get / set accessor functions.\n *\n * When you have tagged a value as both {@link forceDynamicConversion} and blocked force will take precedence.\n *\n * If `value` is falsy (null / undefined / 0 / empty string etc) it will not be tagged and if there is an exception adding the property to the value (because its frozen etc) the exception will be swallowed.\n *\n * @param value - The object that should be tagged and converted if included into a dynamic configuration.\n *\n * @returns The original value\n */\n",
8798
+ "excerptTokens": [
8799
+ {
8800
+ "kind": "Content",
8801
+ "text": "export declare function forceDynamicConversion<T>(value: "
8802
+ },
8803
+ {
8804
+ "kind": "Content",
8805
+ "text": "T"
8806
+ },
8807
+ {
8808
+ "kind": "Content",
8809
+ "text": "): "
8810
+ },
8811
+ {
8812
+ "kind": "Content",
8813
+ "text": "T"
8814
+ },
8815
+ {
8816
+ "kind": "Content",
8817
+ "text": ";"
8818
+ }
8819
+ ],
8820
+ "fileUrlPath": "types/Config/DynamicSupport.d.ts",
8821
+ "returnTypeTokenRange": {
8822
+ "startIndex": 3,
8823
+ "endIndex": 4
8824
+ },
8825
+ "releaseTag": "Public",
8826
+ "overloadIndex": 1,
8827
+ "parameters": [
8828
+ {
8829
+ "parameterName": "value",
8830
+ "parameterTypeTokenRange": {
8831
+ "startIndex": 1,
8832
+ "endIndex": 2
8833
+ },
8834
+ "isOptional": false
8835
+ }
8836
+ ],
8837
+ "typeParameters": [
8838
+ {
8839
+ "typeParameterName": "T",
8840
+ "constraintTokenRange": {
8841
+ "startIndex": 0,
8842
+ "endIndex": 0
8843
+ },
8844
+ "defaultTypeTokenRange": {
8845
+ "startIndex": 0,
8846
+ "endIndex": 0
8847
+ }
8848
+ }
8849
+ ],
8850
+ "name": "forceDynamicConversion"
8851
+ },
8829
8852
  {
8830
8853
  "kind": "Function",
8831
8854
  "canonicalReference": "@microsoft/applicationinsights-core-js!formatTraceParent:function(1)",
@@ -12554,12 +12577,12 @@
12554
12577
  },
12555
12578
  {
12556
12579
  "kind": "PropertySignature",
12557
- "canonicalReference": "@microsoft/applicationinsights-core-js!IConfiguration#enableDebugExceptions:member",
12580
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IConfiguration#enableDebug:member",
12558
12581
  "docComment": "/**\n * If enabled, uncaught exceptions will be thrown to help with debugging\n */\n",
12559
12582
  "excerptTokens": [
12560
12583
  {
12561
12584
  "kind": "Content",
12562
- "text": "enableDebugExceptions?: "
12585
+ "text": "enableDebug?: "
12563
12586
  },
12564
12587
  {
12565
12588
  "kind": "Content",
@@ -12573,7 +12596,7 @@
12573
12596
  "isReadonly": false,
12574
12597
  "isOptional": true,
12575
12598
  "releaseTag": "Public",
12576
- "name": "enableDebugExceptions",
12599
+ "name": "enableDebug",
12577
12600
  "propertyTypeTokenRange": {
12578
12601
  "startIndex": 1,
12579
12602
  "endIndex": 2
@@ -13843,33 +13866,6 @@
13843
13866
  "endIndex": 2
13844
13867
  }
13845
13868
  },
13846
- {
13847
- "kind": "PropertySignature",
13848
- "canonicalReference": "@microsoft/applicationinsights-core-js!IDiagnosticLogger#enableDebugExceptions:member",
13849
- "docComment": "/**\n * When this is true the SDK will throw exceptions to aid in debugging.\n */\n",
13850
- "excerptTokens": [
13851
- {
13852
- "kind": "Content",
13853
- "text": "enableDebugExceptions: "
13854
- },
13855
- {
13856
- "kind": "Content",
13857
- "text": "() => boolean"
13858
- },
13859
- {
13860
- "kind": "Content",
13861
- "text": ";"
13862
- }
13863
- ],
13864
- "isReadonly": false,
13865
- "isOptional": false,
13866
- "releaseTag": "Public",
13867
- "name": "enableDebugExceptions",
13868
- "propertyTypeTokenRange": {
13869
- "startIndex": 1,
13870
- "endIndex": 2
13871
- }
13872
- },
13873
13869
  {
13874
13870
  "kind": "MethodSignature",
13875
13871
  "canonicalReference": "@microsoft/applicationinsights-core-js!IDiagnosticLogger#errorToConsole:member(1)",
@@ -13978,33 +13974,6 @@
13978
13974
  ],
13979
13975
  "name": "logInternalMessage"
13980
13976
  },
13981
- {
13982
- "kind": "PropertySignature",
13983
- "canonicalReference": "@microsoft/applicationinsights-core-js!IDiagnosticLogger#maxInternalMessageLimit:member",
13984
- "docComment": "/**\n * The maximum number of internal messages allowed to be sent per page view\n */\n",
13985
- "excerptTokens": [
13986
- {
13987
- "kind": "Content",
13988
- "text": "maxInternalMessageLimit: "
13989
- },
13990
- {
13991
- "kind": "Content",
13992
- "text": "() => number"
13993
- },
13994
- {
13995
- "kind": "Content",
13996
- "text": ";"
13997
- }
13998
- ],
13999
- "isReadonly": false,
14000
- "isOptional": false,
14001
- "releaseTag": "Public",
14002
- "name": "maxInternalMessageLimit",
14003
- "propertyTypeTokenRange": {
14004
- "startIndex": 1,
14005
- "endIndex": 2
14006
- }
14007
- },
14008
13977
  {
14009
13978
  "kind": "PropertySignature",
14010
13979
  "canonicalReference": "@microsoft/applicationinsights-core-js!IDiagnosticLogger#queue:member",
@@ -14065,33 +14034,6 @@
14065
14034
  "parameters": [],
14066
14035
  "name": "resetInternalMessageCount"
14067
14036
  },
14068
- {
14069
- "kind": "PropertySignature",
14070
- "canonicalReference": "@microsoft/applicationinsights-core-js!IDiagnosticLogger#telemetryLoggingLevel:member",
14071
- "docComment": "/**\n * 0: OFF (default) 1: CRITICAL 2: WARNING\n */\n",
14072
- "excerptTokens": [
14073
- {
14074
- "kind": "Content",
14075
- "text": "telemetryLoggingLevel: "
14076
- },
14077
- {
14078
- "kind": "Content",
14079
- "text": "() => number"
14080
- },
14081
- {
14082
- "kind": "Content",
14083
- "text": ";"
14084
- }
14085
- ],
14086
- "isReadonly": false,
14087
- "isOptional": false,
14088
- "releaseTag": "Public",
14089
- "name": "telemetryLoggingLevel",
14090
- "propertyTypeTokenRange": {
14091
- "startIndex": 1,
14092
- "endIndex": 2
14093
- }
14094
- },
14095
14037
  {
14096
14038
  "kind": "MethodSignature",
14097
14039
  "canonicalReference": "@microsoft/applicationinsights-core-js!IDiagnosticLogger#throwInternal:member(1)",
@@ -171,6 +171,9 @@ export abstract class BaseTelemetryPlugin implements ITelemetryPlugin {
171
171
  version?: string;
172
172
  }
173
173
 
174
+ // @public
175
+ export function blockDynamicConversion<T>(value: T): T;
176
+
174
177
  // @public
175
178
  export function cfgDfBoolean<T, C = IConfiguration>(defaultValue?: boolean, fallBackName?: keyof T | keyof C | Array<keyof T | keyof C>): IConfigDefaultCheck<T, boolean, C>;
176
179
 
@@ -234,15 +237,12 @@ export function detachEvent(obj: any, eventNameWithoutOn: string, handlerRef: an
234
237
  export class DiagnosticLogger implements IDiagnosticLogger {
235
238
  constructor(config?: IConfiguration);
236
239
  consoleLoggingLevel(): number;
237
- enableDebugExceptions(): boolean;
238
240
  errorToConsole(message: string): void;
239
241
  // (undocumented)
240
242
  identifier: string;
241
243
  logInternalMessage(severity: LoggingSeverity, message: _InternalLogMessage): void;
242
- maxInternalMessageLimit(): number;
243
244
  queue: _InternalLogMessage[];
244
245
  resetInternalMessageCount(): void;
245
- telemetryLoggingLevel(): number;
246
246
  throwInternal(severity: LoggingSeverity, msgId: _InternalMessageId, msg: string, properties?: Object, isUserAct?: boolean): void;
247
247
  // (undocumented)
248
248
  update(updateState: ITelemetryUpdateState): void;
@@ -469,6 +469,9 @@ export function findNamedServerTiming(name: string): any;
469
469
  // @public
470
470
  export function findW3cTraceParent(): ITraceParent;
471
471
 
472
+ // @public
473
+ export function forceDynamicConversion<T>(value: T): T;
474
+
472
475
  // @public
473
476
  export function formatTraceParent(value: ITraceParent): string;
474
477
 
@@ -644,7 +647,7 @@ export interface IConfiguration {
644
647
  disableInstrumentationKeyValidation?: boolean;
645
648
  disablePageShowEvents?: string[];
646
649
  disablePageUnloadEvents?: string[];
647
- enableDebugExceptions?: boolean;
650
+ enableDebug?: boolean;
648
651
  enablePerfMgr?: boolean;
649
652
  enableWParam?: boolean;
650
653
  endpointUrl?: string;
@@ -710,13 +713,10 @@ export interface IDbgExtension {
710
713
  // @public (undocumented)
711
714
  export interface IDiagnosticLogger {
712
715
  consoleLoggingLevel: () => number;
713
- enableDebugExceptions: () => boolean;
714
716
  errorToConsole?(message: string): void;
715
717
  logInternalMessage?(severity: LoggingSeverity, message: _InternalLogMessage): void;
716
- maxInternalMessageLimit: () => number;
717
718
  queue: _InternalLogMessage[];
718
719
  resetInternalMessageCount(): void;
719
- telemetryLoggingLevel: () => number;
720
720
  throwInternal(severity: LoggingSeverity, msgId: _InternalMessageId, msg: string, properties?: Object, isUserAct?: boolean): void;
721
721
  update?(updateState: ITelemetryUpdateState): void;
722
722
  warnToConsole(message: string): void;
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Microsoft Application Insights Core Javascript SDK, 3.0.0-beta.2303-09
2
+ * Microsoft Application Insights Core Javascript SDK, 3.0.0-beta.2303-11
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  *
5
5
  * Microsoft Application Insights Team
@@ -389,6 +389,49 @@ declare namespace ApplicationInsights {
389
389
  protected _addHook(hooks: IUnloadHook | IUnloadHook[] | Iterator<IUnloadHook> | ILegacyUnloadHook | ILegacyUnloadHook[] | Iterator<ILegacyUnloadHook>): void;
390
390
  }
391
391
 
392
+ /**
393
+ * Mark the provided value so that if it's included into the configuration it will NOT have
394
+ * its properties converted into a dynamic (reactive) object. If the object is not a plain object
395
+ * or an array (ie. a class) this function has not affect as only Objects and Arrays are converted
396
+ * into dynamic objects in the dynamic configuration.
397
+ *
398
+ * When you have tagged a value as both {@link forceDynamicConversion} and blocked force will take precedence.
399
+ *
400
+ * You should only need to use this function, if you are creating dynamic "classes" from objects
401
+ * which confirm to the require interface. A common case for this is during unit testing where it's
402
+ * easier to create mock extensions.
403
+ *
404
+ * If `value` is falsy (null / undefined / 0 / empty string etc) it will not be tagged and
405
+ * if there is an exception adding the property to the value (because its frozen etc) the
406
+ * exception will be swallowed
407
+ *
408
+ * @example
409
+ * ```ts
410
+ * // This is a valid "extension", but it is technically an object
411
+ * // So when included in the config.extensions it WILL be cloned and then
412
+ * // converted into a dynamic object, where all of its properties will become
413
+ * // get/set object properties and will be tracked. While this WILL still
414
+ * // function, when attempt to use a mocking framework on top of this the
415
+ * // functions are now technically get accessors which return a function
416
+ * // and this can cause some mocking frameworks to fail.
417
+ * let mockChannel = {
418
+ * pause: () => { },
419
+ * resume: () => { },
420
+ * teardown: () => { },
421
+ * flush: (async: any, callBack: any) => { },
422
+ * processTelemetry: (env: any) => { },
423
+ * setNextPlugin: (next: any) => { },
424
+ * initialize: (config: any, core: any, extensions: any) => { },
425
+ * identifier: "testChannel",
426
+ * priority: 1003
427
+ * };
428
+ * ```
429
+ * @param value - The object that you want to block from being converted into a
430
+ * trackable dynamic object
431
+ * @returns The original value
432
+ */
433
+ function blockDynamicConversion<T>(value: T): T;
434
+
392
435
  /**
393
436
  * Helper which returns an IConfigDefaultCheck instance that will validate and convert the user
394
437
  * provided value to a boolean from a string or boolean value
@@ -533,26 +576,12 @@ declare namespace ApplicationInsights {
533
576
  */
534
577
  queue: _InternalLogMessage[];
535
578
  constructor(config?: IConfiguration);
536
- /**
537
- * When this is true the SDK will throw exceptions to aid in debugging.
538
- */
539
- enableDebugExceptions(): boolean;
540
579
  /**
541
580
  * 0: OFF (default)
542
581
  * 1: CRITICAL
543
582
  * 2: >= WARNING
544
583
  */
545
584
  consoleLoggingLevel(): number;
546
- /**
547
- * 0: OFF
548
- * 1: CRITICAL (default)
549
- * 2: >= WARNING
550
- */
551
- telemetryLoggingLevel(): number;
552
- /**
553
- * The maximum number of internal messages allowed to be sent per page view
554
- */
555
- maxInternalMessageLimit(): number;
556
585
  /**
557
586
  * This method will throw exceptions in debug mode or attempt to log the error as a console warning.
558
587
  * @param severity - {LoggingSeverity} - The severity of the log message
@@ -781,6 +810,23 @@ declare namespace ApplicationInsights {
781
810
  */
782
811
  function findW3cTraceParent(): ITraceParent;
783
812
 
813
+ /**
814
+ * This is the reverse case of {@link blockDynamicConversion} in that this will tag an
815
+ * object to indicate that it should always be converted into a dynamic trackable object
816
+ * even when not an object or array. So all properties of this object will become
817
+ * get / set accessor functions.
818
+ *
819
+ * When you have tagged a value as both {@link forceDynamicConversion} and blocked force will take precedence.
820
+ *
821
+ * If `value` is falsy (null / undefined / 0 / empty string etc) it will not be tagged and
822
+ * if there is an exception adding the property to the value (because its frozen etc) the
823
+ * exception will be swallowed.
824
+ * @param value - The object that should be tagged and converted if included into a dynamic
825
+ * configuration.
826
+ * @returns The original value
827
+ */
828
+ function forceDynamicConversion<T>(value: T): T;
829
+
784
830
  /**
785
831
  * Format the ITraceParent value as a string using the supported and know version formats.
786
832
  * So even if the passed traceParent is a later version the string value returned from this
@@ -1249,7 +1295,7 @@ declare namespace ApplicationInsights {
1249
1295
  /**
1250
1296
  * If enabled, uncaught exceptions will be thrown to help with debugging
1251
1297
  */
1252
- enableDebugExceptions?: boolean;
1298
+ enableDebug?: boolean;
1253
1299
  /**
1254
1300
  * Endpoint where telemetry data is sent
1255
1301
  */
@@ -1460,26 +1506,12 @@ declare namespace ApplicationInsights {
1460
1506
  }
1461
1507
 
1462
1508
  interface IDiagnosticLogger {
1463
- /**
1464
- * When this is true the SDK will throw exceptions to aid in debugging.
1465
- */
1466
- enableDebugExceptions: () => boolean;
1467
1509
  /**
1468
1510
  * 0: OFF
1469
1511
  * 1: only critical (default)
1470
1512
  * 2: critical + info
1471
1513
  */
1472
1514
  consoleLoggingLevel: () => number;
1473
- /**
1474
- * 0: OFF (default)
1475
- * 1: CRITICAL
1476
- * 2: WARNING
1477
- */
1478
- telemetryLoggingLevel: () => number;
1479
- /**
1480
- * The maximum number of internal messages allowed to be sent per page view
1481
- */
1482
- maxInternalMessageLimit: () => number;
1483
1515
  /**
1484
1516
  * The internal logging queue
1485
1517
  */