@microsoft/applicationinsights-core-js 3.0.0-beta.2301-14 → 3.0.0-beta.2301-17

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 (103) hide show
  1. package/browser/applicationinsights-core-js.integrity.json +9 -9
  2. package/browser/applicationinsights-core-js.js +109 -68
  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 +358 -27
  7. package/dist/applicationinsights-core-js.api.md +18 -5
  8. package/dist/applicationinsights-core-js.d.ts +53 -6
  9. package/dist/applicationinsights-core-js.js +109 -68
  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 +53 -6
  14. package/dist-esm/Config/ConfigDefaults.js +1 -1
  15. package/dist-esm/Config/DynamicConfig.js +11 -1
  16. package/dist-esm/Config/DynamicConfig.js.map +1 -1
  17. package/dist-esm/Config/DynamicProperty.js +48 -21
  18. package/dist-esm/Config/DynamicProperty.js.map +1 -1
  19. package/dist-esm/Config/DynamicState.js +18 -12
  20. package/dist-esm/Config/DynamicState.js.map +1 -1
  21. package/dist-esm/Config/DynamicSupport.js +1 -1
  22. package/dist-esm/Config/IConfigDefaults.js +1 -1
  23. package/dist-esm/Config/IDynamicConfigHandler.js +1 -1
  24. package/dist-esm/Config/IDynamicPropertyHandler.js +1 -1
  25. package/dist-esm/Config/IDynamicWatcher.js +1 -1
  26. package/dist-esm/Config/_IDynamicConfigHandlerState.js +1 -1
  27. package/dist-esm/JavaScriptSDK/AggregationError.js +1 -1
  28. package/dist-esm/JavaScriptSDK/AppInsightsCore.js +15 -20
  29. package/dist-esm/JavaScriptSDK/AppInsightsCore.js.map +1 -1
  30. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js +10 -24
  31. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js.map +1 -1
  32. package/dist-esm/JavaScriptSDK/Constants.js +1 -1
  33. package/dist-esm/JavaScriptSDK/CookieMgr.js +1 -1
  34. package/dist-esm/JavaScriptSDK/CoreUtils.js +1 -1
  35. package/dist-esm/JavaScriptSDK/DataCacheHelper.js +2 -2
  36. package/dist-esm/JavaScriptSDK/DataCacheHelper.js.map +1 -1
  37. package/dist-esm/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  38. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js +1 -1
  39. package/dist-esm/JavaScriptSDK/EnvUtils.js +1 -1
  40. package/dist-esm/JavaScriptSDK/EventHelpers.js +1 -1
  41. package/dist-esm/JavaScriptSDK/HelperFuncs.js +3 -3
  42. package/dist-esm/JavaScriptSDK/HelperFuncs.js.map +1 -1
  43. package/dist-esm/JavaScriptSDK/InstrumentHooks.js +1 -1
  44. package/dist-esm/JavaScriptSDK/InternalConstants.js +1 -1
  45. package/dist-esm/JavaScriptSDK/NotificationManager.js +1 -1
  46. package/dist-esm/JavaScriptSDK/PerfManager.js +1 -1
  47. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js +11 -9
  48. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js.map +1 -1
  49. package/dist-esm/JavaScriptSDK/RandomHelper.js +1 -1
  50. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js +3 -3
  51. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js.map +1 -1
  52. package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js +1 -1
  53. package/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  54. package/dist-esm/JavaScriptSDK/UnloadHookContainer.js +40 -0
  55. package/dist-esm/JavaScriptSDK/UnloadHookContainer.js.map +1 -0
  56. package/dist-esm/JavaScriptSDK/W3cTraceParent.js +1 -1
  57. package/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -1
  58. package/dist-esm/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  59. package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  60. package/dist-esm/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  61. package/dist-esm/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  62. package/dist-esm/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  63. package/dist-esm/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  64. package/dist-esm/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  65. package/dist-esm/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  66. package/dist-esm/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  67. package/dist-esm/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  68. package/dist-esm/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  69. package/dist-esm/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  70. package/dist-esm/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  71. package/dist-esm/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  72. package/dist-esm/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  73. package/dist-esm/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  74. package/dist-esm/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  75. package/dist-esm/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  76. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  77. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  78. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  79. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  80. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  81. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  82. package/dist-esm/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  83. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadHook.js +1 -1
  84. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
  85. package/dist-esm/__DynamicConstants.js +1 -2
  86. package/dist-esm/__DynamicConstants.js.map +1 -1
  87. package/dist-esm/applicationinsights-core-js.js +2 -1
  88. package/dist-esm/applicationinsights-core-js.js.map +1 -1
  89. package/package.json +1 -1
  90. package/src/JavaScriptSDK/AppInsightsCore.ts +16 -20
  91. package/src/JavaScriptSDK/BaseTelemetryPlugin.ts +16 -26
  92. package/src/JavaScriptSDK/ProcessTelemetryContext.ts +10 -7
  93. package/src/JavaScriptSDK/UnloadHandlerContainer.ts +1 -1
  94. package/src/JavaScriptSDK/UnloadHookContainer.ts +52 -0
  95. package/types/Config/DynamicProperty.d.ts +1 -1
  96. package/types/Config/IDynamicConfigHandler.d.ts +14 -0
  97. package/types/Config/IDynamicWatcher.d.ts +14 -0
  98. package/types/Config/_IDynamicConfigHandlerState.d.ts +1 -0
  99. package/types/JavaScriptSDK/BaseTelemetryPlugin.d.ts +8 -1
  100. package/types/JavaScriptSDK/UnloadHandlerContainer.d.ts +1 -4
  101. package/types/JavaScriptSDK/UnloadHookContainer.d.ts +16 -0
  102. package/types/__DynamicConstants.d.ts +0 -1
  103. package/types/applicationinsights-core-js.d.ts +1 -0
