@salesforce/lds-network-fetch 1.396.0 → 1.397.0

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.
@@ -769,9 +769,24 @@ function checkLdsStorageCacheOrFetch(resourceRequest, resourceRequestContext, st
769
769
  }
770
770
  return platformFetchAdapterWithInterceptors(resourceRequest, resourceRequestContext, requestInterceptors);
771
771
  }
772
+ // Copied from requestId generation on core
773
+ function generateRequestId() {
774
+ function guid() {
775
+ function s4() {
776
+ return Math.floor((1 + Math.random()) * 0x10000)
777
+ .toString(16)
778
+ .substring(1);
779
+ }
780
+ return s4() + s4();
781
+ }
782
+ return [Math.round(Date.now() * 1000000), guid(), Math.round(Math.random() * 100000000)]
783
+ .join('')
784
+ .substring(0, 18);
785
+ }
772
786
 
773
787
  // noop implementation for when one is not provided
774
788
  let internalRequestTracker = {
789
+ hasTracker: () => false,
775
790
  registerHandler: (_request, _name, _loadedCheck) => { },
776
791
  markFinished: (_request) => { },
777
792
  };
@@ -801,8 +816,9 @@ function handleSendFetchRequest(resourceRequest, resourceRequestContext, interce
801
816
  const path = `${baseUri}${basePath}`;
802
817
  const storageAndLogger = getStorageAndLogger(path);
803
818
  const transactionKey = getTransactionKey$1(resourceRequest);
819
+ const trackerId = generateRequestId();
804
820
  const response = checkLdsStorageCacheOrFetch(resourceRequest, resourceRequestContext, storageAndLogger, transactionKey, interceptors.request);
805
- internalRequestTracker.registerHandler(response, 'lds-inflight-network-request', () => {
821
+ internalRequestTracker.registerHandler(trackerId, 'lds-inflight-network-request', () => {
806
822
  // return false until we signal we are finished
807
823
  return false;
808
824
  });
@@ -818,7 +834,7 @@ function handleSendFetchRequest(resourceRequest, resourceRequestContext, interce
818
834
  internalRequestLogger.reject(resourceRequest, error);
819
835
  });
820
836
  return interceptedResponse.finally(() => {
821
- internalRequestTracker.markFinished(interceptedResponse);
837
+ internalRequestTracker.markFinished(trackerId);
822
838
  });
823
839
  }
824
840
  /**
@@ -829,7 +845,8 @@ function handleSendFetchRequest(resourceRequest, resourceRequestContext, interce
829
845
  * @returns lexNetworkAdapter {@link NetworkAdapter}
830
846
  */
831
847
  function setupLexNetworkAdapter(requestTracker, requestLogger, interceptors) {
832
- internalRequestTracker = requestTracker || internalRequestTracker;
848
+ internalRequestTracker =
849
+ requestTracker && requestTracker.hasTracker() ? requestTracker : internalRequestTracker;
833
850
  internalRequestLogger = requestLogger || internalRequestLogger;
834
851
  return async (resourceRequest, resourceRequestContext) => {
835
852
  return handleSendFetchRequest(resourceRequest, resourceRequestContext, interceptors ?? { request: [], response: [] });
@@ -854,5 +871,5 @@ function instrument(newInstrumentation) {
854
871
  Object.assign(instrumentation, newInstrumentation);
855
872
  }
856
873
 
857
- export { instrument, setupFetchNetworkAdapter, setupLexNetworkAdapter };
858
- // version: 1.396.0-08650966f4
874
+ export { generateRequestId, instrument, internalRequestTracker, setupFetchNetworkAdapter, setupLexNetworkAdapter };
875
+ // version: 1.397.0-08bd11d0bc
@@ -1,4 +1,5 @@
1
- export { setupFetchNetworkAdapter, setupLexNetworkAdapter } from './networkAdapter';
1
+ export { internalRequestTracker, setupFetchNetworkAdapter, setupLexNetworkAdapter, } from './networkAdapter';
2
2
  export type { RequestLogger, RequestTracker } from './networkAdapter';
3
+ export { generateRequestId } from './utils';
3
4
  export type { RequestInterceptor, ResponseInterceptor, Interceptors } from './utils';
4
5
  export { instrument, FetchNetworkInstrumentation } from './instrumentation';
@@ -1,9 +1,11 @@
1
1
  import type { NetworkAdapter, ResourceRequest } from '@luvio/engine';
2
2
  import { Interceptors } from './utils';
3
3
  export type RequestTracker = {
4
+ hasTracker: () => boolean;
4
5
  registerHandler: (request: any, name: string, loadedCheck: () => boolean) => void;
5
6
  markFinished: (request: any) => void;
6
7
  };
8
+ export declare let internalRequestTracker: RequestTracker;
7
9
  export type RequestLogger = {
8
10
  resolve: (request: ResourceRequest, response: any) => void;
9
11
  reject: (request: ResourceRequest, error: Error) => void;
@@ -26,4 +26,5 @@ export type Interceptors = {
26
26
  * @returns Promise<FetchResponse<any> - Promise that resolves to a fetch response.
27
27
  */
28
28
  export declare function checkLdsStorageCacheOrFetch(resourceRequest: ResourceRequest, resourceRequestContext: ResourceRequestContext, storageAndLogger: LdsStorageConfig | null, transactionKey: string, requestInterceptors?: RequestInterceptor[]): Promise<FetchResponse<any>>;
29
+ export declare function generateRequestId(): string;
29
30
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/lds-network-fetch",
3
- "version": "1.396.0",
3
+ "version": "1.397.0",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "description": "LDS Network Adapter using fetch",
6
6
  "main": "dist/ldsNetworkFetch.js",
@@ -38,6 +38,6 @@
38
38
  "@luvio/network-adapter-fetch": "0.158.7"
39
39
  },
40
40
  "devDependencies": {
41
- "@salesforce/lds-network-aura": "^1.396.0"
41
+ "@salesforce/lds-network-aura": "^1.397.0"
42
42
  }
43
43
  }