@microsoft/applicationinsights-web 2.8.0-beta.2203-06 → 2.8.0-beta.2203-07

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 (43) hide show
  1. package/browser/{ai.2.8.0-beta.2203-06.cjs.js → ai.2.8.0-beta.2203-07.cjs.js} +35 -20
  2. package/browser/{ai.2.8.0-beta.2203-06.cjs.js.map → ai.2.8.0-beta.2203-07.cjs.js.map} +1 -1
  3. package/browser/ai.2.8.0-beta.2203-07.cjs.min.js +6 -0
  4. package/browser/{ai.2.8.0-beta.2203-06.cjs.min.js.map → ai.2.8.0-beta.2203-07.cjs.min.js.map} +1 -1
  5. package/browser/{ai.2.8.0-beta.2203-06.gbl.js → ai.2.8.0-beta.2203-07.gbl.js} +35 -20
  6. package/browser/{ai.2.8.0-beta.2203-06.gbl.js.map → ai.2.8.0-beta.2203-07.gbl.js.map} +1 -1
  7. package/browser/ai.2.8.0-beta.2203-07.gbl.min.js +6 -0
  8. package/browser/{ai.2.8.0-beta.2203-06.gbl.min.js.map → ai.2.8.0-beta.2203-07.gbl.min.js.map} +1 -1
  9. package/browser/ai.2.8.0-beta.2203-07.integrity.json +66 -0
  10. package/browser/{ai.2.8.0-beta.2203-06.js → ai.2.8.0-beta.2203-07.js} +35 -20
  11. package/browser/{ai.2.8.0-beta.2203-06.js.map → ai.2.8.0-beta.2203-07.js.map} +1 -1
  12. package/browser/ai.2.8.0-beta.2203-07.min.js +6 -0
  13. package/browser/{ai.2.8.0-beta.2203-06.min.js.map → ai.2.8.0-beta.2203-07.min.js.map} +1 -1
  14. package/browser/ai.2.cjs.js +34 -19
  15. package/browser/ai.2.cjs.js.map +1 -1
  16. package/browser/ai.2.cjs.min.js +2 -2
  17. package/browser/ai.2.cjs.min.js.map +1 -1
  18. package/browser/ai.2.gbl.js +34 -19
  19. package/browser/ai.2.gbl.js.map +1 -1
  20. package/browser/ai.2.gbl.min.js +2 -2
  21. package/browser/ai.2.gbl.min.js.map +1 -1
  22. package/browser/ai.2.js +34 -19
  23. package/browser/ai.2.js.map +1 -1
  24. package/browser/ai.2.min.js +2 -2
  25. package/browser/ai.2.min.js.map +1 -1
  26. package/dist/applicationinsights-web.api.json +202 -12
  27. package/dist/applicationinsights-web.api.md +6 -5
  28. package/dist/applicationinsights-web.d.ts +38 -5
  29. package/dist/applicationinsights-web.js +34 -19
  30. package/dist/applicationinsights-web.js.map +1 -1
  31. package/dist/applicationinsights-web.min.js +2 -2
  32. package/dist/applicationinsights-web.min.js.map +1 -1
  33. package/dist/applicationinsights-web.rollup.d.ts +38 -5
  34. package/dist-esm/ApplicationInsightsContainer.js +1 -1
  35. package/dist-esm/ApplicationInsightsDeprecated.js +1 -1
  36. package/dist-esm/Init.js +1 -1
  37. package/dist-esm/Initialization.js +1 -1
  38. package/dist-esm/applicationinsights-web.js +1 -1
  39. package/package.json +7 -7
  40. package/browser/ai.2.8.0-beta.2203-06.cjs.min.js +0 -6
  41. package/browser/ai.2.8.0-beta.2203-06.gbl.min.js +0 -6
  42. package/browser/ai.2.8.0-beta.2203-06.integrity.json +0 -66
  43. package/browser/ai.2.8.0-beta.2203-06.min.js +0 -6