@@ -5105,6 +5105,24 @@
5105
5105
  "kind": "Content",
5106
5106
  "text": "[] | "
5107
5107
  },
5108
+ {
5109
+ "kind": "Reference",
5110
+ "text": "Iterator",
5111
+ "canonicalReference": "!Iterator:interface"
5112
+ },
5113
+ {
5114
+ "kind": "Content",
5115
+ "text": "<"
5116
+ },
5117
+ {
5118
+ "kind": "Reference",
5119
+ "text": "IUnloadHook",
5120
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IUnloadHook:interface"
5121
+ },
5122
+ {
5123
+ "kind": "Content",
5124
+ "text": "> | "
5125
+ },
5108
5126
  {
5109
5127
  "kind": "Reference",
5110
5128
  "text": "ILegacyUnloadHook",
@@ -5121,7 +5139,25 @@
5121
5139
  },
5122
5140
  {
5123
5141
  "kind": "Content",
5124
- "text": "[]"
5142
+ "text": "[] | "
5143
+ },
5144
+ {
5145
+ "kind": "Reference",
5146
+ "text": "Iterator",
5147
+ "canonicalReference": "!Iterator:interface"
5148
+ },
5149
+ {
5150
+ "kind": "Content",
5151
+ "text": "<"
5152
+ },
5153
+ {
5154
+ "kind": "Reference",
5155
+ "text": "ILegacyUnloadHook",
5156
+ "canonicalReference": "@microsoft/applicationinsights-core-js!ILegacyUnloadHook:interface"
5157
+ },
5158
+ {
5159
+ "kind": "Content",
5160
+ "text": ">"
5125
5161
  },
5126
5162
  {
5127
5163
  "kind": "Content",
@@ -5138,8 +5174,8 @@
5138
5174
  ],
5139
5175
  "isStatic": false,
5140
5176
  "returnTypeTokenRange": {
5141
- "startIndex": 10,
5142
- "endIndex": 11
5177
+ "startIndex": 18,
5178
+ "endIndex": 19
5143
5179
  },
5144
5180
  "releaseTag": "Public",
5145
5181
  "isProtected": true,
@@ -5149,7 +5185,7 @@
5149
5185
  "parameterName": "hooks",
5150
5186
  "parameterTypeTokenRange": {
5151
5187
  "startIndex": 1,
5152
- "endIndex": 9
5188
+ "endIndex": 17
5153
5189
  },
5154
5190
  "isOptional": false
5155
5191
  }
@@ -5347,6 +5383,37 @@
5347
5383
  "isProtected": true,
5348
5384
  "isAbstract": false
5349
5385
  },
