@salesforce/lds-ads-bridge 1.114.1 → 1.114.4

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.
@@ -368,7 +368,7 @@ const callbacks$1 = [];
368
368
  function register(r) {
369
369
  callbacks$1.forEach((callback) => callback(r));
370
370
  }
371
- // version: 1.114.1-f3347d8bf
371
+ // version: 1.114.4-844684b4c
372
372
 
373
373
  /**
374
374
  * Returns true if the value acts like a Promise, i.e. has a "then" function,
@@ -8696,15 +8696,24 @@ function createFieldsIngestSuccess$3(params) {
8696
8696
 
8697
8697
  function fulfill(existing, incoming) {
8698
8698
  // early out if incoming isn't a request only for fields and optionalFields
8699
- const { queryParams, headers, basePath, baseUri } = incoming;
8700
- const { basePath: existingBasePath, baseUri: existingBaseUri, headers: existingHeaders, } = existing;
8699
+ const { queryParams, headers, basePath, baseUri, urlParams } = incoming;
8700
+ const { basePath: existingBasePath, baseUri: existingBaseUri, headers: existingHeaders, urlParams: existingUrlParams, } = existing;
8701
8701
  const path = `${baseUri}${basePath}`;
8702
- const existingPath = `${existingBasePath}${existingBaseUri}`;
8702
+ const existingPath = `${existingBaseUri}${existingBasePath}`;
8703
8703
  if (queryParams.layoutTypes !== undefined) {
8704
8704
  return false;
8705
8705
  }
8706
8706
  if (existingPath !== path) {
8707
- return false;
8707
+ // W-11964675 - Correlate an incoming single record request to an existing batch record
8708
+ // request requesting the same single record
8709
+ const incomingUrlRecords = getRecordIdsFromUrlParams(urlParams);
8710
+ const existingUrlRecords = getRecordIdsFromUrlParams(existingUrlParams);
8711
+ const batchRequestWithSingleRequest = isSingleBatchRecordRequest(existingUrlParams) &&
8712
+ isSingleRecordRequest(urlParams) &&
8713
+ incomingUrlRecords[0] === existingUrlRecords[0];
8714
+ if (!batchRequestWithSingleRequest) {
8715
+ return false;
8716
+ }
8708
8717
  }
8709
8718
  const headersKeys = keys$1(headers);
8710
8719
  const headersKeyLength = headersKeys.length;
@@ -8728,6 +8737,22 @@ function unionFields(fields, optionalFields) {
8728
8737
  const fieldsArray = isArray(fields) ? fields : [];
8729
8738
  const optionalFieldsArray = isArray(optionalFields) ? optionalFields : [];
8730
8739
  return [...fieldsArray, ...optionalFieldsArray];
8740
+ }
8741
+ function getRecordIdsFromUrlParams(urlParams) {
8742
+ if (hasOwnProperty$1.call(urlParams, 'recordId')) {
8743
+ return [urlParams.recordId];
8744
+ }
8745
+ else if (hasOwnProperty$1.call(urlParams, 'recordIds')) {
8746
+ return urlParams.recordIds;
8747
+ }
8748
+ return [];
8749
+ }
8750
+ function isSingleBatchRecordRequest(urlParams) {
8751
+ return (hasOwnProperty$1.call(urlParams, 'recordIds') &&
8752
+ urlParams.recordIds.length === 1);
8753
+ }
8754
+ function isSingleRecordRequest(urlParams) {
8755
+ return hasOwnProperty$1.call(urlParams, 'recordId');
8731
8756
  }
8732
8757
 
8733
8758
  const createResourceRequest$14 = function getUiApiRecordsByRecordIdCreateResourceRequest(config) {
@@ -8835,13 +8860,29 @@ function onResourceError(luvio, config, key, err) {
8835
8860
  function buildNetworkSnapshot$$(luvio, config, serverRequestCount = 0, options) {
8836
8861
  const { request, key, allTrackedFields, resourceParams } = prepareRequest$6(luvio, config);
8837
8862
  return luvio.dispatchResourceRequest(request, options).then((response) => {
8838
- return luvio.handleSuccessResponse(() => onResourceSuccess(luvio, config, key, allTrackedFields, response, serverRequestCount + 1), () => getResponseCacheKeys$X(luvio, resourceParams, response.body));
8863
+ return luvio.handleSuccessResponse(() => {
8864
+ // W-11964675 - Condition to dedupe a very specific set of requests for
8865
+ // Komaci - a batch record request with a single record followed by a single
8866
+ // record request. The fulfill logic sends the same network response, so
8867
+ // there is some TypeScript massaging to extract the RecordRepresentation
8868
+ if (isSingleBatchRecordResponse(response.body)) {
8869
+ let recordResponse = response;
8870
+ recordResponse.body = response.body.results[0]
8871
+ .result;
8872
+ return onResourceSuccess(luvio, config, key, allTrackedFields, recordResponse, serverRequestCount + 1);
8873
+ }
8874
+ return onResourceSuccess(luvio, config, key, allTrackedFields, response, serverRequestCount + 1);
8875
+ }, () => getResponseCacheKeys$X(luvio, resourceParams, response.body));
8839
8876
  }, (err) => {
8840
8877
  return luvio.handleErrorResponse(() => {
8841
8878
  return onResourceError(luvio, config, key, err);
8842
8879
  });
8843
8880
  });
8844
8881
  }
8882
+ function isSingleBatchRecordResponse(response) {
8883
+ return (isArray(response.results) &&
8884
+ response.results.length === 1);
8885
+ }
8845
8886
 
8846
8887
  const VERSION$1Q = "98cce53b8d13b1883d001bbdaab24383";
8847
8888
 
package/dist/adsBridge.js CHANGED
@@ -375,4 +375,4 @@ function withAdsBridge(callback) {
375
375
  }
376
376
 
377
377
  export { instrument, withAdsBridge };
378
- // version: 1.114.1-f3347d8bf
378
+ // version: 1.114.4-844684b4c
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/lds-ads-bridge",
3
- "version": "1.114.1",
3
+ "version": "1.114.4",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "description": "Bridge to sync data between LDS and ADS",
6
6
  "main": "dist/adsBridge.js",
@@ -29,7 +29,7 @@
29
29
  "release:corejar": "yarn build && ../core-build/scripts/core.js --name=lds-ads-bridge"
30
30
  },
31
31
  "devDependencies": {
32
- "@salesforce/lds-adapters-uiapi": "^1.114.1",
33
- "@salesforce/lds-uiapi-record-utils": "^1.114.1"
32
+ "@salesforce/lds-adapters-uiapi": "*",
33
+ "@salesforce/lds-uiapi-record-utils": "*"
34
34
  }
35
35
  }