@@ -3591,7 +3591,7 @@
3591
3591
  {
3592
3592
  "kind": "Method",
3593
3593
  "canonicalReference": "@microsoft/applicationinsights-web!BaseCore#addPlugin:member(1)",
3594
- "docComment": "",
3594
+ "docComment": "/**\n * Add a new plugin to the installation\n *\n * @param plugin - The new plugin to add\n *\n * @param replaceExisting - should any existing plugin be replaced, default is false\n *\n * @param doAsync - Should the add be performed asynchronously\n *\n * @param addCb - [Optional] callback to call after the plugin has been added\n */\n",
3595
3595
  "excerptTokens": [
3596
3596
  {
3597
3597
  "kind": "Content",
@@ -3625,7 +3625,7 @@
3625
3625
  },
3626
3626
  {
3627
3627
  "kind": "Content",
3628
- "text": ", replaceExisting: "
3628
+ "text": ", replaceExisting?: "
3629
3629
  },
3630
3630
  {
3631
3631
  "kind": "Content",
@@ -3633,7 +3633,7 @@
3633
3633
  },
3634
3634
  {
3635
3635
  "kind": "Content",
3636
- "text": ", doAsync: "
3636
+ "text": ", doAsync?: "
3637
3637
  },
3638
3638
  {
3639
3639
  "kind": "Content",
@@ -3924,6 +3924,82 @@
3924
3924
  "parameters": [],
3925
3925
  "name": "evtNamespace"
3926
3926
  },
3927
+ {
3928
+ "kind": "Method",
3929
+ "canonicalReference": "@microsoft/applicationinsights-web!BaseCore#flush:member(1)",
3930
+ "docComment": "/**\n * Flush and send any batched / cached data immediately\n *\n * @param async - send data asynchronously when true (defaults to true)\n *\n * @param callBack - if specified, notify caller when send is complete, the channel should return true to indicate to the caller that it will be called. If the caller doesn't return true the caller should assume that it may never be called.\n *\n * @param sendReason - specify the reason that you are calling \"flush\" defaults to ManualFlush (1) if not specified\n *\n * @returns - true if the callback will be return after the flush is complete otherwise the caller should assume that any provided callback will never be called\n */\n",
3931
+ "excerptTokens": [
3932
+ {
3933
+ "kind": "Content",
3934
+ "text": "flush(isAsync?: "
3935
+ },
3936
+ {
3937
+ "kind": "Content",
3938
+ "text": "boolean"
3939
+ },
3940
+ {
3941
+ "kind": "Content",
3942
+ "text": ", callBack?: "
3943
+ },
3944
+ {
3945
+ "kind": "Content",
3946
+ "text": "(flushComplete?: boolean) => void"
3947
+ },
3948
+ {
3949
+ "kind": "Content",
3950
+ "text": ", sendReason?: "
3951
+ },
3952
+ {
3953
+ "kind": "Reference",
3954
+ "text": "SendRequestReason",
3955
+ "canonicalReference": "@microsoft/applicationinsights-web!SendRequestReason:enum"
3956
+ },
3957
+ {
3958
+ "kind": "Content",
3959
+ "text": "): "
3960
+ },
3961
+ {
3962
+ "kind": "Content",
3963
+ "text": "void"
3964
+ },
3965
+ {
3966
+ "kind": "Content",
3967
+ "text": ";"
3968
+ }
3969
+ ],
3970
+ "isOptional": false,
3971
+ "isStatic": false,
3972
+ "returnTypeTokenRange": {
3973
+ "startIndex": 7,
3974
+ "endIndex": 8
3975
+ },
3976
+ "releaseTag": "Public",
3977
+ "overloadIndex": 1,
3978
+ "parameters": [
3979
+ {
3980
+ "parameterName": "isAsync",
3981
+ "parameterTypeTokenRange": {
3982
+ "startIndex": 1,
3983
+ "endIndex": 2
3984
+ }
3985
+ },
3986
+ {
3987
+ "parameterName": "callBack",
3988
+ "parameterTypeTokenRange": {
3989
+ "startIndex": 3,
3990
+ "endIndex": 4
3991
+ }
3992
+ },
3993
+ {
3994
+ "parameterName": "sendReason",
3995
+ "parameterTypeTokenRange": {
3996
+ "startIndex": 5,
3997
+ "endIndex": 6
3998
+ }
3999
+ }
4000
+ ],
4001
+ "name": "flush"
4002
+ },
3927
4003
  {
3928
4004
  "kind": "Method",
3929
4005
  "canonicalReference": "@microsoft/applicationinsights-web!BaseCore#getCookieMgr:member(1)",
@@ -4606,7 +4682,7 @@
4606
4682
  {
4607
4683
  "kind": "Method",
4608
4684
  "canonicalReference": "@microsoft/applicationinsights-web!BaseCore#unload:member(1)",
4609
- "docComment": "/**\n * Unload and Tear down the SDK and any initialized plugins, after calling this the SDK will be considered to be un-initialized and non-operational, re-initializing the SDK should only be attempted if the previous unload call return `true` stating that all plugins reported that they also unloaded, the recommended approach is to create a new instance and initialize that instance. This is due to possible unexpected side effects caused by plugins not supporting unload / teardown, unable to successfully remove any global references or they may just be completing the unload process asynchronously.\n */\n",
4685
+ "docComment": "/**\n * Unload and Tear down the SDK and any initialized plugins, after calling this the SDK will be considered to be un-initialized and non-operational, re-initializing the SDK should only be attempted if the previous unload call return `true` stating that all plugins reported that they also unloaded, the recommended approach is to create a new instance and initialize that instance. This is due to possible unexpected side effects caused by plugins not supporting unload / teardown, unable to successfully remove any global references or they may just be completing the unload process asynchronously.\n *\n * @param isAsync - Can the unload be performed asynchronously (default)\n *\n * @param unloadComplete - An optional callback that will be called once the unload has completed\n *\n * @param cbTimeout - An optional timeout to wait for any flush operations to complete before proceeding with the unload. Defaults to 5 seconds.\n */\n",
4610
4686
  "excerptTokens": [
4611
4687
  {
4612
4688
  "kind": "Content",
@@ -8249,7 +8325,7 @@
8249
8325
  {
8250
8326
  "kind": "MethodSignature",
8251
8327
  "canonicalReference": "@microsoft/applicationinsights-web!IAppInsightsCore#addPlugin:member(1)",
8252
- "docComment": "/**\n * Add a new plugin to the installation\n *\n * @param plugin - The new plugin to add\n *\n * @param replaceExisting - should any existing plugin be replaced\n *\n * @param doAsync - Should the add be performed asynchronously\n */\n",
8328
+ "docComment": "/**\n * Add a new plugin to the installation\n *\n * @param plugin - The new plugin to add\n *\n * @param replaceExisting - should any existing plugin be replaced, default is false\n *\n * @param doAsync - Should the add be performed asynchronously\n *\n * @param addCb - [Optional] callback to call after the plugin has been added\n */\n",
8253
8329
  "excerptTokens": [
8254
8330
  {
8255
8331
  "kind": "Content",
@@ -8283,7 +8359,7 @@
8283
8359
  },
8284
8360
  {
8285
8361
  "kind": "Content",
8286
- "text": ", replaceExisting: "
8362
+ "text": ", replaceExisting?: "
8287
8363
  },
8288
8364
  {
8289
8365
  "kind": "Content",
@@ -8291,7 +8367,7 @@
8291
8367
  },
8292
8368
  {
8293
8369
  "kind": "Content",
8294
- "text": ", doAsync: "
8370
+ "text": ", doAsync?: "
8295
8371
  },
8296
8372
  {
8297
8373
  "kind": "Content",
@@ -8520,6 +8596,96 @@
8520
8596
  "parameters": [],
8521
8597
  "name": "evtNamespace"
8522
8598
  },
8599
+ {
8600
+ "kind": "MethodSignature",
8601
+ "canonicalReference": "@microsoft/applicationinsights-web!IAppInsightsCore#flush:member(1)",
8602
+ "docComment": "/**\n * Flush and send any batched / cached data immediately\n *\n * @param async - send data asynchronously when true (defaults to true)\n *\n * @param callBack - if specified, notify caller when send is complete, the channel should return true to indicate to the caller that it will be called. If the caller doesn't return true the caller should assume that it may never be called.\n *\n * @param sendReason - specify the reason that you are calling \"flush\" defaults to ManualFlush (1) if not specified\n *\n * @param cbTimeout - An optional timeout to wait for any flush operations to complete before proceeding with the unload. Defaults to 5 seconds.\n *\n * @returns - true if the callback will be return after the flush is complete otherwise the caller should assume that any provided callback will never be called\n */\n",
8603
+ "excerptTokens": [
8604
+ {
8605
+ "kind": "Content",
8606
+ "text": "flush(isAsync?: "
8607
+ },
8608
+ {
8609
+ "kind": "Content",
8610
+ "text": "boolean"
8611
+ },
8612
+ {
8613
+ "kind": "Content",
8614
+ "text": ", callBack?: "
8615
+ },
8616
+ {
8617
+ "kind": "Content",
8618
+ "text": "(flushComplete?: boolean) => void"
8619
+ },
8620
+ {
8621
+ "kind": "Content",
8622
+ "text": ", sendReason?: "
8623
+ },
8624
+ {
8625
+ "kind": "Reference",
8626
+ "text": "SendRequestReason",
8627
+ "canonicalReference": "@microsoft/applicationinsights-web!SendRequestReason:enum"
8628
+ },
8629
+ {
8630
+ "kind": "Content",
8631
+ "text": ", cbTimeout?: "
8632
+ },
8633
+ {
8634
+ "kind": "Content",
8635
+ "text": "number"
8636
+ },
8637
+ {
8638
+ "kind": "Content",
8639
+ "text": "): "
8640
+ },
8641
+ {
8642
+ "kind": "Content",
8643
+ "text": "boolean | void"
8644
+ },
8645
+ {
8646
+ "kind": "Content",
8647
+ "text": ";"
8648
+ }
8649
+ ],
8650
+ "isOptional": false,
8651
+ "returnTypeTokenRange": {
8652
+ "startIndex": 9,
8653
+ "endIndex": 10
8654
+ },
8655
+ "releaseTag": "Public",
8656
+ "overloadIndex": 1,
8657
+ "parameters": [
8658
+ {
8659
+ "parameterName": "isAsync",
8660
+ "parameterTypeTokenRange": {
8661
+ "startIndex": 1,
8662
+ "endIndex": 2
8663
+ }
8664
+ },
8665
+ {
8666
+ "parameterName": "callBack",
8667
+ "parameterTypeTokenRange": {
8668
+ "startIndex": 3,
8669
+ "endIndex": 4
8670
+ }
8671
+ },
8672
+ {
8673
+ "parameterName": "sendReason",
8674
+ "parameterTypeTokenRange": {
8675
+ "startIndex": 5,
8676
+ "endIndex": 6
8677
+ }
8678
+ },
8679
+ {
8680
+ "parameterName": "cbTimeout",
8681
+ "parameterTypeTokenRange": {
8682
+ "startIndex": 7,
8683
+ "endIndex": 8
8684
+ }
8685
+ }
8686
+ ],
8687
+ "name": "flush"
8688
+ },
8523
8689
  {
8524
8690
  "kind": "MethodSignature",
8525
8691
  "canonicalReference": "@microsoft/applicationinsights-web!IAppInsightsCore#getCookieMgr:member(1)",
@@ -9084,7 +9250,7 @@
9084
9250
  {
9085
9251
  "kind": "MethodSignature",
9086
9252
  "canonicalReference": "@microsoft/applicationinsights-web!IAppInsightsCore#unload:member(1)",
9087
- "docComment": "/**\n * Unload and Tear down the SDK and any initialized plugins, after calling this the SDK will be considered to be un-initialized and non-operational, re-initializing the SDK should only be attempted if the previous unload call return `true` stating that all plugins reported that they also unloaded, the recommended approach is to create a new instance and initialize that instance. This is due to possible unexpected side effects caused by plugins not supporting unload / teardown, unable to successfully remove any global references or they may just be completing the unload process asynchronously.\n */\n",
9253
+ "docComment": "/**\n * Unload and Tear down the SDK and any initialized plugins, after calling this the SDK will be considered to be un-initialized and non-operational, re-initializing the SDK should only be attempted if the previous unload call return `true` stating that all plugins reported that they also unloaded, the recommended approach is to create a new instance and initialize that instance. This is due to possible unexpected side effects caused by plugins not supporting unload / teardown, unable to successfully remove any global references or they may just be completing the unload process asynchronously.\n *\n * @param isAsync - Can the unload be performed asynchronously (default)\n *\n * @param unloadComplete - An optional callback that will be called once the unload has completed\n *\n * @param cbTimeout - An optional timeout to wait for any flush operations to complete before proceeding with the unload. Defaults to 5 seconds.\n */\n",
9088
9254
  "excerptTokens": [
9089
9255
  {
9090
9256
  "kind": "Content",
@@ -9100,7 +9266,24 @@
9100
9266
  },
9101
9267
  {
9102
9268
  "kind": "Content",
9103
- "text": "() => void"
9269
+ "text": "(unloadState: "
9270
+ },
9271
+ {
9272
+ "kind": "Reference",
9273
+ "text": "ITelemetryUnloadState",
9274
+ "canonicalReference": "@microsoft/applicationinsights-web!ITelemetryUnloadState:interface"
9275
+ },
9276
+ {
9277
+ "kind": "Content",
9278
+ "text": ") => void"
9279
+ },
9280
+ {
9281
+ "kind": "Content",
9282
+ "text": ", cbTimeout?: "
9283
+ },
9284
+ {
9285
+ "kind": "Content",
9286
+ "text": "number"
9104
9287
  },
9105
9288
  {
9106
9289
  "kind": "Content",
@@ -9117,8 +9300,8 @@
9117
9300
  ],
9118
9301
  "isOptional": false,
9119
9302
  "returnTypeTokenRange": {
9120
- "startIndex": 5,
9121
- "endIndex": 6
9303
+ "startIndex": 9,
9304
+ "endIndex": 10
9122
9305
  },
9123
9306
  "releaseTag": "Public",
9124
9307
  "overloadIndex": 1,
@@ -9134,7 +9317,14 @@
9134
9317
  "parameterName": "unloadComplete",
9135
9318
  "parameterTypeTokenRange": {
9136
9319
  "startIndex": 3,
9137
- "endIndex": 4
9320
+ "endIndex": 6
9321
+ }
9322
+ },
9323
+ {
9324
+ "parameterName": "cbTimeout",
9325
+ "parameterTypeTokenRange": {
9326
+ "startIndex": 7,
9327
+ "endIndex": 8
9138
9328
  }
9139
9329
  }
9140
9330
  ],
@@ -147,8 +147,7 @@ export class ApplicationInsightsContainer {
147
147
  export class BaseCore implements IAppInsightsCore {
148
148
  constructor();
149
149
  addNotificationListener(listener: INotificationListener): void;
150
- // (undocumented)
151
- addPlugin<T extends IPlugin = ITelemetryPlugin>(plugin: T, replaceExisting: boolean, doAsync: boolean, addCb?: (added?: boolean) => void): void;
150
+ addPlugin<T extends IPlugin = ITelemetryPlugin>(plugin: T, replaceExisting?: boolean, doAsync?: boolean, addCb?: (added?: boolean) => void): void;
152
151
  // Warning: (ae-forgotten-export) The symbol "TelemetryInitializerFunction" needs to be exported by the entry point applicationinsights-web.d.ts
153
152
  addTelemetryInitializer(telemetryInitializer: TelemetryInitializerFunction): ITelemetryInitializerHandler | void;
154
153
  // Warning: (ae-forgotten-export) The symbol "UnloadHandler" needs to be exported by the entry point applicationinsights-web.d.ts
@@ -162,6 +161,8 @@ export class BaseCore implements IAppInsightsCore {
162
161
  evtNamespace(): string;
163
162
  // (undocumented)
164
163
  _extensions: IPlugin[];
164
+ // Warning: (ae-forgotten-export) The symbol "SendRequestReason" needs to be exported by the entry point applicationinsights-web.d.ts
165
+ flush(isAsync?: boolean, callBack?: (flushComplete?: boolean) => void, sendReason?: SendRequestReason): void;
165
166
  getCookieMgr(): ICookieMgr;
166
167
  // (undocumented)
167
168
  getNotifyMgr(): INotificationManager;
@@ -391,12 +392,13 @@ export interface IAppInsights {
391
392
  // @public (undocumented)
392
393
  export interface IAppInsightsCore extends IPerfManagerProvider {
393
394
  addNotificationListener?(listener: INotificationListener): void;
394
- addPlugin<T extends IPlugin = ITelemetryPlugin>(plugin: T, replaceExisting: boolean, doAsync: boolean, addCb?: (added?: boolean) => void): void;
395
+ addPlugin<T extends IPlugin = ITelemetryPlugin>(plugin: T, replaceExisting?: boolean, doAsync?: boolean, addCb?: (added?: boolean) => void): void;
395
396
  addTelemetryInitializer(telemetryInitializer: TelemetryInitializerFunction): ITelemetryInitializerHandler | void;
396
397
  addUnloadCb(handler: UnloadHandler): void;
397
398
  // (undocumented)
398
399
  config: IConfiguration;
399
400
  evtNamespace(): string;
401
+ flush(isAsync?: boolean, callBack?: (flushComplete?: boolean) => void, sendReason?: SendRequestReason, cbTimeout?: number): boolean | void;
400
402
  getCookieMgr(): ICookieMgr;
401
403
  getNotifyMgr(): INotificationManager;
402
404
  getPlugin<T extends IPlugin = IPlugin>(pluginIdentifier: string): ILoadedPlugin<T>;
@@ -416,7 +418,7 @@ export interface IAppInsightsCore extends IPerfManagerProvider {
416
418
  stopPollingInternalLogs?(): void;
417
419
  // (undocumented)
418
420
  track(telemetryItem: ITelemetryItem): void;
419
- unload(isAsync?: boolean, unloadComplete?: () => void): void;
421
+ unload(isAsync?: boolean, unloadComplete?: (unloadState: ITelemetryUnloadState) => void, cbTimeout?: number): void;
420
422
  }
421
423
 
422
424
  // @public (undocumented)
@@ -1280,7 +1282,6 @@ export class Sender extends BaseTelemetryPlugin implements IChannelControlsAI {
1280
1282
  readonly _senderConfig: ISenderConfig;
1281
1283
  // (undocumented)
1282
1284
  teardown(): void;
1283
- // Warning: (ae-forgotten-export) The symbol "SendRequestReason" needs to be exported by the entry point applicationinsights-web.d.ts
1284
1285
  triggerSend(async?: boolean, forcedSender?: SenderFunction, sendReason?: SendRequestReason): void;
1285
1286
  // Warning: (ae-forgotten-export) The symbol "XDomainRequest" needs to be exported by the entry point applicationinsights-web.d.ts
1286
1287
  _xdrOnLoad(xdr: XDomainRequest, payload: string[]): void;
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Microsoft.ApplicationInsights, 2.8.0-beta.2203-06
2
+ * Microsoft.ApplicationInsights, 2.8.0-beta.2203-07
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  *
5
5
  * Microsoft Application Insights Team
@@ -420,10 +420,20 @@ declare namespace ApplicationInsights {
420
420
  * approach is to create a new instance and initialize that instance.
421
421
  * This is due to possible unexpected side effects caused by plugins not supporting unload / teardown, unable
422
422
  * to successfully remove any global references or they may just be completing the unload process asynchronously.
423
+ * @param isAsync - Can the unload be performed asynchronously (default)
424
+ * @param unloadComplete - An optional callback that will be called once the unload has completed
425
+ * @param cbTimeout - An optional timeout to wait for any flush operations to complete before proceeding with the unload. Defaults to 5 seconds.
423
426
  */
424
427
  unload(isAsync?: boolean, unloadComplete?: (unloadState: ITelemetryUnloadState) => void, cbTimeout?: number): void;
425
428
  getPlugin<T extends IPlugin = IPlugin>(pluginIdentifier: string): ILoadedPlugin<T>;
426
- addPlugin<T extends IPlugin = ITelemetryPlugin>(plugin: T, replaceExisting: boolean, doAsync: boolean, addCb?: (added?: boolean) => void): void;
429
+ /**
430
+ * Add a new plugin to the installation
431
+ * @param plugin - The new plugin to add
432
+ * @param replaceExisting - should any existing plugin be replaced, default is false
433
+ * @param doAsync - Should the add be performed asynchronously
434
+ * @param addCb - [Optional] callback to call after the plugin has been added
435
+ */
436
+ addPlugin<T extends IPlugin = ITelemetryPlugin>(plugin: T, replaceExisting?: boolean, doAsync?: boolean, addCb?: (added?: boolean) => void): void;
427
437
  /**
428
438
  * Returns the unique event namespace that should be used
429
439
  */
@@ -433,6 +443,15 @@ declare namespace ApplicationInsights {
433
443
  * @param handler - the handler
434
444
  */
435
445
  addUnloadCb(handler: UnloadHandler): void;
446
+ /**
447
+ * Flush and send any batched / cached data immediately
448
+ * @param async - send data asynchronously when true (defaults to true)
449
+ * @param callBack - if specified, notify caller when send is complete, the channel should return true to indicate to the caller that it will be called.
450
+ * If the caller doesn't return true the caller should assume that it may never be called.
451
+ * @param sendReason - specify the reason that you are calling "flush" defaults to ManualFlush (1) if not specified
452
+ * @returns - true if the callback will be return after the flush is complete otherwise the caller should assume that any provided callback will never be called
453
+ */
454
+ flush(isAsync?: boolean, callBack?: (flushComplete?: boolean) => void, sendReason?: SendRequestReason): void;
436
455
  protected releaseQueue(): void;
437
456
  /**
438
457
  * Hook for Core extensions to allow them to update their own configuration before updating all of the plugins.
@@ -1097,8 +1116,11 @@ declare namespace ApplicationInsights {
1097
1116
  * approach is to create a new instance and initialize that instance.
1098
1117
  * This is due to possible unexpected side effects caused by plugins not supporting unload / teardown, unable
1099
1118
  * to successfully remove any global references or they may just be completing the unload process asynchronously.
1119
+ * @param isAsync - Can the unload be performed asynchronously (default)
1120
+ * @param unloadComplete - An optional callback that will be called once the unload has completed
1121
+ * @param cbTimeout - An optional timeout to wait for any flush operations to complete before proceeding with the unload. Defaults to 5 seconds.
1100
1122
  */
1101
- unload(isAsync?: boolean, unloadComplete?: () => void): void;
1123
+ unload(isAsync?: boolean, unloadComplete?: (unloadState: ITelemetryUnloadState) => void, cbTimeout?: number): void;
1102
1124
  /**
1103
1125
  * Find and return the (first) plugin with the specified identifier if present
1104
1126
  * @param pluginIdentifier
@@ -1107,10 +1129,11 @@ declare namespace ApplicationInsights {
1107
1129
  /**
1108
1130
  * Add a new plugin to the installation
1109
1131
  * @param plugin - The new plugin to add
1110
- * @param replaceExisting - should any existing plugin be replaced
1132
+ * @param replaceExisting - should any existing plugin be replaced, default is false
1111
1133
  * @param doAsync - Should the add be performed asynchronously
1134
+ * @param addCb - [Optional] callback to call after the plugin has been added
1112
1135
  */
1113
- addPlugin<T extends IPlugin = ITelemetryPlugin>(plugin: T, replaceExisting: boolean, doAsync: boolean, addCb?: (added?: boolean) => void): void;
1136
+ addPlugin<T extends IPlugin = ITelemetryPlugin>(plugin: T, replaceExisting?: boolean, doAsync?: boolean, addCb?: (added?: boolean) => void): void;
1114
1137
  /**
1115
1138
  * Returns the unique event namespace that should be used when registering events
1116
1139
  */
@@ -1120,6 +1143,16 @@ declare namespace ApplicationInsights {
1120
1143
  * @param handler - the handler
1121
1144
  */
1122
1145
  addUnloadCb(handler: UnloadHandler): void;
1146
+ /**
1147
+ * Flush and send any batched / cached data immediately
1148
+ * @param async - send data asynchronously when true (defaults to true)
1149
+ * @param callBack - if specified, notify caller when send is complete, the channel should return true to indicate to the caller that it will be called.
1150
+ * If the caller doesn't return true the caller should assume that it may never be called.
1151
+ * @param sendReason - specify the reason that you are calling "flush" defaults to ManualFlush (1) if not specified
1152
+ * @param cbTimeout - An optional timeout to wait for any flush operations to complete before proceeding with the unload. Defaults to 5 seconds.
1153
+ * @returns - true if the callback will be return after the flush is complete otherwise the caller should assume that any provided callback will never be called
1154
+ */
1155
+ flush(isAsync?: boolean, callBack?: (flushComplete?: boolean) => void, sendReason?: SendRequestReason, cbTimeout?: number): boolean | void;
1123
1156
  }
1124
1157
 
1125
1158
  interface IAppInsightsDeprecated {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Web, 2.8.0-beta.2203-06
2
+ * Application Insights JavaScript SDK - Web, 2.8.0-beta.2203-07
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -2395,6 +2395,7 @@
2395
2395
  doneIterating = true;
2396
2396
  doCallback();
2397
2397
  });
2398
+ return true;
2398
2399
  },
2399
2400
  _a._setQueue = function (queue) {
2400
2401
  channelQueue = queue;
@@ -2751,7 +2752,7 @@
2751
2752
  _configExtensions.push.apply(_configExtensions, __spreadArrayFn(__spreadArrayFn([], extensions, false), config.extensions));
2752
2753
  _channelConfig = (config || {}).channels;
2753
2754
  _initPluginChain(config, null);
2754
- if (_self.getTransmissionControls().length === 0) {
2755
+ if (!_channelQueue || _channelQueue.length === 0) {
2755
2756
  throwError("No channels available");
2756
2757
  }
2757
2758
  _isInitialized = true;
@@ -2872,16 +2873,12 @@
2872
2873
  _self.stopPollingInternalLogs();
2873
2874
  processUnloadCtx.processNext(unloadState);
2874
2875
  }
2875
- if (_channelControl) {
2876
- _channelControl.flush(isAsync, _doUnload, 6 , cbTimeout);
2877
- }
2878
- else {
2879
- _doUnload(true);
2876
+ if (!_flushChannels(isAsync, _doUnload, 6 , cbTimeout)) {
2877
+ _doUnload(false);
2880
2878
  }
2881
2879
  };
2882
2880
  _self.getPlugin = _getPlugin;
2883
2881
  _self.addPlugin = function (plugin, replaceExisting, isAsync, addCb) {
2884
- if (isAsync === void 0) { isAsync = true; }
2885
2882
  if (!plugin) {
2886
2883
  addCb && addCb(false);
2887
2884
  _logOrThrowError(strValidationError);
@@ -2926,6 +2923,7 @@
2926
2923
  _self.evtNamespace = function () {
2927
2924
  return _evtNamespace;
2928
2925
  };
2926
+ _self.flush = _flushChannels;
2929
2927
  proxyFunctionAs(_self, "addUnloadCb", function () { return _unloadHandlers; }, "add");
2930
2928
  function _initDefaults() {
2931
2929
  _isInitialized = false;
@@ -3091,6 +3089,13 @@
3091
3089
  queue.length = 0;
3092
3090
  }
3093
3091
  }
3092
+ function _flushChannels(isAsync, callBack, sendReason, cbTimeout) {
3093
+ if (_channelControl) {
3094
+ return _channelControl.flush(isAsync, callBack, sendReason || 6 , cbTimeout);
3095
+ }
3096
+ callBack && callBack(false);
3097
+ return true;
3098
+ }
3094
3099
  function _initDebugListener(config) {
3095
3100
  if (config.disableDbgExt === true && _debugListener) {
3096
3101
  _notificationManager[strRemoveNotificationListener](_debugListener);
@@ -5433,11 +5438,9 @@
5433
5438
  if (core) {
5434
5439
  _logger = core.logger;
5435
5440
  }
5436
- function _flushChannels() {
5441
+ function _flushChannels(isAsync) {
5437
5442
  if (core) {
5438
- arrForEach(core.getTransmissionControls(), function (queues) {
5439
- arrForEach(queues, function (q) { q.flush(true); });
5440
- });
5443
+ core.flush(isAsync);
5441
5444
  }
5442
5445
  }
5443
5446
  function _addQueue(cb) {
@@ -5460,7 +5463,7 @@
5460
5463
  intervalHandle = null;
5461
5464
  }
5462
5465
  if (doFlush) {
5463
- _flushChannels();
5466
+ _flushChannels(true);
5464
5467
  }
5465
5468
  }), 100);
5466
5469
  }
@@ -5478,7 +5481,7 @@
5478
5481
  }
5479
5482
  if (!pageViewPerformanceManager.isPerformanceTimingSupported()) {
5480
5483
  appInsights.sendPageViewInternal(pageView, customProperties);
5481
- _flushChannels();
5484
+ _flushChannels(true);
5482
5485
  _logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.NavigationTimingNotSupported, "trackPageView: navigation timing API used for calculation of page duration is not supported in this browser. This page view will be collected without duration and timing info.");
5483
5486
  return;
5484
5487
  }
@@ -5504,7 +5507,7 @@
5504
5507
  customProperties["duration"] = customDuration;
5505
5508
  }
5506
5509
  appInsights.sendPageViewInternal(pageView, customProperties);
5507
- _flushChannels();
5510
+ _flushChannels(true);
5508
5511
  pageViewSent = true;
5509
5512
  }
5510
5513
  var maxDurationLimit = 60000;
@@ -5550,6 +5553,17 @@
5550
5553
  return processed;
5551
5554
  });
5552
5555
  };
5556
+ _self.teardown = function (unloadCtx, unloadState) {
5557
+ if (intervalHandle) {
5558
+ clearInterval(intervalHandle);
5559
+ intervalHandle = null;
5560
+ var allItems = itemQueue.slice(0);
5561
+ itemQueue = [];
5562
+ arrForEach(allItems, function (item) {
5563
+ if (item()) ;
5564
+ });
5565
+ }
5566
+ };
5553
5567
  });
5554
5568
  }
5555
5569
  return PageViewManager;
@@ -6039,7 +6053,7 @@
6039
6053
  }
6040
6054
  _base.initialize(config, core, extensions, pluginChain);
6041
6055
  try {
6042
- _evtNamespace = mergeEvtNamespace(createUniqueNamespace("AnalyticsPlugin"), core.evtNamespace && core.evtNamespace());
6056
+ _evtNamespace = mergeEvtNamespace(createUniqueNamespace(_self.identifier), core.evtNamespace && core.evtNamespace());
6043
6057
  if (_preInitTelemetryInitializers) {
6044
6058
  arrForEach(_preInitTelemetryInitializers, function (initializer) {
6045
6059
  core.addTelemetryInitializer(initializer);
@@ -6086,6 +6100,7 @@
6086
6100
  }
6087
6101
  };
6088
6102
  _self._doTeardown = function (unloadCtx, unloadState) {
6103
+ _pageViewManager && _pageViewManager.teardown(unloadCtx, unloadState);
6089
6104
  eventOff(window, null, null, _evtNamespace);
6090
6105
  _initDefaults();
6091
6106
  };
@@ -6271,7 +6286,7 @@
6271
6286
  });
6272
6287
  return _this;
6273
6288
  }
6274
- AnalyticsPlugin.Version = "2.8.0-beta.2203-06";
6289
+ AnalyticsPlugin.Version = "2.8.0-beta.2203-07";
6275
6290
  AnalyticsPlugin.getDefaultConfig = _getDefaultConfig;
6276
6291
  return AnalyticsPlugin;
6277
6292
  }(BaseTelemetryPlugin));
@@ -6553,7 +6568,7 @@
6553
6568
  }
6554
6569
  }
6555
6570
  var EnvelopeCreator = {
6556
- Version: "2.8.0-beta.2203-06"
6571
+ Version: "2.8.0-beta.2203-07"
6557
6572
  };
6558
6573
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
6559
6574
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -7863,7 +7878,7 @@
7863
7878
  return Device;
7864
7879
  }());
7865
7880
 
7866
- var Version = "2.8.0-beta.2203-06";
7881
+ var Version = "2.8.0-beta.2203-07";
7867
7882
  var Internal = /** @class */ (function () {
7868
7883
  function Internal(config) {
7869
7884
  this.sdkVersion = (config.sdkExtension && config.sdkExtension() ? config.sdkExtension() + "_" : "") + "javascript:" + Version;