5386
+ {
5387
+ "kind": "Property",
5388
+ "canonicalReference": "@microsoft/applicationinsights-core-js!BaseTelemetryPlugin#_unloadHooks:member",
5389
+ "docComment": "/**\n * Exposes the underlying unload hook container instance for this extension to allow it to be passed down to any sub components of the class. This should NEVER be exposed or called publically as it's scope is for internal use by BaseTelemetryPlugin and any derived class (which is why it's scoped as protected)\n */\n",
5390
+ "excerptTokens": [
5391
+ {
5392
+ "kind": "Content",
5393
+ "text": "protected readonly _unloadHooks: "
5394
+ },
5395
+ {
5396
+ "kind": "Reference",
5397
+ "text": "IUnloadHookContainer",
5398
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IUnloadHookContainer:interface"
5399
+ },
5400
+ {
5401
+ "kind": "Content",
5402
+ "text": ";"
5403
+ }
5404
+ ],
5405
+ "isReadonly": true,
5406
+ "isOptional": false,
5407
+ "releaseTag": "Public",
5408
+ "name": "_unloadHooks",
5409
+ "propertyTypeTokenRange": {
5410
+ "startIndex": 1,
5411
+ "endIndex": 2
5412
+ },
5413
+ "isStatic": false,
5414
+ "isProtected": true,
5415
+ "isAbstract": false
5416
+ },
5350
5417
  {
5351
5418
  "kind": "Constructor",
5352
5419
  "canonicalReference": "@microsoft/applicationinsights-core-js!BaseTelemetryPlugin:constructor(1)",
@@ -6539,51 +6606,54 @@
6539
6606
  "kind": "Content",
6540
6607
  "text": "export declare function createUnloadHandlerContainer(): "
6541
6608
  },
6542
- {
6543
- "kind": "Content",
6544
- "text": "{\n add: (handler: "
6545
- },
6546
6609
  {
6547
6610
  "kind": "Reference",
6548
- "text": "UnloadHandler",
6549
- "canonicalReference": "@microsoft/applicationinsights-core-js!UnloadHandler:type"
6611
+ "text": "IUnloadHandlerContainer",
6612
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IUnloadHandlerContainer:interface"
6550
6613
  },
6551
6614
  {
6552
6615
  "kind": "Content",
6553
- "text": ") => void;\n run: (unloadCtx: "
6554
- },
6555
- {
6556
- "kind": "Reference",
6557
- "text": "IProcessTelemetryUnloadContext",
6558
- "canonicalReference": "@microsoft/applicationinsights-core-js!IProcessTelemetryUnloadContext:interface"
6559
- },
6616
+ "text": ";"
6617
+ }
6618
+ ],
6619
+ "fileUrlPath": "types/JavaScriptSDK/UnloadHandlerContainer.d.ts",
6620
+ "returnTypeTokenRange": {
6621
+ "startIndex": 1,
6622
+ "endIndex": 2
6623
+ },
6624
+ "releaseTag": "Public",
6625
+ "overloadIndex": 1,
6626
+ "parameters": [],
6627
+ "name": "createUnloadHandlerContainer"
6628
+ },
6629
+ {
6630
+ "kind": "Function",
6631
+ "canonicalReference": "@microsoft/applicationinsights-core-js!createUnloadHookContainer:function(1)",
6632
+ "docComment": "/**\n * Create a IUnloadHookContainer which can be used to remember unload hook functions to be executed during the component unloading process.\n *\n * @returns A new IUnloadHookContainer instance\n */\n",
6633
+ "excerptTokens": [
6560
6634
  {
6561
6635
  "kind": "Content",
6562
- "text": ", unloadState: "
6636
+ "text": "export declare function createUnloadHookContainer(): "
6563
6637
  },
6564
6638
  {
6565
6639
  "kind": "Reference",
6566
- "text": "ITelemetryUnloadState",
6567
- "canonicalReference": "@microsoft/applicationinsights-core-js!ITelemetryUnloadState:interface"
6568
- },
6569
- {
6570
- "kind": "Content",
6571
- "text": ") => void;\n}"
6640
+ "text": "IUnloadHookContainer",
6641
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IUnloadHookContainer:interface"
6572
6642
  },
6573
6643
  {
6574
6644
  "kind": "Content",
6575
6645
  "text": ";"
6576
6646
  }
6577
6647
  ],
6578
- "fileUrlPath": "types/JavaScriptSDK/UnloadHandlerContainer.d.ts",
6648
+ "fileUrlPath": "types/JavaScriptSDK/UnloadHookContainer.d.ts",
6579
6649
  "returnTypeTokenRange": {
6580
6650
  "startIndex": 1,
6581
- "endIndex": 8
6651
+ "endIndex": 2
6582
6652
  },
6583
6653
  "releaseTag": "Public",
6584
6654
  "overloadIndex": 1,
6585
6655
  "parameters": [],
6586
- "name": "createUnloadHandlerContainer"
6656
+ "name": "createUnloadHookContainer"
6587
6657
  },
