@salesforce/lds-worker-api 1.308.0 → 1.309.0-dev8

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.
@@ -1071,4 +1071,4 @@ if (process.env.NODE_ENV !== 'production') {
1071
1071
  }
1072
1072
 
1073
1073
  export { createPrimingSession, draftManager, draftQueue, evictCacheRecordsByIds, evictExpiredCacheEntries, executeAdapter, executeMutatingAdapter, getImperativeAdapterNames, invokeAdapter, invokeAdapterWithDraftToMerge, invokeAdapterWithDraftToReplace, invokeAdapterWithMetadata, nimbusDraftQueue, setMetadataTTL, setUiApiRecordTTL, stopEviction, subscribeToAdapter };
1074
- // version: 1.308.0-0a7e378822
1074
+ // version: 1.309.0-dev8-ad7bd154aa
@@ -931,7 +931,7 @@ class StringKeyInMemoryStore {
931
931
  }
932
932
  }
933
933
  expirePossibleStaleRecords(keys) {
934
- const expirationTimestamp = Date.now();
934
+ const expirationTimestamp = Date.now() - 1;
935
935
  for (let i = 0, len = keys.length; i < len; i++) {
936
936
  const key = keys[i];
937
937
  const metadata = this.readMetadata(key);
@@ -4137,7 +4137,7 @@ function createResourceParamsImpl(config, configMetadata) {
4137
4137
  }
4138
4138
  return resourceParams;
4139
4139
  }
4140
- // engine version: 0.156.3-04c1a80e
4140
+ // engine version: 0.156.4-dev1-8df86bf0
4141
4141
 
4142
4142
  /**
4143
4143
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -4265,7 +4265,7 @@ function withDefaultLuvio(callback) {
4265
4265
  }
4266
4266
  callbacks.push(callback);
4267
4267
  }
4268
- // version: 1.308.0-0a7e378822
4268
+ // version: 1.309.0-dev8-ad7bd154aa
4269
4269
 
4270
4270
  // TODO [TD-0081508]: once that TD is fulfilled we can probably change this file
4271
4271
  function instrumentAdapter$1(createFunction, _metadata) {
@@ -15764,7 +15764,7 @@ function gql(literals, ...subs) {
15764
15764
  }
15765
15765
  return superResult;
15766
15766
  }
15767
- // version: 1.308.0-0a7e378822
15767
+ // version: 1.309.0-dev8-ad7bd154aa
15768
15768
 
15769
15769
  function unwrap(data) {
15770
15770
  // The lwc-luvio bindings import a function from lwc called "unwrap".
@@ -16173,6 +16173,18 @@ class LWCInfinteScrollingLuvioWireAdapter extends LWCLuvioWireAdapter {
16173
16173
  },
16174
16174
  };
16175
16175
  }
16176
+ subscribe(snapshot) {
16177
+ var _a;
16178
+ super.subscribe(snapshot);
16179
+ // if the snapshot is refreshed we should stop using data from before the refresh
16180
+ if (this.connected && ((_a = snapshot.refresh) === null || _a === void 0 ? void 0 : _a.resolve)) {
16181
+ const originalResolve = snapshot.refresh.resolve;
16182
+ snapshot.refresh.resolve = (config) => {
16183
+ this.connectTimestamp = Date.now();
16184
+ return originalResolve(config);
16185
+ };
16186
+ }
16187
+ }
16176
16188
  }
16177
16189
  function createInfiniteScrollingWireAdapterConstructor$1(adapter, name, luvio) {
16178
16190
  const constructor = function (callback, sourceContext) {
@@ -16693,7 +16705,7 @@ function createGraphQLWireAdapterConstructor(luvio, adapter, metadata, astResolv
16693
16705
  const { apiFamily, name } = metadata;
16694
16706
  return createGraphQLWireAdapterConstructor$1(adapter, `${apiFamily}.${name}`, luvio, astResolver);
16695
16707
  }
16696
- // version: 1.308.0-0a7e378822
16708
+ // version: 1.309.0-dev8-ad7bd154aa
16697
16709
 
16698
16710
  /**
16699
16711
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -16792,7 +16804,7 @@ var TypeCheckShapes;
16792
16804
  TypeCheckShapes[TypeCheckShapes["Integer"] = 3] = "Integer";
16793
16805
  TypeCheckShapes[TypeCheckShapes["Unsupported"] = 4] = "Unsupported";
16794
16806
  })(TypeCheckShapes || (TypeCheckShapes = {}));
16795
- // engine version: 0.156.3-04c1a80e
16807
+ // engine version: 0.156.4-dev1-8df86bf0
16796
16808
 
16797
16809
  const { keys: ObjectKeys$3, create: ObjectCreate$3 } = Object;
16798
16810
 
@@ -40966,7 +40978,7 @@ const performUpdateRecordQuickAction_ConfigPropertyMetadata = [
40966
40978
  generateParamConfigMetadata$2('actionApiName', true, 0 /* UrlParameter */, 0 /* String */),