6588
6658
  {
6589
6659
  "kind": "Variable",
@@ -13918,6 +13988,60 @@
13918
13988
  "endIndex": 2
13919
13989
  }
13920
13990
  },
13991
+ {
13992
+ "kind": "PropertySignature",
13993
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IDynamicConfigHandler#rdOnly:member",
13994
+ "docComment": "/**\n * Set this named property of the target as read-only, which will block this single named property from ever being changed for the target instance. This does NOT freeze or seal the instance, it just stops the direct re-assignment of the named property, if the value is a non-primitive (ie. an object or array) it's properties will still be mutable.\n *\n * @returns The referenced properties current value\n */\n",
13995
+ "excerptTokens": [
13996
+ {
13997
+ "kind": "Content",
13998
+ "text": "rdOnly: "
13999
+ },
14000
+ {
14001
+ "kind": "Content",
14002
+ "text": "<C, V = any>(target: C, name: string) => V"
14003
+ },
14004
+ {
14005
+ "kind": "Content",
14006
+ "text": ";"
14007
+ }
14008
+ ],
14009
+ "isReadonly": false,
14010
+ "isOptional": false,
14011
+ "releaseTag": "Public",
14012
+ "name": "rdOnly",
14013
+ "propertyTypeTokenRange": {
14014
+ "startIndex": 1,
14015
+ "endIndex": 2
14016
+ }
14017
+ },
14018
+ {
14019
+ "kind": "PropertySignature",
14020
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IDynamicConfigHandler#ref:member",
14021
+ "docComment": "/**\n * Set this named property of the target as referenced, which will cause any object or array instances to be updated in-place rather than being entirely replaced. All other values will continue to be replaced.\n *\n * @returns The referenced properties current value\n */\n",
14022
+ "excerptTokens": [
14023
+ {
14024
+ "kind": "Content",
14025
+ "text": "ref: "
14026
+ },
14027
+ {
14028
+ "kind": "Content",
14029
+ "text": "<C, V = any>(target: C, name: string) => V"
14030
+ },
14031
+ {
14032
+ "kind": "Content",
14033
+ "text": ";"
14034
+ }
14035
+ ],
14036
+ "isReadonly": false,
14037
+ "isOptional": false,
14038
+ "releaseTag": "Public",
14039
+ "name": "ref",
14040
+ "propertyTypeTokenRange": {
14041
+ "startIndex": 1,
14042
+ "endIndex": 2
14043
+ }
14044
+ },
13921
14045
  {
13922
14046
  "kind": "PropertySignature",
13923
14047
  "canonicalReference": "@microsoft/applicationinsights-core-js!IDynamicConfigHandler#set:member",
@@ -19157,6 +19281,159 @@
19157
19281
  ],
19158
19282
  "extendsTokenRanges": []
19159
19283
  },
19284
+ {
19285
+ "kind": "Interface",
19286
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IUnloadHookContainer:interface",
19287
+ "docComment": "/**\n * Interface which identifiesAdd this hook so that it is automatically removed during unloading\n *\n * @param hooks - The single hook or an array of IInstrumentHook objects\n */\n",
19288
+ "excerptTokens": [
19289
+ {
19290
+ "kind": "Content",
19291
+ "text": "export interface IUnloadHookContainer "
19292
+ }
19293
+ ],
19294
+ "fileUrlPath": "types/JavaScriptSDK/UnloadHookContainer.d.ts",
19295
+ "releaseTag": "Public",
19296
+ "name": "IUnloadHookContainer",
19297
+ "preserveMemberOrder": false,
19298
+ "members": [
19299
+ {
19300
+ "kind": "PropertySignature",
19301
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IUnloadHookContainer#add:member",
19302
+ "docComment": "",
19303
+ "excerptTokens": [
19304
+ {
19305
+ "kind": "Content",
19306
+ "text": "add: "
19307
+ },
19308
+ {
19309
+ "kind": "Content",
19310
+ "text": "(hooks: "
19311
+ },
19312
+ {
19313
+ "kind": "Reference",
19314
+ "text": "IUnloadHook",
19315
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IUnloadHook:interface"
19316
+ },
19317
+ {
19318
+ "kind": "Content",
19319
+ "text": " | "
19320
+ },
19321
+ {
19322
+ "kind": "Reference",
19323
+ "text": "IUnloadHook",
19324
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IUnloadHook:interface"
19325
+ },
19326
+ {
19327
+ "kind": "Content",
19328
+ "text": "[] | "
19329
+ },
19330
+ {
19331
+ "kind": "Reference",
19332
+ "text": "Iterator",
19333
+ "canonicalReference": "!Iterator:interface"
19334
+ },
19335
+ {
19336
+ "kind": "Content",
19337
+ "text": "<"
19338
+ },
19339
+ {
19340
+ "kind": "Reference",
19341
+ "text": "IUnloadHook",
19342
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IUnloadHook:interface"
19343
+ },
19344
+ {
19345
+ "kind": "Content",
19346
+ "text": "> | "
19347
+ },
19348
+ {
19349
+ "kind": "Reference",
19350
+ "text": "ILegacyUnloadHook",
19351
+ "canonicalReference": "@microsoft/applicationinsights-core-js!ILegacyUnloadHook:interface"
19352
+ },
19353
+ {
19354
+ "kind": "Content",
19355
+ "text": " | "
19356
+ },
19357
+ {
19358
+ "kind": "Reference",
19359
+ "text": "ILegacyUnloadHook",
19360
+ "canonicalReference": "@microsoft/applicationinsights-core-js!ILegacyUnloadHook:interface"
19361
+ },
19362
+ {
19363
+ "kind": "Content",
19364
+ "text": "[] | "
19365
+ },
19366
+ {
19367
+ "kind": "Reference",
19368
+ "text": "Iterator",
19369
+ "canonicalReference": "!Iterator:interface"
19370
+ },
19371
+ {
19372
+ "kind": "Content",
19373
+ "text": "<"
19374
+ },
19375
+ {
19376
+ "kind": "Reference",
19377
+ "text": "ILegacyUnloadHook",
19378
+ "canonicalReference": "@microsoft/applicationinsights-core-js!ILegacyUnloadHook:interface"
19379
+ },
19380
+ {
19381
+ "kind": "Content",
19382
+ "text": ">) => void"
19383
+ },
19384
+ {
19385
+ "kind": "Content",
19386
+ "text": ";"
19387
+ }
19388
+ ],
19389
+ "isReadonly": false,
19390
+ "isOptional": false,
19391
+ "releaseTag": "Public",
19392
+ "name": "add",
19393
+ "propertyTypeTokenRange": {
19394
+ "startIndex": 1,
19395
+ "endIndex": 18
19396
+ }
19397
+ },
19398
+ {
19399
+ "kind": "PropertySignature",
19400
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IUnloadHookContainer#run:member",
19401
+ "docComment": "",
19402
+ "excerptTokens": [
19403
+ {
19404
+ "kind": "Content",
19405
+ "text": "run: "
19406
+ },
19407
+ {
19408
+ "kind": "Content",
19409
+ "text": "(logger?: "
19410
+ },
19411
+ {
19412
+ "kind": "Reference",
19413
+ "text": "IDiagnosticLogger",
19414
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IDiagnosticLogger:interface"
19415
+ },
19416
+ {
19417
+ "kind": "Content",
19418
+ "text": ") => void"
19419
+ },
19420
+ {
19421
+ "kind": "Content",
19422
+ "text": ";"
19423
+ }
19424
+ ],
19425
+ "isReadonly": false,
19426
+ "isOptional": false,
19427
+ "releaseTag": "Public",
19428
+ "name": "run",
19429
+ "propertyTypeTokenRange": {
19430
+ "startIndex": 1,
19431
+ "endIndex": 4
19432
+ }
19433
+ }
19434
+ ],
19435
+ "extendsTokenRanges": []
19436
+ },
19160
19437
  {
19161
19438
  "kind": "Interface",
19162
19439
  "canonicalReference": "@microsoft/applicationinsights-core-js!IWatchDetails:interface",
@@ -19221,6 +19498,60 @@
19221
19498
  "endIndex": 2
19222
19499
  }