40967
40979
  generateParamConfigMetadata$2('allowSaveOnDuplicate', false, 2 /* Body */, 1 /* Boolean */),
40968
40980
  generateParamConfigMetadata$2('apiName', true, 2 /* Body */, 0 /* String */),
40969
- generateParamConfigMetadata$2('contextId', false, 2 /* Body */, 0 /* String */),
40981
+ generateParamConfigMetadata$2('contextId', false, 2 /* Body */, 0 /* String */, false, getRecordId18),
40970
40982
  generateParamConfigMetadata$2('fields', true, 2 /* Body */, 4 /* Unsupported */),
40971
40983
  ];
40972
40984
  const performUpdateRecordQuickAction_ConfigPropertyNames = /*#__PURE__*/ buildAdapterValidationConfig$2(adapterName$8, performUpdateRecordQuickAction_ConfigPropertyMetadata);
@@ -41012,7 +41024,8 @@ function validateAdapterConfig$b(untrustedConfig, configPropertyNames) {
41012
41024
  if (!untrustedIsObject$2(untrustedConfig)) {
41013
41025
  return null;
41014
41026
  }
41015
- const config = typeCheckConfig$d(untrustedConfig);
41027
+ const coercedConfig = coerceConfig$1(untrustedConfig, performUpdateRecordQuickAction_ConfigPropertyMetadata);
41028
+ const config = typeCheckConfig$d(coercedConfig);
41016
41029
  if (!areRequiredParametersPresent$1(config, configPropertyNames)) {
41017
41030
  return null;
41018
41031
  }
@@ -41086,7 +41099,7 @@ const performQuickAction_ConfigPropertyMetadata = [
41086
41099
  generateParamConfigMetadata$2('actionApiName', true, 0 /* UrlParameter */, 0 /* String */),
41087
41100
  generateParamConfigMetadata$2('allowSaveOnDuplicate', false, 2 /* Body */, 1 /* Boolean */),
41088
41101
  generateParamConfigMetadata$2('apiName', true, 2 /* Body */, 0 /* String */),
41089
- generateParamConfigMetadata$2('contextId', false, 2 /* Body */, 0 /* String */),
41102
+ generateParamConfigMetadata$2('contextId', false, 2 /* Body */, 0 /* String */, false, getRecordId18),
41090
41103
  generateParamConfigMetadata$2('fields', true, 2 /* Body */, 4 /* Unsupported */),
41091
41104
  ];
41092
41105
  const performQuickAction_ConfigPropertyNames = /*#__PURE__*/ buildAdapterValidationConfig$2(adapterName$7, performQuickAction_ConfigPropertyMetadata);
@@ -41132,7 +41145,8 @@ function validateAdapterConfig$a(untrustedConfig, configPropertyNames) {
41132
41145
  if (!untrustedIsObject$2(untrustedConfig)) {
41133
41146
  return null;
41134
41147
  }
41135
- const config = typeCheckConfig$c(untrustedConfig);
41148
+ const coercedConfig = coerceConfig$1(untrustedConfig, performQuickAction_ConfigPropertyMetadata);
41149
+ const config = typeCheckConfig$c(coercedConfig);
41136
41150
  if (!areRequiredParametersPresent$1(config, configPropertyNames)) {
41137
41151
  return null;
41138
41152
  }
@@ -44798,7 +44812,7 @@ withDefaultLuvio((luvio) => {
44798
44812
  throttle(60, 60000, setupNotifyAllListRecordUpdateAvailable(luvio));
44799
44813
  throttle(60, 60000, setupNotifyAllListInfoSummaryUpdateAvailable(luvio));
44800
44814
  });
44801
- // version: 1.308.0-e148a73d6a
44815
+ // version: 1.309.0-dev8-411e383cef
44802
44816
 
44803
44817
  var ldsIdempotencyWriteDisabled = {
44804
44818
  isOpen: function (e) {
@@ -50184,7 +50198,8 @@ function buildLuvioOverrideForDraftAdapters(luvio, handler, extractTargetIdFromC
50184
50198
  resourceRequestCopy.headers[HTTP_HEADER_IDEMPOTENCY_KEY] = uuidv4();
50185
50199
  }
50186
50200
  // enable return extra fields for record creation and record update http call
50187
- if (resourceRequest.basePath === '/ui-api/records' &&
50201
+ if (typeof resourceRequest.basePath === 'string' &&
50202
+ resourceRequest.basePath.startsWith('/ui-api/records') &&
50188
50203
  (resourceRequest.method === 'post' || resourceRequest.method === 'patch')) {
50189
50204
  resourceRequestCopy.queryParams = resourceRequestCopy.queryParams || {};
50190
50205
  resourceRequestCopy.queryParams['includeFieldsInBody'] = true;
@@ -51993,10 +52008,49 @@ const { stringify: stringify$4, parse: parse$4 } = JSON;
51993
52008
  const { shift } = Array.prototype;
51994
52009
  const { isArray: isArray$2$1, from: from$2 } = Array;
51995
52010
 
52011
+ /**
52012
+ * Retrieves a denormalized record from the store
52013
+ * NOTE: do no use this if you don't know what you're doing, this can still contain normalized record references
52014
+ * @param recordKey record key
52015
+ * @param durableStore the durable store
52016
+ * @returns a DraftRecordRepresentation containing the requested fields
52017
+ */
52018
+ function getDenormalizedRecord(recordKey, durableStore) {
52019
+ return durableStore
52020
+ .getEntries([recordKey], DefaultDurableSegment)
52021
+ .then((entries) => {
52022
+ if (entries === undefined) {
52023
+ return undefined;
52024
+ }
52025
+ const denormalizedEntry = entries[recordKey];
52026
+ if (denormalizedEntry === undefined) {
52027
+ return undefined;
52028
+ }
52029
+ // don't include link information
52030
+ const denormalizedRecord = denormalizedEntry.data;
52031
+ if (isStoreRecordError(denormalizedRecord)) {
52032
+ return undefined;
52033
+ }
52034
+ return denormalizedRecord;
52035
+ });
52036
+ }
52037
+ function isStoreRecordError(storeRecord) {
52038
+ return storeRecord.__type === 'error';
52039
+ }
52040
+ function isDraftFieldPending(field) {
52041
+ return !!(field.__state && field.__state.pending === true);
52042
+ }
52043
+ function isDraftFieldMissing(field) {
52044
+ return !!(field.__state && field.__state.isMissing === true);
52045
+ }
52046
+
51996
52047
  function isFieldLink(field) {
51997
52048
  const { value } = field;
51998
52049
  return value !== null && typeof value === 'object' && value.__ref !== undefined;
51999
52050
  }
52051
+ function isPendingOrMissing(field) {
52052
+ return isDraftFieldMissing(field) || isDraftFieldPending(field);
52053
+ }
52000
52054
 
52001
52055
  const RECORD_ENDPOINT_REGEX$1 = /^\/ui-api\/records\/?(([a-zA-Z0-9]+))?$/;
52002
52056
  /**
@@ -52053,12 +52107,12 @@ function getRecordKeyForId(luvio, recordId) {
52053
52107
  * @param record draft record representation
52054
52108
  * @returns flattened record representation
52055
52109
  */
52056
- function filterOutReferenceFieldsAndLinks(record) {
52110
+ function filterOutReferenceNonScalarFields(record) {
52057
52111
  const filteredFields = {};
52058
52112
  const fieldNames = keys$5(record.fields);
52059
52113
  for (const fieldName of fieldNames) {
52060
52114
  const field = record.fields[fieldName];
52061
- if (isFieldLink(field) === false) {
52115
+ if (isFieldLink(field) === false && isPendingOrMissing(field) === false) {
52062
52116
  filteredFields[fieldName] = field;
52063
52117
  }
52064
52118
  }
@@ -52072,42 +52126,6 @@ function filterOutReferenceFieldsAndLinks(record) {
52072
52126
  return filteredRecords;
52073
52127
  }
52074
52128
 
52075
- /**
52076
- * Retrieves a denormalized record from the store
52077
- * NOTE: do no use this if you don't know what you're doing, this can still contain normalized record references
52078
- * @param recordKey record key
52079
- * @param durableStore the durable store
52080
- * @returns a DraftRecordRepresentation containing the requested fields
52081
- */
52082
- function getDenormalizedRecord(recordKey, durableStore) {
52083
- return durableStore
52084
- .getEntries([recordKey], DefaultDurableSegment)
52085
- .then((entries) => {
52086
- if (entries === undefined) {
52087
- return undefined;
52088
- }
52089
- const denormalizedEntry = entries[recordKey];
52090
- if (denormalizedEntry === undefined) {
52091
- return undefined;
52092
- }
52093
- // don't include link information
52094
- const denormalizedRecord = denormalizedEntry.data;
52095
- if (isStoreRecordError(denormalizedRecord)) {
52096
- return undefined;
52097
- }
52098
- return denormalizedRecord;
52099
- });
52100
- }
52101
- function isStoreRecordError(storeRecord) {
52102
- return storeRecord.__type === 'error';
52103
- }
52104
- function isDraftFieldPending(field) {
52105
- return !!(field.__state && field.__state.pending === true);
52106
- }
52107
- function isDraftFieldMissing(field) {
52108
- return !!(field.__state && field.__state.isMissing === true);
52109
- }
52110
-
52111
52129
  /**
52112
52130
  * Checks if a resource request is a GET method on the record endpoint
52113
52131
  * @param request the resource request
@@ -53145,7 +53163,7 @@ class UiApiActionHandler extends AbstractResourceRequestActionHandler {
53145
53163
  if (recordWithDrafts === undefined) {
53146
53164
  return undefined;
53147
53165
  }
53148
- return filterOutReferenceFieldsAndLinks(recordWithDrafts);
53166
+ return filterOutReferenceNonScalarFields(recordWithDrafts);
53149
53167
  }
53150
53168
  const record = await getDenormalizedRecord(key, this.durableStore);
53151
53169
  if (record === undefined) {
@@ -53156,7 +53174,7 @@ class UiApiActionHandler extends AbstractResourceRequestActionHandler {
53156
53174
  if (recordWithDrafts === undefined) {
53157
53175
  return recordWithDrafts;
53158
53176
  }
53159
- return filterOutReferenceFieldsAndLinks(recordWithDrafts);
53177
+ return filterOutReferenceNonScalarFields(recordWithDrafts);
53160
53178
  }
53161
53179
  applyDraftsToIncomingData(key, data, draftMetadata, publishData) {
53162
53180
  if (draftMetadata === undefined) {
@@ -54052,9 +54070,9 @@ class ContentDocumentCompositeRepresentationActionHandler extends AbstractResour
54052
54070
  return undefined;
54053
54071
  }
54054
54072
  // finally we resolve all references for each record
54055
- const contentDocResolved = await filterOutReferenceFieldsAndLinks(contentDocRecord);
54056
- const contentDocLinkResolved = await filterOutReferenceFieldsAndLinks(contentDocLink);
54057
- const contentVersionResolved = await filterOutReferenceFieldsAndLinks(contentVersion);
54073
+ const contentDocResolved = await filterOutReferenceNonScalarFields(contentDocRecord);
54074
+ const contentDocLinkResolved = await filterOutReferenceNonScalarFields(contentDocLink);
54075
+ const contentVersionResolved = await filterOutReferenceNonScalarFields(contentVersion);
54058
54076
  return {
54059
54077
  contentDocument: contentDocResolved,
54060
54078
  contentDocumentLinks: [contentDocLinkResolved],
@@ -63926,7 +63944,7 @@ register$1({
63926
63944
  id: '@salesforce/lds-network-adapter',
63927
63945
  instrument: instrument$2,
63928
63946
  });
63929
- // version: 1.308.0-0a7e378822
63947
+ // version: 1.309.0-dev8-ad7bd154aa
63930
63948
 
63931
63949
  const { create: create$3, keys: keys$3 } = Object;
63932
63950
  const { stringify: stringify$1, parse: parse$1 } = JSON;
@@ -83962,7 +83980,7 @@ register$1({
83962
83980
  configuration: { ...configurationForGraphQLAdapters$1 },
83963
83981
  instrument: instrument$1,
83964
83982
  });
83965
- // version: 1.308.0-e148a73d6a
83983
+ // version: 1.309.0-dev8-411e383cef
83966
83984
 
83967
83985
  // On core the unstable adapters are re-exported with different names,
83968
83986
  // we want to match them here.
@@ -86218,7 +86236,7 @@ withDefaultLuvio((luvio) => {
86218
86236
  unstable_graphQL_imperative = createImperativeAdapter(luvio, createInstrumentedAdapter(ldsAdapter, adapterMetadata), adapterMetadata);
86219
86237
  graphQLImperative = ldsAdapter;
86220
86238
  });
86221
- // version: 1.308.0-e148a73d6a
86239
+ // version: 1.309.0-dev8-411e383cef
86222
86240
 
86223
86241
  var gqlApi = /*#__PURE__*/Object.freeze({
86224
86242
  __proto__: null,
@@ -86953,7 +86971,7 @@ const callbacks$1 = [];
86953
86971
  function register(r) {
86954
86972
  callbacks$1.forEach((callback) => callback(r));
86955
86973
  }
86956
- // version: 1.308.0-0a7e378822
86974
+ // version: 1.309.0-dev8-ad7bd154aa
86957
86975
 
86958
86976
  /**
86959
86977
  * Returns true if the value acts like a Promise, i.e. has a "then" function,
@@ -91915,4 +91933,4 @@ const { luvio } = getRuntime();
91915
91933
  setDefaultLuvio({ luvio });
91916
91934
 
91917
91935
  export { createPrimingSession, draftManager, draftQueue, evictCacheRecordsByIds, evictExpiredCacheEntries, executeAdapter, executeMutatingAdapter, getImperativeAdapterNames, invokeAdapter, invokeAdapterWithDraftToMerge, invokeAdapterWithDraftToReplace, invokeAdapterWithMetadata, nimbusDraftQueue, registerReportObserver, setMetadataTTL, setUiApiRecordTTL, stopEviction, subscribeToAdapter };
91918
- // version: 1.308.0-0a7e378822
91936
+ // version: 1.309.0-dev8-ad7bd154aa
@@ -937,7 +937,7 @@
937
937
  }
938
938
  }
939
939
  expirePossibleStaleRecords(keys) {
940
- const expirationTimestamp = Date.now();
940
+ const expirationTimestamp = Date.now() - 1;
941
941
  for (let i = 0, len = keys.length; i < len; i++) {
942
942
  const key = keys[i];
943
943
  const metadata = this.readMetadata(key);
@@ -4143,7 +4143,7 @@
4143
4143
  }
4144
4144
  return resourceParams;
4145
4145
  }
4146
- // engine version: 0.156.3-04c1a80e
4146
+ // engine version: 0.156.4-dev1-8df86bf0
4147
4147
 
4148
4148
  /**
4149
4149
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -4271,7 +4271,7 @@
4271
4271
  }
4272
4272
  callbacks.push(callback);
4273
4273
  }
4274
- // version: 1.308.0-0a7e378822
4274
+ // version: 1.309.0-dev8-ad7bd154aa
4275
4275
 
4276
4276
  // TODO [TD-0081508]: once that TD is fulfilled we can probably change this file
4277
4277
  function instrumentAdapter$1(createFunction, _metadata) {
@@ -15770,7 +15770,7 @@
15770
15770
  }
15771
15771
  return superResult;
15772
15772
  }
15773
- // version: 1.308.0-0a7e378822
15773
+ // version: 1.309.0-dev8-ad7bd154aa
15774
15774
 
15775
15775
  function unwrap(data) {
15776
15776
  // The lwc-luvio bindings import a function from lwc called "unwrap".
@@ -16179,6 +16179,18 @@
16179
16179
  },
16180
16180
  };
16181
16181
  }
16182
+ subscribe(snapshot) {
16183
+ var _a;
16184
+ super.subscribe(snapshot);
16185
+ // if the snapshot is refreshed we should stop using data from before the refresh
16186
+ if (this.connected && ((_a = snapshot.refresh) === null || _a === void 0 ? void 0 : _a.resolve)) {
16187
+ const originalResolve = snapshot.refresh.resolve;
16188
+ snapshot.refresh.resolve = (config) => {
16189
+ this.connectTimestamp = Date.now();
16190
+ return originalResolve(config);
16191
+ };
16192
+ }
16193
+ }
16182
16194
  }
16183
16195
  function createInfiniteScrollingWireAdapterConstructor$1(adapter, name, luvio) {
16184
16196
  const constructor = function (callback, sourceContext) {
@@ -16699,7 +16711,7 @@
16699
16711
  const { apiFamily, name } = metadata;
16700
16712
  return createGraphQLWireAdapterConstructor$1(adapter, `${apiFamily}.${name}`, luvio, astResolver);
16701
16713
  }
16702
- // version: 1.308.0-0a7e378822
16714
+ // version: 1.309.0-dev8-ad7bd154aa
16703
16715
 
16704
16716
  /**
16705
16717
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -16798,7 +16810,7 @@
16798
16810
  TypeCheckShapes[TypeCheckShapes["Integer"] = 3] = "Integer";
16799
16811
  TypeCheckShapes[TypeCheckShapes["Unsupported"] = 4] = "Unsupported";
16800
16812
  })(TypeCheckShapes || (TypeCheckShapes = {}));
16801
- // engine version: 0.156.3-04c1a80e
16813
+ // engine version: 0.156.4-dev1-8df86bf0
16802
16814
 
16803
16815
  const { keys: ObjectKeys$3, create: ObjectCreate$3 } = Object;
16804
16816
 
@@ -40972,7 +40984,7 @@
40972
40984
  generateParamConfigMetadata$2('actionApiName', true, 0 /* UrlParameter */, 0 /* String */),
40973
40985
  generateParamConfigMetadata$2('allowSaveOnDuplicate', false, 2 /* Body */, 1 /* Boolean */),
40974
40986
  generateParamConfigMetadata$2('apiName', true, 2 /* Body */, 0 /* String */),
40975
- generateParamConfigMetadata$2('contextId', false, 2 /* Body */, 0 /* String */),
40987
+ generateParamConfigMetadata$2('contextId', false, 2 /* Body */, 0 /* String */, false, getRecordId18),
40976
40988
  generateParamConfigMetadata$2('fields', true, 2 /* Body */, 4 /* Unsupported */),
40977
40989
  ];
40978
40990
  const performUpdateRecordQuickAction_ConfigPropertyNames = /*#__PURE__*/ buildAdapterValidationConfig$2(adapterName$8, performUpdateRecordQuickAction_ConfigPropertyMetadata);
@@ -41018,7 +41030,8 @@
41018
41030
  if (!untrustedIsObject$2(untrustedConfig)) {
41019
41031
  return null;
41020
41032
  }
41021
- const config = typeCheckConfig$d(untrustedConfig);
41033
+ const coercedConfig = coerceConfig$1(untrustedConfig, performUpdateRecordQuickAction_ConfigPropertyMetadata);
41034
+ const config = typeCheckConfig$d(coercedConfig);
41022
41035
  if (!areRequiredParametersPresent$1(config, configPropertyNames)) {
41023
41036
  return null;
41024
41037
  }
@@ -41092,7 +41105,7 @@
41092
41105
  generateParamConfigMetadata$2('actionApiName', true, 0 /* UrlParameter */, 0 /* String */),
41093
41106
  generateParamConfigMetadata$2('allowSaveOnDuplicate', false, 2 /* Body */, 1 /* Boolean */),
41094
41107
  generateParamConfigMetadata$2('apiName', true, 2 /* Body */, 0 /* String */),
41095
- generateParamConfigMetadata$2('contextId', false, 2 /* Body */, 0 /* String */),
41108
+ generateParamConfigMetadata$2('contextId', false, 2 /* Body */, 0 /* String */, false, getRecordId18),
41096
41109
  generateParamConfigMetadata$2('fields', true, 2 /* Body */, 4 /* Unsupported */),
41097
41110
  ];
41098
41111
  const performQuickAction_ConfigPropertyNames = /*#__PURE__*/ buildAdapterValidationConfig$2(adapterName$7, performQuickAction_ConfigPropertyMetadata);
@@ -41138,7 +41151,8 @@
41138
41151
  if (!untrustedIsObject$2(untrustedConfig)) {
41139
41152
  return null;
41140
41153
  }
41141
- const config = typeCheckConfig$c(untrustedConfig);
41154
+ const coercedConfig = coerceConfig$1(untrustedConfig, performQuickAction_ConfigPropertyMetadata);
41155
+ const config = typeCheckConfig$c(coercedConfig);
41142
41156
  if (!areRequiredParametersPresent$1(config, configPropertyNames)) {
41143
41157
  return null;
41144
41158
  }
@@ -44804,7 +44818,7 @@
44804
44818
  throttle(60, 60000, setupNotifyAllListRecordUpdateAvailable(luvio));
44805
44819
  throttle(60, 60000, setupNotifyAllListInfoSummaryUpdateAvailable(luvio));
44806
44820
  });
44807
- // version: 1.308.0-e148a73d6a
44821
+ // version: 1.309.0-dev8-411e383cef
44808
44822
 
44809
44823
  var ldsIdempotencyWriteDisabled = {
44810
44824
  isOpen: function (e) {
@@ -50190,7 +50204,8 @@
50190
50204
  resourceRequestCopy.headers[HTTP_HEADER_IDEMPOTENCY_KEY] = uuidv4();
50191
50205
  }
50192
50206
  // enable return extra fields for record creation and record update http call
50193
- if (resourceRequest.basePath === '/ui-api/records' &&
50207
+ if (typeof resourceRequest.basePath === 'string' &&
50208
+ resourceRequest.basePath.startsWith('/ui-api/records') &&
50194
50209
  (resourceRequest.method === 'post' || resourceRequest.method === 'patch')) {
50195
50210
  resourceRequestCopy.queryParams = resourceRequestCopy.queryParams || {};
50196
50211
  resourceRequestCopy.queryParams['includeFieldsInBody'] = true;
@@ -51999,10 +52014,49 @@
51999
52014
  const { shift } = Array.prototype;
52000
52015
  const { isArray: isArray$2$1, from: from$2 } = Array;
52001
52016
 
52017
+ /**
52018
+ * Retrieves a denormalized record from the store
52019
+ * NOTE: do no use this if you don't know what you're doing, this can still contain normalized record references
52020
+ * @param recordKey record key
52021
+ * @param durableStore the durable store
52022
+ * @returns a DraftRecordRepresentation containing the requested fields
52023
+ */
52024
+ function getDenormalizedRecord(recordKey, durableStore) {
52025
+ return durableStore
52026
+ .getEntries([recordKey], DefaultDurableSegment)
52027
+ .then((entries) => {
52028
+ if (entries === undefined) {
52029
+ return undefined;
52030
+ }
52031
+ const denormalizedEntry = entries[recordKey];
52032
+ if (denormalizedEntry === undefined) {
52033
+ return undefined;
52034
+ }
52035
+ // don't include link information
52036
+ const denormalizedRecord = denormalizedEntry.data;
52037
+ if (isStoreRecordError(denormalizedRecord)) {
52038
+ return undefined;
52039
+ }
52040
+ return denormalizedRecord;
52041
+ });
52042
+ }
52043
+ function isStoreRecordError(storeRecord) {
52044
+ return storeRecord.__type === 'error';
52045
+ }
52046
+ function isDraftFieldPending(field) {
52047
+ return !!(field.__state && field.__state.pending === true);
52048
+ }
52049
+ function isDraftFieldMissing(field) {
52050
+ return !!(field.__state && field.__state.isMissing === true);
52051
+ }
52052
+
52002
52053
  function isFieldLink(field) {
52003
52054
  const { value } = field;
52004
52055
  return value !== null && typeof value === 'object' && value.__ref !== undefined;
52005
52056
  }
52057
+ function isPendingOrMissing(field) {
52058
+ return isDraftFieldMissing(field) || isDraftFieldPending(field);
52059
+ }
52006
52060
 
52007
52061
  const RECORD_ENDPOINT_REGEX$1 = /^\/ui-api\/records\/?(([a-zA-Z0-9]+))?$/;
52008
52062
  /**
@@ -52059,12 +52113,12 @@
52059
52113
  * @param record draft record representation
52060
52114
  * @returns flattened record representation
52061
52115
  */
52062
- function filterOutReferenceFieldsAndLinks(record) {
52116
+ function filterOutReferenceNonScalarFields(record) {
52063
52117
  const filteredFields = {};
52064
52118
  const fieldNames = keys$5(record.fields);
52065
52119
  for (const fieldName of fieldNames) {
52066
52120
  const field = record.fields[fieldName];
52067
- if (isFieldLink(field) === false) {
52121
+ if (isFieldLink(field) === false && isPendingOrMissing(field) === false) {
52068
52122
  filteredFields[fieldName] = field;
52069
52123
  }
52070
52124
  }
@@ -52078,42 +52132,6 @@
52078
52132
  return filteredRecords;
52079
52133
  }
52080
52134
 
52081
- /**
52082
- * Retrieves a denormalized record from the store
52083
- * NOTE: do no use this if you don't know what you're doing, this can still contain normalized record references
52084
- * @param recordKey record key
52085
- * @param durableStore the durable store
52086
- * @returns a DraftRecordRepresentation containing the requested fields
52087
- */
52088
- function getDenormalizedRecord(recordKey, durableStore) {
52089
- return durableStore
52090
- .getEntries([recordKey], DefaultDurableSegment)
52091
- .then((entries) => {
52092
- if (entries === undefined) {
52093
- return undefined;
52094
- }
52095
- const denormalizedEntry = entries[recordKey];
52096
- if (denormalizedEntry === undefined) {
52097
- return undefined;
52098
- }
52099
- // don't include link information
52100
- const denormalizedRecord = denormalizedEntry.data;
52101
- if (isStoreRecordError(denormalizedRecord)) {
52102
- return undefined;
52103
- }
52104
- return denormalizedRecord;
52105
- });
52106
- }
52107
- function isStoreRecordError(storeRecord) {
52108
- return storeRecord.__type === 'error';
52109
- }
52110
- function isDraftFieldPending(field) {
52111
- return !!(field.__state && field.__state.pending === true);
52112
- }
52113
- function isDraftFieldMissing(field) {
52114
- return !!(field.__state && field.__state.isMissing === true);
52115
- }
52116
-
52117
52135
  /**
52118
52136
  * Checks if a resource request is a GET method on the record endpoint
52119
52137
  * @param request the resource request
@@ -53151,7 +53169,7 @@
53151
53169
  if (recordWithDrafts === undefined) {
53152
53170
  return undefined;
53153
53171
  }
53154
- return filterOutReferenceFieldsAndLinks(recordWithDrafts);
53172
+ return filterOutReferenceNonScalarFields(recordWithDrafts);
53155
53173
  }
53156
53174
  const record = await getDenormalizedRecord(key, this.durableStore);
53157
53175
  if (record === undefined) {
@@ -53162,7 +53180,7 @@
53162
53180
  if (recordWithDrafts === undefined) {
53163
53181
  return recordWithDrafts;
53164
53182
  }
53165
- return filterOutReferenceFieldsAndLinks(recordWithDrafts);
53183
+ return filterOutReferenceNonScalarFields(recordWithDrafts);
53166
53184
  }
53167
53185
  applyDraftsToIncomingData(key, data, draftMetadata, publishData) {
53168
53186
  if (draftMetadata === undefined) {
@@ -54058,9 +54076,9 @@
54058
54076
  return undefined;
54059
54077
  }
54060
54078
  // finally we resolve all references for each record
54061
- const contentDocResolved = await filterOutReferenceFieldsAndLinks(contentDocRecord);
54062
- const contentDocLinkResolved = await filterOutReferenceFieldsAndLinks(contentDocLink);
54063
- const contentVersionResolved = await filterOutReferenceFieldsAndLinks(contentVersion);
54079
+ const contentDocResolved = await filterOutReferenceNonScalarFields(contentDocRecord);
54080
+ const contentDocLinkResolved = await filterOutReferenceNonScalarFields(contentDocLink);
54081
+ const contentVersionResolved = await filterOutReferenceNonScalarFields(contentVersion);
54064
54082
  return {
54065
54083
  contentDocument: contentDocResolved,
54066
54084
  contentDocumentLinks: [contentDocLinkResolved],
@@ -63932,7 +63950,7 @@
63932
63950
  id: '@salesforce/lds-network-adapter',
63933
63951
  instrument: instrument$2,
63934
63952
  });
63935
- // version: 1.308.0-0a7e378822
63953
+ // version: 1.309.0-dev8-ad7bd154aa
63936
63954
 
63937
63955
  const { create: create$3, keys: keys$3 } = Object;
63938
63956
  const { stringify: stringify$1, parse: parse$1 } = JSON;
@@ -83968,7 +83986,7 @@
83968
83986
  configuration: { ...configurationForGraphQLAdapters$1 },
83969
83987
  instrument: instrument$1,
83970
83988
  });
83971
- // version: 1.308.0-e148a73d6a
83989
+ // version: 1.309.0-dev8-411e383cef
83972
83990
 
83973
83991
  // On core the unstable adapters are re-exported with different names,
83974
83992
  // we want to match them here.
@@ -86224,7 +86242,7 @@
86224
86242
  unstable_graphQL_imperative = createImperativeAdapter(luvio, createInstrumentedAdapter(ldsAdapter, adapterMetadata), adapterMetadata);
86225
86243
  graphQLImperative = ldsAdapter;
86226
86244
  });
86227
- // version: 1.308.0-e148a73d6a
86245
+ // version: 1.309.0-dev8-411e383cef
86228
86246
 
86229
86247
  var gqlApi = /*#__PURE__*/Object.freeze({
86230
86248
  __proto__: null,
@@ -86959,7 +86977,7 @@
86959
86977
  function register(r) {
86960
86978
  callbacks$1.forEach((callback) => callback(r));
86961
86979
  }
86962
- // version: 1.308.0-0a7e378822
86980
+ // version: 1.309.0-dev8-ad7bd154aa
86963
86981
 
86964
86982
  /**
86965
86983
  * Returns true if the value acts like a Promise, i.e. has a "then" function,
@@ -91940,4 +91958,4 @@
91940
91958
  exports.subscribeToAdapter = subscribeToAdapter;
91941
91959
 
91942
91960
  }));
91943
- // version: 1.308.0-0a7e378822
91961
+ // version: 1.309.0-dev8-ad7bd154aa
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/lds-worker-api",
3
- "version": "1.308.0",
3
+ "version": "1.309.0-dev8",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "description": "",
6
6
  "main": "dist/standalone/es/lds-worker-api.js",
@@ -35,15 +35,15 @@
35
35
  },
36
36
  "devDependencies": {
37
37
  "@oat-sa/rollup-plugin-wildcard-external": "^1.0.0",
38
- "@salesforce/lds-adapters-graphql": "^1.308.0",
39
- "@salesforce/lds-adapters-uiapi": "^1.308.0",
40
- "@salesforce/lds-default-luvio": "^1.308.0",
41
- "@salesforce/lds-drafts": "^1.308.0",
42
- "@salesforce/lds-graphql-parser": "^1.308.0",
43
- "@salesforce/lds-luvio-engine": "^1.308.0",
44
- "@salesforce/lds-priming": "^1.308.0",
45
- "@salesforce/lds-runtime-mobile": "^1.308.0",
46
- "@salesforce/nimbus-plugin-lds": "^1.308.0",
38
+ "@salesforce/lds-adapters-graphql": "^1.309.0-dev8",
39
+ "@salesforce/lds-adapters-uiapi": "^1.309.0-dev8",
40
+ "@salesforce/lds-default-luvio": "^1.309.0-dev8",
41
+ "@salesforce/lds-drafts": "^1.309.0-dev8",
42
+ "@salesforce/lds-graphql-parser": "^1.309.0-dev8",
43
+ "@salesforce/lds-luvio-engine": "^1.309.0-dev8",
44
+ "@salesforce/lds-priming": "^1.309.0-dev8",
45
+ "@salesforce/lds-runtime-mobile": "^1.309.0-dev8",
46
+ "@salesforce/nimbus-plugin-lds": "^1.309.0-dev8",
47
47
  "ajv": "^8.11.0",
48
48
  "glob": "^7.1.5",
49
49
  "nimbus-types": "^2.0.0-alpha1",