19223
19500
  },
19501
+ {
19502
+ "kind": "PropertySignature",
19503
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IWatchDetails#rdOnly:member",
19504
+ "docComment": "/**\n * Set this named property of the target as read-only, which will block this single named property from ever being changed for the target instance. This does NOT freeze or seal the instance, it just stops the direct re-assignment of the named property, if the value is a non-primitive (ie. an object or array) it's properties will still be mutable.\n *\n * @returns The referenced properties current value\n */\n",
19505
+ "excerptTokens": [
19506
+ {
19507
+ "kind": "Content",
19508
+ "text": "rdOnly: "
19509
+ },
19510
+ {
19511
+ "kind": "Content",
19512
+ "text": "<C, V = any>(target: C, name: string) => V"
19513
+ },
19514
+ {
19515
+ "kind": "Content",
19516
+ "text": ";"
19517
+ }
19518
+ ],
19519
+ "isReadonly": false,
19520
+ "isOptional": false,
19521
+ "releaseTag": "Public",
19522
+ "name": "rdOnly",
19523
+ "propertyTypeTokenRange": {
19524
+ "startIndex": 1,
19525
+ "endIndex": 2
19526
+ }
19527
+ },
19528
+ {
19529
+ "kind": "PropertySignature",
19530
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IWatchDetails#ref:member",
19531
+ "docComment": "/**\n * Set this named property of the target as referenced, which will cause any object or array instance to be updated in-place rather than being entirely replaced. All other values will continue to be replaced.\n *\n * @returns The referenced properties current value\n */\n",
19532
+ "excerptTokens": [
19533
+ {
19534
+ "kind": "Content",
19535
+ "text": "ref: "
19536
+ },
19537
+ {
19538
+ "kind": "Content",
19539
+ "text": "<C, V = any>(target: C, name: string) => V"
19540
+ },
19541
+ {
19542
+ "kind": "Content",
19543
+ "text": ";"
19544
+ }
19545
+ ],
19546
+ "isReadonly": false,
19547
+ "isOptional": false,
19548
+ "releaseTag": "Public",
19549
+ "name": "ref",
19550
+ "propertyTypeTokenRange": {
19551
+ "startIndex": 1,
19552
+ "endIndex": 2
19553
+ }
19554
+ },
19224
19555
  {
19225
19556
  "kind": "PropertySignature",
19226
19557
  "canonicalReference": "@microsoft/applicationinsights-core-js!IWatchDetails#set:member",
@@ -147,7 +147,7 @@ export function attachEvent(obj: any, eventNameWithoutOn: string, handlerRef: an
147
147
  // @public
148
148
  export abstract class BaseTelemetryPlugin implements ITelemetryPlugin {
149
149
  constructor();
150
- protected _addHook(hooks: IUnloadHook | IUnloadHook[] | ILegacyUnloadHook | ILegacyUnloadHook[]): void;
150
+ protected _addHook(hooks: IUnloadHook | IUnloadHook[] | Iterator<IUnloadHook> | ILegacyUnloadHook | ILegacyUnloadHook[] | Iterator<ILegacyUnloadHook>): void;
151
151
  protected _addUnloadCb(handler: UnloadHandler): void;
152
152
  core: IAppInsightsCore;
153
153
  diagLog: (itemCtx?: IProcessTelemetryContext) => IDiagnosticLogger;
@@ -167,6 +167,7 @@ export abstract class BaseTelemetryPlugin implements ITelemetryPlugin {
167
167
  protected setInitialized: (isInitialized: boolean) => void;
168
168
  setNextPlugin: (next: ITelemetryPlugin | ITelemetryPluginChain) => void;
169
169
  teardown(unloadCtx?: IProcessTelemetryUnloadContext, unloadState?: ITelemetryUnloadState): void | boolean;
170
+ protected readonly _unloadHooks: IUnloadHookContainer;
170
171
  update(updateCtx: IProcessTelemetryUpdateContext, updateState: ITelemetryUpdateState): void | boolean;
171
172
  // (undocumented)
172
173
  version?: string;
@@ -196,10 +197,10 @@ export function createTraceParent(traceId?: string, spanId?: string, flags?: num
196
197
  export function createUniqueNamespace(name: string, includeVersion?: boolean): string;
197
198
 
198
199
  // @public (undocumented)
199
- export function createUnloadHandlerContainer(): {
200
- add: (handler: UnloadHandler) => void;
201
- run: (unloadCtx: IProcessTelemetryUnloadContext, unloadState: ITelemetryUnloadState) => void;
202
- };
200
+ export function createUnloadHandlerContainer(): IUnloadHandlerContainer;
201
+
202
+ // @public
203
+ export function createUnloadHookContainer(): IUnloadHookContainer;
203
204
 
204
205
  // @public
205
206
  export const createValueMap: <E, V = E>(values: {
@@ -715,6 +716,8 @@ export interface IDynamicConfigHandler<T extends IConfiguration> {
715
716
  cfg: T;
716
717
  logger: IDiagnosticLogger;
717
718
  notify: () => void;
719
+ rdOnly: <C, V = any>(target: C, name: string) => V;
720
+ ref: <C, V = any>(target: C, name: string) => V;
718
721
  set: <C, V>(theConfig: C, name: string, value: V) => V;
719
722
  setDf: <C>(theConfig: C, defaultValues: IConfigDefaults<C, T>) => C;
720
723
  readonly uid: string;
@@ -1058,9 +1061,19 @@ export interface IUnloadHook {
1058
1061
  rm: () => void;
1059
1062
  }
1060
1063
 
1064
+ // @public
1065
+ export interface IUnloadHookContainer {
1066
+ // (undocumented)
1067
+ add: (hooks: IUnloadHook | IUnloadHook[] | Iterator<IUnloadHook> | ILegacyUnloadHook | ILegacyUnloadHook[] | Iterator<ILegacyUnloadHook>) => void;
1068
+ // (undocumented)
1069
+ run: (logger?: IDiagnosticLogger) => void;
1070
+ }
1071
+
1061
1072
  // @public (undocumented)
1062
1073
  export interface IWatchDetails<T extends IConfiguration> {
1063
1074
  cfg: T;
1075
+ rdOnly: <C, V = any>(target: C, name: string) => V;
1076
+ ref: <C, V = any>(target: C, name: string) => V;
1064
1077
  set: <C, V>(theConfig: C, name: string, value: V) => V;
1065
1078
  setDf: <C>(theConfig: C, defaultValues: IConfigDefaults<C>) => C;
1066
1079
  }
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Microsoft Application Insights Core Javascript SDK, 3.0.0-beta.2301-14
2
+ * Microsoft Application Insights Core Javascript SDK, 3.0.0-beta.2301-17
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  *
5
5
  * Microsoft Application Insights Team
@@ -353,6 +353,12 @@ declare namespace ApplicationInsights {
353
353
  * @returns boolean - true if the plugin has or will call asyncCallback, this allows the plugin to perform any asynchronous operations.
354
354
  */
355
355
  protected _doUpdate?: (updateCtx?: IProcessTelemetryUpdateContext, updateState?: ITelemetryUpdateState, asyncCallback?: () => void) => void | boolean;
356
+ /**
357
+ * Exposes the underlying unload hook container instance for this extension to allow it to be passed down to any sub components of the class.
358
+ * This should NEVER be exposed or called publically as it's scope is for internal use by BaseTelemetryPlugin and any derived class (which is why
359
+ * it's scoped as protected)
360
+ */
361
+ protected readonly _unloadHooks: IUnloadHookContainer;
356
362
  constructor();
357
363
  initialize(config: IConfiguration, core: IAppInsightsCore, extensions: IPlugin[], pluginChain?: ITelemetryPluginChain): void;
358
364
  /**
@@ -381,7 +387,7 @@ declare namespace ApplicationInsights {
381
387
  * Add this hook so that it is automatically removed during unloading
382
388
  * @param hooks - The single hook or an array of IInstrumentHook objects
383
389
  */
384
- protected _addHook(hooks: IUnloadHook | IUnloadHook[] | ILegacyUnloadHook | ILegacyUnloadHook[]): void;
390
+ protected _addHook(hooks: IUnloadHook | IUnloadHook[] | Iterator<IUnloadHook> | ILegacyUnloadHook | ILegacyUnloadHook[] | Iterator<ILegacyUnloadHook>): void;
385
391
  }
386
392
 
387
393
  /**
@@ -432,10 +438,14 @@ declare namespace ApplicationInsights {
432
438
 
433
439
  function createUniqueNamespace(name: string, includeVersion?: boolean): string;
434
440
 
435
- function createUnloadHandlerContainer(): {
436
- add: (handler: UnloadHandler) => void;
437
- run: (unloadCtx: IProcessTelemetryUnloadContext, unloadState: ITelemetryUnloadState) => void;
438
- };
441
+ function createUnloadHandlerContainer(): IUnloadHandlerContainer;
442
+
443
+ /**
444
+ * Create a IUnloadHookContainer which can be used to remember unload hook functions to be executed during the component unloading
445
+ * process.
446
+ * @returns A new IUnloadHookContainer instance
447
+ */
448
+ function createUnloadHookContainer(): IUnloadHookContainer;
439
449
 
440
450
  /**
441
451
  * Create a 2 index map that maps an enum's key and value to the defined map value, X["key"] => mapValue and X[0] => mapValue.
@@ -1508,6 +1518,20 @@ declare namespace ApplicationInsights {
1508
1518
  * @param defaultValues - The default values to apply to the config
1509
1519
  */
1510
1520
  setDf: <C>(theConfig: C, defaultValues: IConfigDefaults<C, T>) => C;
1521
+ /**
1522
+ * Set this named property of the target as referenced, which will cause any object or array instances
1523
+ * to be updated in-place rather than being entirely replaced. All other values will continue to be replaced.
1524
+ * @returns The referenced properties current value
1525
+ */
1526
+ ref: <C, V = any>(target: C, name: string) => V;
1527
+ /**
1528
+ * Set this named property of the target as read-only, which will block this single named property from
1529
+ * ever being changed for the target instance.
1530
+ * This does NOT freeze or seal the instance, it just stops the direct re-assignment of the named property,
1531
+ * if the value is a non-primitive (ie. an object or array) it's properties will still be mutable.
1532
+ * @returns The referenced properties current value
1533
+ */
1534
+ rdOnly: <C, V = any>(target: C, name: string) => V;
1511
1535
  }
1512
1536
 
1513
1537
  interface IDynamicPropertyHandler<T> {
@@ -2287,6 +2311,15 @@ declare namespace ApplicationInsights {
2287
2311
  rm: () => void;
2288
2312
  }
2289
2313
 
2314
+ /**
2315
+ * Interface which identifiesAdd this hook so that it is automatically removed during unloading
2316
+ * @param hooks - The single hook or an array of IInstrumentHook objects
2317
+ */
2318
+ interface IUnloadHookContainer {
2319
+ add: (hooks: IUnloadHook | IUnloadHook[] | Iterator<IUnloadHook> | ILegacyUnloadHook | ILegacyUnloadHook[] | Iterator<ILegacyUnloadHook>) => void;
2320
+ run: (logger?: IDiagnosticLogger) => void;
2321
+ }
2322
+
2290
2323
  interface IWatchDetails<T extends IConfiguration> {
2291
2324
  /**
2292
2325
  * The current config object
@@ -2305,6 +2338,20 @@ declare namespace ApplicationInsights {
2305
2338
  * @param defaultValues - The default values to apply to the config
2306
2339
  */
2307
2340
  setDf: <C>(theConfig: C, defaultValues: IConfigDefaults<C>) => C;
2341
+ /**
2342
+ * Set this named property of the target as referenced, which will cause any object or array instance
2343
+ * to be updated in-place rather than being entirely replaced. All other values will continue to be replaced.
2344
+ * @returns The referenced properties current value
2345
+ */
2346
+ ref: <C, V = any>(target: C, name: string) => V;
2347
+ /**
2348
+ * Set this named property of the target as read-only, which will block this single named property from
2349
+ * ever being changed for the target instance.
2350
+ * This does NOT freeze or seal the instance, it just stops the direct re-assignment of the named property,
2351
+ * if the value is a non-primitive (ie. an object or array) it's properties will still be mutable.
2352
+ * @returns The referenced properties current value
2353
+ */
2354
+ rdOnly: <C, V = any>(target: C, name: string) => V;
2308
2355
  }
2309
2356
 
2310
2357
  interface IWatcherHandler<T extends IConfiguration> extends IUnloadHook {