@salesforce/lds-adapters-uiapi 1.127.0 → 1.128.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.
@@ -1,5 +1,5 @@
1
1
  import { IngestPath as $64$luvio_engine_IngestPath, Luvio as $64$luvio_engine_Luvio, Store as $64$luvio_engine_Store, FragmentSelection as $64$luvio_engine_FragmentSelection, ResourceIngest as $64$luvio_engine_ResourceIngest, NormalizedKeyMetadata as $64$luvio_engine_NormalizedKeyMetadata, DurableStoreKeyMetadataMap as $64$luvio_engine_DurableStoreKeyMetadataMap } from '@luvio/engine';
2
- export declare const VERSION = "3b339f50551a63986bb2aa52572d2953";
2
+ export declare const VERSION = "275ae22194003d1e53f548b81219c5cb";
3
3
  export declare function validate(obj: any, path?: string): TypeError | null;
4
4
  export declare const RepresentationType: string;
5
5
  export declare function normalize(input: ListColumnRepresentation, existing: ListColumnRepresentationNormalized, path: $64$luvio_engine_IngestPath, luvio: $64$luvio_engine_Luvio, store: $64$luvio_engine_Store, timestamp: number): ListColumnRepresentationNormalized;
@@ -19,6 +19,8 @@ export interface ListColumnRepresentationNormalized {
19
19
  fieldApiName: string;
20
20
  /** Label of the field. */
21
21
  label: string;
22
+ /** The lookupId for the column when the field is a reference, otherwise null. */
23
+ lookupId: string | null;
22
24
  /** Whether the list column is sortable. */
23
25
  sortable: boolean;
24
26
  }
@@ -31,5 +33,6 @@ export interface ListColumnRepresentationNormalized {
31
33
  export interface ListColumnRepresentation {
32
34
  fieldApiName: string;
33
35
  label: string;
36
+ lookupId: string | null;
34
37
  sortable: boolean;
35
38
  }
@@ -1,9 +1,11 @@
1
1
  import type { Luvio, Fragment, ResourceRequest, FetchResponse, SnapshotRefresh, FulfilledSnapshot, ErrorSnapshot, DurableStoreKeyMetadataMap, ErrorResponse } from '@luvio/engine';
2
2
  import type { createChildResourceParams as generatedCreateChildResourceParams } from '../../generated/resources/postUiApiRelatedListRecordsBatchByParentRecordId';
3
3
  import { ResourceRequestConfig } from '../../generated/resources/postUiApiRelatedListRecordsBatchByParentRecordId';
4
+ import type { ResourceRequestConfig as singleWireResourceRequestConfig } from '../../generated/resources/postUiApiRelatedListRecordsByParentRecordIdAndRelatedListId';
4
5
  import type { RelatedListRecordCollectionBatchRepresentation } from '../../generated/types/RelatedListRecordCollectionBatchRepresentation';
5
6
  export { ResourceRequestConfig };
6
7
  export declare const createChildResourceParams: typeof generatedCreateChildResourceParams;
8
+ export declare function selectChildResourceParams(luvio: Luvio, childResources: singleWireResourceRequestConfig[], resourceParams: ResourceRequestConfig): Fragment;
7
9
  export declare function select(luvio: Luvio, resourceParams: ResourceRequestConfig): Fragment;
8
10
  export declare function keyBuilder(luvio: Luvio, params: ResourceRequestConfig): string;
9
11
  export declare function keyBuilder_StructuredKey(luvio: Luvio, params: ResourceRequestConfig): import("@luvio/engine").NormalizedKeyMetadata;
@@ -395,7 +395,7 @@ function assignMetadataLink(entry, metadataKey) {
395
395
  entry['__metadata'] = createLink$1(metadataKey);
396
396
  }
397
397
 
398
- const VERSION$1_ = "3b339f50551a63986bb2aa52572d2953";
398
+ const VERSION$1_ = "275ae22194003d1e53f548b81219c5cb";
399
399
  function validate$1E(obj, path = 'ListColumnRepresentation') {
400
400
  const v_error = (() => {
401
401
  if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
@@ -411,6 +411,32 @@ function validate$1E(obj, path = 'ListColumnRepresentation') {
411
411
  if (typeof obj_label !== 'string') {
412
412
  return new TypeError('Expected "string" but received "' + typeof obj_label + '" (at "' + path_label + '")');
413
413
  }
414
+ const obj_lookupId = obj.lookupId;
415
+ const path_lookupId = path + '.lookupId';
416
+ let obj_lookupId_union0 = null;
417
+ const obj_lookupId_union0_error = (() => {
418
+ if (typeof obj_lookupId !== 'string') {
419
+ return new TypeError('Expected "string" but received "' + typeof obj_lookupId + '" (at "' + path_lookupId + '")');
420
+ }
421
+ })();
422
+ if (obj_lookupId_union0_error != null) {
423
+ obj_lookupId_union0 = obj_lookupId_union0_error.message;
424
+ }
425
+ let obj_lookupId_union1 = null;
426
+ const obj_lookupId_union1_error = (() => {
427
+ if (obj_lookupId !== null) {
428
+ return new TypeError('Expected "null" but received "' + typeof obj_lookupId + '" (at "' + path_lookupId + '")');
429
+ }
430
+ })();
431
+ if (obj_lookupId_union1_error != null) {
432
+ obj_lookupId_union1 = obj_lookupId_union1_error.message;
433
+ }
434
+ if (obj_lookupId_union0 && obj_lookupId_union1) {
435
+ let message = 'Object doesn\'t match union (at "' + path_lookupId + '")';
436
+ message += '\n' + obj_lookupId_union0.split('\n').map((line) => '\t' + line).join('\n');
437
+ message += '\n' + obj_lookupId_union1.split('\n').map((line) => '\t' + line).join('\n');
438
+ return new TypeError(message);
439
+ }
414
440
  const obj_sortable = obj.sortable;
415
441
  const path_sortable = path + '.sortable';
416
442
  if (typeof obj_sortable !== 'boolean') {
@@ -433,6 +459,10 @@ const select$2u = function ListColumnRepresentationSelect() {
433
459
  name: 'label',
434
460
  kind: 'Scalar'
435
461
  },
462
+ {
463
+ name: 'lookupId',
464
+ kind: 'Scalar'
465
+ },
436
466
  {
437
467
  name: 'sortable',
438
468
  kind: 'Scalar'
@@ -5273,7 +5303,7 @@ function isSingleBatchRecordResponse(response) {
5273
5303
 
5274
5304
  const VERSION$1Q = "98cce53b8d13b1883d001bbdaab24383";
5275
5305
 
5276
- const nonCachedErrors$6 = ObjectCreate$1(null);
5306
+ const nonCachedErrors$7 = ObjectCreate$1(null);
5277
5307
  function ingestSuccessChildResourceParams$6(luvio, childResourceParamsArray, childEnvelopes, serverRequestCount = 0) {
5278
5308
  const childSnapshotDataResponses = [];
5279
5309
  let seenRecords = new StoreKeySet();
@@ -5338,14 +5368,14 @@ function ingestSuccessChildResourceParams$6(luvio, childResourceParamsArray, chi
5338
5368
  }
5339
5369
  // track non-cached responses so rebuilds work properly
5340
5370
  if (childStatusCode !== 404 && childStatusCode !== 200) {
5341
- nonCachedErrors$6[childKey] = {
5371
+ nonCachedErrors$7[childKey] = {
5342
5372
  expiration: now + TTL$A,
5343
5373
  response: childBody,
5344
5374
  status: childStatusCode,
5345
5375
  };
5346
5376
  }
5347
5377
  else {
5348
- delete nonCachedErrors$6[childKey];
5378
+ delete nonCachedErrors$7[childKey];
5349
5379
  }
5350
5380
  }
5351
5381
  ObjectFreeze$1(childSnapshotDataResponses);
@@ -5359,7 +5389,7 @@ function ingestSuccessChildResourceParams$6(luvio, childResourceParamsArray, chi
5359
5389
  };
5360
5390
  }
5361
5391
 
5362
- function selectChildResourceParams$6(luvio, childResources, resourceParams) {
5392
+ function selectChildResourceParams$7(luvio, childResources, resourceParams) {
5363
5393
  const envelopeBodyPath = 'result';
5364
5394
  const envelopeStatusCodePath = 'statusCode';
5365
5395
  const envelopePath = 'results';
@@ -5440,7 +5470,7 @@ function selectChildResourceParams$6(luvio, childResources, resourceParams) {
5440
5470
  // has non-cached errors (since the top-level composite
5441
5471
  // snapshot will look like an Unfulfilled snapshot
5442
5472
  // instead of an error snapshot).
5443
- const nonCachedError = nonCachedErrors$6[childKey];
5473
+ const nonCachedError = nonCachedErrors$7[childKey];
5444
5474
  if (nonCachedError === undefined ||
5445
5475
  nonCachedError.expiration < timestamp) {
5446
5476
  reader.markMissingLink(childKey);
@@ -5602,7 +5632,7 @@ function createChildResourceParams$8(config) {
5602
5632
  function adapterFragment$H(luvio, config) {
5603
5633
  const childResources = createChildResourceParams$8(config);
5604
5634
  const resourceParams = createResourceParams$V(config);
5605
- return selectChildResourceParams$6(luvio, childResources, resourceParams);
5635
+ return selectChildResourceParams$7(luvio, childResources, resourceParams);
5606
5636
  }
5607
5637
 
5608
5638
  function onFetchResponseSuccess$L(luvio, config, resourceParams, response, serverRequestCount = 0) {
@@ -12392,7 +12422,12 @@ function getLayoutMapAndObjectInfo(recordId, data) {
12392
12422
  const { apiName } = record;
12393
12423
  const objectInfo = objectInfos[apiName];
12394
12424
  const recordTypeId = getRecordTypeId$2(record);
12395
- const layoutMap = layouts[apiName][recordTypeId];
12425
+ // W-12697744 - Return an empty layoutMap if the entity does not have a layout.
12426
+ // Temp fix until we can mimic the server behavior for non-layoutable entities.
12427
+ let layoutMap = {};
12428
+ if (hasOwnProperty.call(layouts, apiName)) {
12429
+ layoutMap = layouts[apiName][recordTypeId];
12430
+ }
12396
12431
  return {
12397
12432
  layoutMap,
12398
12433
  objectInfo,
@@ -19807,7 +19842,7 @@ function createResourceRequest$D(config) {
19807
19842
 
19808
19843
  const VERSION$1r = "fb049a56cac04c6d0c0969a650749448";
19809
19844
 
19810
- const nonCachedErrors$5 = ObjectCreate$1(null);
19845
+ const nonCachedErrors$6 = ObjectCreate$1(null);
19811
19846
  function createChildResourceParams$6(resourceParams) {
19812
19847
  const childConfigs = [];
19813
19848
  const { queryParams } = resourceParams;
@@ -19823,7 +19858,7 @@ function createChildResourceParams$6(resourceParams) {
19823
19858
  }
19824
19859
  return childConfigs;
19825
19860
  }
19826
- function selectChildResourceParams$5(luvio, childResources, resourceParams) {
19861
+ function selectChildResourceParams$6(luvio, childResources, resourceParams) {
19827
19862
  const envelopeBodyPath = 'result';
19828
19863
  const envelopeStatusCodePath = 'statusCode';
19829
19864
  const envelopePath = 'results';
@@ -19906,7 +19941,7 @@ function selectChildResourceParams$5(luvio, childResources, resourceParams) {
19906
19941
  // has non-cached errors (since the top-level composite
19907
19942
  // snapshot will look like an Unfulfilled snapshot
19908
19943
  // instead of an error snapshot).
19909
- const nonCachedError = nonCachedErrors$5[childKey];
19944
+ const nonCachedError = nonCachedErrors$6[childKey];
19910
19945
  if (nonCachedError === undefined ||
19911
19946
  nonCachedError.expiration < reader.getTimeStamp()) {
19912
19947
  reader.markMissingLink(childKey);
@@ -19945,7 +19980,7 @@ function selectChildResourceParams$5(luvio, childResources, resourceParams) {
19945
19980
  }
19946
19981
  function select$1G(luvio, resourceParams) {
19947
19982
  const childResources = createChildResourceParams$6(resourceParams);
19948
- return selectChildResourceParams$5(luvio, childResources, resourceParams);
19983
+ return selectChildResourceParams$6(luvio, childResources, resourceParams);
19949
19984
  }
19950
19985
  function keyBuilder$1J(luvio, params) {
19951
19986
  return (keyPrefix +
@@ -20041,14 +20076,14 @@ function ingestSuccessChildResourceParams$5(luvio, childResourceParamsArray, chi
20041
20076
  }
20042
20077
  // track non-cached responses so rebuilds work properly
20043
20078
  if (childStatusCode !== 404 && childStatusCode !== 200) {
20044
- nonCachedErrors$5[childKey] = {
20079
+ nonCachedErrors$6[childKey] = {
20045
20080
  expiration: now + TTL$C,
20046
20081
  response: childBody,
20047
20082
  status: childStatusCode,
20048
20083
  };
20049
20084
  }
20050
20085
  else {
20051
- delete nonCachedErrors$5[childKey];
20086
+ delete nonCachedErrors$6[childKey];
20052
20087
  }
20053
20088
  }
20054
20089
  ObjectFreeze$1(childSnapshotDataResponses);
@@ -20717,7 +20752,7 @@ const getNavItemsAdapterFactory = (luvio) => function UiApi__getNavItems(untrust
20717
20752
  buildCachedSnapshotCachePolicy$q, buildNetworkSnapshotCachePolicy$r);
20718
20753
  };
20719
20754
 
20720
- const nonCachedErrors$4 = ObjectCreate$1(null);
20755
+ const nonCachedErrors$5 = ObjectCreate$1(null);
20721
20756
  function createChildResourceParams$5(resourceParams) {
20722
20757
  const childConfigs = [];
20723
20758
  for (let index = 0, len = resourceParams.urlParams.objectApiNames.length; index < len; index += 1) {
@@ -20730,7 +20765,7 @@ function createChildResourceParams$5(resourceParams) {
20730
20765
  }
20731
20766
  return childConfigs;
20732
20767
  }
20733
- function selectChildResourceParams$4(luvio, childResources, resourceParams) {
20768
+ function selectChildResourceParams$5(luvio, childResources, resourceParams) {
20734
20769
  const envelopeBodyPath = 'result';
20735
20770
  const envelopeStatusCodePath = 'statusCode';
20736
20771
  const envelopePath = 'results';
@@ -20801,7 +20836,7 @@ function selectChildResourceParams$4(luvio, childResources, resourceParams) {
20801
20836
  // has non-cached errors (since the top-level composite
20802
20837
  // snapshot will look like an Unfulfilled snapshot
20803
20838
  // instead of an error snapshot).
20804
- const nonCachedError = nonCachedErrors$4[childKey];
20839
+ const nonCachedError = nonCachedErrors$5[childKey];
20805
20840
  if (nonCachedError === undefined || nonCachedError.expiration < reader.getTimeStamp()) {
20806
20841
  reader.markMissingLink(childKey);
20807
20842
  }
@@ -20839,7 +20874,7 @@ function selectChildResourceParams$4(luvio, childResources, resourceParams) {
20839
20874
  }
20840
20875
  function select$1D(luvio, resourceParams) {
20841
20876
  const childResources = createChildResourceParams$5(resourceParams);
20842
- return selectChildResourceParams$4(luvio, childResources, resourceParams);
20877
+ return selectChildResourceParams$5(luvio, childResources, resourceParams);
20843
20878
  }
20844
20879
  function keyBuilder$1E(luvio, params) {
20845
20880
  return keyPrefix + '::SimplifiedBatchRepresentation:(' + 'objectApiNames:' + params.urlParams.objectApiNames + ')';
@@ -20925,10 +20960,10 @@ function ingestSuccessChildResourceParams$4(luvio, childResourceParamsArray, chi
20925
20960
  }
20926
20961
  // track non-cached responses so rebuilds work properly
20927
20962
  if (childStatusCode !== 404 && childStatusCode !== 200) {
20928
- nonCachedErrors$4[childKey] = { expiration: now + TTL$y, response: childBody, status: childStatusCode };
20963
+ nonCachedErrors$5[childKey] = { expiration: now + TTL$y, response: childBody, status: childStatusCode };
20929
20964
  }
20930
20965
  else {
20931
- delete nonCachedErrors$4[childKey];
20966
+ delete nonCachedErrors$5[childKey];
20932
20967
  }
20933
20968
  }
20934
20969
  ObjectFreeze$1(childSnapshotDataResponses);
@@ -24556,7 +24591,7 @@ function createResourceRequest$v(config) {
24556
24591
  };
24557
24592
  }
24558
24593
 
24559
- const nonCachedErrors$3 = ObjectCreate$1(null);
24594
+ const nonCachedErrors$4 = ObjectCreate$1(null);
24560
24595
  function createChildResourceParams$4(resourceParams) {
24561
24596
  const childConfigs = [];
24562
24597
  for (let index = 0, len = resourceParams.urlParams.relatedListNames.length; index < len; index += 1) {
@@ -24573,7 +24608,7 @@ function createChildResourceParams$4(resourceParams) {
24573
24608
  }
24574
24609
  return childConfigs;
24575
24610
  }
24576
- function selectChildResourceParams$3(luvio, childResources, resourceParams) {
24611
+ function selectChildResourceParams$4(luvio, childResources, resourceParams) {
24577
24612
  const envelopeBodyPath = 'result';
24578
24613
  const envelopeStatusCodePath = 'statusCode';
24579
24614
  const envelopePath = 'results';
@@ -24644,7 +24679,7 @@ function selectChildResourceParams$3(luvio, childResources, resourceParams) {
24644
24679
  // has non-cached errors (since the top-level composite
24645
24680
  // snapshot will look like an Unfulfilled snapshot
24646
24681
  // instead of an error snapshot).
24647
- const nonCachedError = nonCachedErrors$3[childKey];
24682
+ const nonCachedError = nonCachedErrors$4[childKey];
24648
24683
  if (nonCachedError === undefined) {
24649
24684
  reader.markMissingLink(childKey);
24650
24685
  }
@@ -24682,7 +24717,7 @@ function selectChildResourceParams$3(luvio, childResources, resourceParams) {
24682
24717
  }
24683
24718
  function select$1g(luvio, resourceParams) {
24684
24719
  const childResources = createChildResourceParams$4(resourceParams);
24685
- return selectChildResourceParams$3(luvio, childResources, resourceParams);
24720
+ return selectChildResourceParams$4(luvio, childResources, resourceParams);
24686
24721
  }
24687
24722
  function keyBuilder$1s(luvio, params) {
24688
24723
  return keyPrefix + '::BatchRelatedListCountRepresentation:(' + 'maxCount:' + params.queryParams.maxCount + ',' + 'parentRecordId:' + params.urlParams.parentRecordId + ',' + 'relatedListNames:' + params.urlParams.relatedListNames + ')';
@@ -24767,10 +24802,10 @@ function ingestSuccessChildResourceParams$3(luvio, childResourceParamsArray, chi
24767
24802
  }
24768
24803
  // track non-cached responses so rebuilds work properly
24769
24804
  if (childStatusCode !== 404 && childStatusCode !== 200) {
24770
- nonCachedErrors$3[childKey] = { response: childBody, status: childStatusCode };
24805
+ nonCachedErrors$4[childKey] = { response: childBody, status: childStatusCode };
24771
24806
  }
24772
24807
  else {
24773
- delete nonCachedErrors$3[childKey];
24808
+ delete nonCachedErrors$4[childKey];
24774
24809
  }
24775
24810
  }
24776
24811
  ObjectFreeze$1(childSnapshotDataResponses);
@@ -25689,8 +25724,8 @@ function createChildResourceParams$3(resourceParams) {
25689
25724
  return childConfigs;
25690
25725
  }
25691
25726
 
25692
- const nonCachedErrors$2 = ObjectCreate$1(null);
25693
- function selectChildResourceParams$2(luvio, childResources, resourceParams) {
25727
+ const nonCachedErrors$3 = ObjectCreate$1(null);
25728
+ function selectChildResourceParams$3(luvio, childResources, resourceParams) {
25694
25729
  const envelopeBodyPath = 'result';
25695
25730
  const envelopeStatusCodePath = 'statusCode';
25696
25731
  const envelopePath = 'results';
@@ -25761,7 +25796,7 @@ function selectChildResourceParams$2(luvio, childResources, resourceParams) {
25761
25796
  // has non-cached errors (since the top-level composite
25762
25797
  // snapshot will look like an Unfulfilled snapshot
25763
25798
  // instead of an error snapshot).
25764
- const nonCachedError = nonCachedErrors$2[childKey];
25799
+ const nonCachedError = nonCachedErrors$3[childKey];
25765
25800
  if (nonCachedError === undefined || nonCachedError.expiration < reader.getTimeStamp()) {
25766
25801
  reader.markMissingLink(childKey);
25767
25802
  }
@@ -25799,7 +25834,7 @@ function selectChildResourceParams$2(luvio, childResources, resourceParams) {
25799
25834
  }
25800
25835
  function select$1d(luvio, resourceParams) {
25801
25836
  const childResources = createChildResourceParams$3(resourceParams);
25802
- return selectChildResourceParams$2(luvio, childResources, resourceParams);
25837
+ return selectChildResourceParams$3(luvio, childResources, resourceParams);
25803
25838
  }
25804
25839
  function keyBuilder$1n(luvio, params) {
25805
25840
  return keyPrefix + '::RelatedListInfoBatchRepresentation:(' + 'recordTypeId:' + params.queryParams.recordTypeId + ',' + 'parentObjectApiName:' + params.urlParams.parentObjectApiName + ',' + 'relatedListNames:' + params.urlParams.relatedListNames + ')';
@@ -25885,10 +25920,10 @@ function ingestSuccessChildResourceParams$2(luvio, childResourceParamsArray, chi
25885
25920
  }
25886
25921
  // track non-cached responses so rebuilds work properly
25887
25922
  if (childStatusCode !== 404 && childStatusCode !== 200) {
25888
- nonCachedErrors$2[childKey] = { expiration: now + TTL$h, response: childBody, status: childStatusCode };
25923
+ nonCachedErrors$3[childKey] = { expiration: now + TTL$h, response: childBody, status: childStatusCode };
25889
25924
  }
25890
25925
  else {
25891
- delete nonCachedErrors$2[childKey];
25926
+ delete nonCachedErrors$3[childKey];
25892
25927
  }
25893
25928
  }
25894
25929
  ObjectFreeze$1(childSnapshotDataResponses);
@@ -27143,7 +27178,7 @@ function createResourceRequest$p(config) {
27143
27178
  };
27144
27179
  }
27145
27180
 
27146
- const nonCachedErrors$1 = ObjectCreate$1(null);
27181
+ const nonCachedErrors$2 = ObjectCreate$1(null);
27147
27182
  function createChildResourceParams$2(resourceParams) {
27148
27183
  const childConfigs = [];
27149
27184
  for (let index = 0, len = resourceParams.urlParams.preferencesIds.length; index < len; index += 1) {
@@ -27156,7 +27191,7 @@ function createChildResourceParams$2(resourceParams) {
27156
27191
  }
27157
27192
  return childConfigs;
27158
27193
  }
27159
- function selectChildResourceParams$1(luvio, childResources, resourceParams) {
27194
+ function selectChildResourceParams$2(luvio, childResources, resourceParams) {
27160
27195
  const envelopeBodyPath = 'result';
27161
27196
  const envelopeStatusCodePath = 'statusCode';
27162
27197
  const envelopePath = 'results';
@@ -27227,7 +27262,7 @@ function selectChildResourceParams$1(luvio, childResources, resourceParams) {
27227
27262
  // has non-cached errors (since the top-level composite
27228
27263
  // snapshot will look like an Unfulfilled snapshot
27229
27264
  // instead of an error snapshot).
27230
- const nonCachedError = nonCachedErrors$1[childKey];
27265
+ const nonCachedError = nonCachedErrors$2[childKey];
27231
27266
  if (nonCachedError === undefined || nonCachedError.expiration < reader.getTimeStamp()) {
27232
27267
  reader.markMissingLink(childKey);
27233
27268
  }
@@ -27265,7 +27300,7 @@ function selectChildResourceParams$1(luvio, childResources, resourceParams) {
27265
27300
  }
27266
27301
  function select$17(luvio, resourceParams) {
27267
27302
  const childResources = createChildResourceParams$2(resourceParams);
27268
- return selectChildResourceParams$1(luvio, childResources, resourceParams);
27303
+ return selectChildResourceParams$2(luvio, childResources, resourceParams);
27269
27304
  }
27270
27305
  function keyBuilder$1f(luvio, params) {
27271
27306
  return keyPrefix + '::RelatedListPreferencesBatchRepresentation:(' + 'preferencesIds:' + params.urlParams.preferencesIds + ')';
@@ -27351,10 +27386,10 @@ function ingestSuccessChildResourceParams$1(luvio, childResourceParamsArray, chi
27351
27386
  }
27352
27387
  // track non-cached responses so rebuilds work properly
27353
27388
  if (childStatusCode !== 404 && childStatusCode !== 200) {
27354
- nonCachedErrors$1[childKey] = { expiration: now + TTL$g, response: childBody, status: childStatusCode };
27389
+ nonCachedErrors$2[childKey] = { expiration: now + TTL$g, response: childBody, status: childStatusCode };
27355
27390
  }
27356
27391
  else {
27357
- delete nonCachedErrors$1[childKey];
27392
+ delete nonCachedErrors$2[childKey];
27358
27393
  }
27359
27394
  }
27360
27395
  ObjectFreeze$1(childSnapshotDataResponses);
@@ -28721,6 +28756,8 @@ function createResourceRequest$m(config) {
28721
28756
  };
28722
28757
  }
28723
28758
 
28759
+ // Copied from generated resource
28760
+ const nonCachedErrors$1 = ObjectCreate$1(null);
28724
28761
  const createChildResourceParams$1 = (resourceParams) => {
28725
28762
  const childConfigs = [];
28726
28763
  for (let index = 0, len = resourceParams.body.relatedListParameters.length; index < len; index += 1) {
@@ -28755,8 +28792,7 @@ const createChildResourceParams$1 = (resourceParams) => {
28755
28792
  // HUGE BLOCK OF COPY PASTED CODE:
28756
28793
  // WE NEED TO DO THIS SO THAT THE ADAPTER CAN USE ONLY OUR OVERRIDE FILE
28757
28794
  // PLEASE DO NOT CHANGE ANYTHING HERE...
28758
- function select$14(luvio, resourceParams) {
28759
- const childResources = createChildResourceParams$1(resourceParams);
28795
+ function selectChildResourceParams$1(luvio, childResources, resourceParams) {
28760
28796
  const envelopeBodyPath = 'result';
28761
28797
  const envelopeStatusCodePath = 'statusCode';
28762
28798
  const envelopePath = 'results';
@@ -28765,21 +28801,38 @@ function select$14(luvio, resourceParams) {
28765
28801
  reader: true,
28766
28802
  synthetic: true,
28767
28803
  read: (reader) => {
28804
+ // Top-level 404 lookup
28805
+ const result = reader.storeLookup(keyBuilder$1a(luvio, resourceParams));
28806
+ if (result.state === reader.StoreResolveResultState.Error &&
28807
+ result.value.status === 404) {
28808
+ return {
28809
+ state: 'Error',
28810
+ value: result.value,
28811
+ };
28812
+ }
28768
28813
  const sink = {};
28769
28814
  reader.enterPath(envelopePath);
28770
28815
  const results = [];
28771
28816
  for (let i = 0, len = childResources.length; i < len; i += 1) {
28772
28817
  reader.enterPath(i);
28818
+ reader.enterPath(envelopeBodyPath);
28773
28819
  const childResource = childResources[i];
28774
28820
  const childKey = keyBuilder$1b(luvio, childResource);
28775
28821
  const childFragment = select$15(luvio, childResource);
28822
+ const isMissingDataBeforeChildRead = reader.getIsDataMissing();
28776
28823
  const childSnapshot = reader.read({
28777
28824
  recordId: childKey,
28778
28825
  node: childFragment,
28779
28826
  variables: {},
28780
28827
  });
28828
+ reader.exitPath();
28781
28829
  const childSink = {};
28830
+ reader.markSeenId(childKey);
28782
28831
  switch (childSnapshot.state) {
28832
+ case 'Stale':
28833
+ reader.markStale();
28834
+ // Stale needs envelope bodies filled in so don't break
28835
+ // eslint-disable-next-line no-fallthrough
28783
28836
  case 'Fulfilled':
28784
28837
  reader.enterPath(envelopeStatusCodePath);
28785
28838
  reader.assignScalar(envelopeStatusCodePath, childSink, 200);
@@ -28799,14 +28852,45 @@ function select$14(luvio, resourceParams) {
28799
28852
  reader.exitPath();
28800
28853
  break;
28801
28854
  case 'Unfulfilled':
28802
- reader.markMissing();
28855
+ // if child snapshot doesn't have any data then
28856
+ // that means the child record key is missing
28857
+ if (childSnapshot.data === undefined) {
28858
+ if (reader.isRebuilding() === false) {
28859
+ // not a rebuild, mark as missing and move on
28860
+ reader.markMissingLink(childKey);
28861
+ break;
28862
+ }
28863
+ // On rebuilds we have to check if there is a non-cached
28864
+ // error that we know about. If we don't do this then
28865
+ // rebuilds will go into endless refresh loop if a child
28866
+ // has non-cached errors (since the top-level composite
28867
+ // snapshot will look like an Unfulfilled snapshot
28868
+ // instead of an error snapshot).
28869
+ const nonCachedError = nonCachedErrors$1[childKey];
28870
+ if (nonCachedError === undefined ||
28871
+ nonCachedError.expiration < reader.getTimeStamp()) {
28872
+ reader.markMissingLink(childKey);
28873
+ }
28874
+ else {
28875
+ // if this child error was the only reason the reader
28876
+ // is marked as missing then we want to undo that
28877
+ if (isMissingDataBeforeChildRead === false) {
28878
+ reader.unMarkMissing();
28879
+ }
28880
+ // put status code and body into reader path
28881
+ const { response: nonCachedBody, status: nonCachedStatus } = nonCachedError;
28882
+ reader.enterPath(envelopeStatusCodePath);
28883
+ reader.assignScalar(envelopeStatusCodePath, childSink, nonCachedStatus);
28884
+ reader.exitPath();
28885
+ reader.enterPath(envelopeBodyPath);
28886
+ reader.assignNonScalar(childSink, envelopeBodyPath, nonCachedBody);
28887
+ reader.exitPath();
28888
+ }
28889
+ }
28803
28890
  break;
28804
28891
  case 'Pending':
28805
28892
  reader.markPending();
28806
28893
  break;
28807
- case 'Stale':
28808
- reader.markStale();
28809
- break;
28810
28894
  }
28811
28895
  ObjectFreeze$1(childSink);
28812
28896
  ArrayPrototypePush.call(results, childSink);
@@ -28819,6 +28903,13 @@ function select$14(luvio, resourceParams) {
28819
28903
  },
28820
28904
  };
28821
28905
  }
28906
+ // HUGE BLOCK OF COPY PASTED CODE:
28907
+ // WE NEED TO DO THIS SO THAT THE ADAPTER CAN USE ONLY OUR OVERRIDE FILE
28908
+ // PLEASE DO NOT CHANGE ANYTHING HERE...
28909
+ function select$14(luvio, resourceParams) {
28910
+ const childResources = createChildResourceParams$1(resourceParams);
28911
+ return selectChildResourceParams$1(luvio, childResources, resourceParams);
28912
+ }
28822
28913
  function keyBuilder$1a(luvio, params) {
28823
28914
  return (keyPrefix +
28824
28915
  '::' +
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/lds-adapters-uiapi",
3
- "version": "1.127.0",
3
+ "version": "1.128.0",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "description": "Wire adapters for record related UI API endpoints",
6
6
  "main": "dist/es/es2018/uiapi-records-service.js",
@@ -14325,6 +14325,9 @@ ObjectCreate$1(null);
14325
14325
 
14326
14326
  ObjectCreate$1(null);
14327
14327
 
14328
+ // Copied from generated resource
14329
+ ObjectCreate$1(null);
14330
+
14328
14331
  var DiscriminatorValues;
14329
14332
  (function (DiscriminatorValues) {
14330
14333
  DiscriminatorValues["Select"] = "Select";
@@ -14348,4 +14351,4 @@ register({
14348
14351
  });
14349
14352
 
14350
14353
  export { configurationForGraphQLAdapters as configuration, graphql, factory$1 as graphqlAdapterFactory, graphqlBatch, graphqlBatch_imperative, graphql_imperative };
14351
- // version: 1.127.0-0b8563139
14354
+ // version: 1.128.0-b5d8ac468
package/sfdc/index.js CHANGED
@@ -444,7 +444,7 @@ function assignMetadataLink(entry, metadataKey) {
444
444
  entry['__metadata'] = createLink(metadataKey);
445
445
  }
446
446
 
447
- const VERSION$1d = "3b339f50551a63986bb2aa52572d2953";
447
+ const VERSION$1d = "275ae22194003d1e53f548b81219c5cb";
448
448
  function validate$1A(obj, path = 'ListColumnRepresentation') {
449
449
  const v_error = (() => {
450
450
  if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
@@ -460,6 +460,32 @@ function validate$1A(obj, path = 'ListColumnRepresentation') {
460
460
  if (typeof obj_label !== 'string') {
461
461
  return new TypeError('Expected "string" but received "' + typeof obj_label + '" (at "' + path_label + '")');
462
462
  }
463
+ const obj_lookupId = obj.lookupId;
464
+ const path_lookupId = path + '.lookupId';
465
+ let obj_lookupId_union0 = null;
466
+ const obj_lookupId_union0_error = (() => {
467
+ if (typeof obj_lookupId !== 'string') {
468
+ return new TypeError('Expected "string" but received "' + typeof obj_lookupId + '" (at "' + path_lookupId + '")');
469
+ }
470
+ })();
471
+ if (obj_lookupId_union0_error != null) {
472
+ obj_lookupId_union0 = obj_lookupId_union0_error.message;
473
+ }
474
+ let obj_lookupId_union1 = null;
475
+ const obj_lookupId_union1_error = (() => {
476
+ if (obj_lookupId !== null) {
477
+ return new TypeError('Expected "null" but received "' + typeof obj_lookupId + '" (at "' + path_lookupId + '")');
478
+ }
479
+ })();
480
+ if (obj_lookupId_union1_error != null) {
481
+ obj_lookupId_union1 = obj_lookupId_union1_error.message;
482
+ }
483
+ if (obj_lookupId_union0 && obj_lookupId_union1) {
484
+ let message = 'Object doesn\'t match union (at "' + path_lookupId + '")';
485
+ message += '\n' + obj_lookupId_union0.split('\n').map((line) => '\t' + line).join('\n');
486
+ message += '\n' + obj_lookupId_union1.split('\n').map((line) => '\t' + line).join('\n');
487
+ return new TypeError(message);
488
+ }
463
489
  const obj_sortable = obj.sortable;
464
490
  const path_sortable = path + '.sortable';
465
491
  if (typeof obj_sortable !== 'boolean') {
@@ -482,6 +508,10 @@ const select$1H = function ListColumnRepresentationSelect() {
482
508
  name: 'label',
483
509
  kind: 'Scalar'
484
510
  },
511
+ {
512
+ name: 'lookupId',
513
+ kind: 'Scalar'
514
+ },
485
515
  {
486
516
  name: 'sortable',
487
517
  kind: 'Scalar'
@@ -5140,7 +5170,7 @@ function isSingleBatchRecordResponse(response) {
5140
5170
 
5141
5171
  const VERSION$13 = "98cce53b8d13b1883d001bbdaab24383";
5142
5172
 
5143
- const nonCachedErrors$5 = ObjectCreate$1(null);
5173
+ const nonCachedErrors$6 = ObjectCreate$1(null);
5144
5174
  function ingestSuccessChildResourceParams$5(luvio, childResourceParamsArray, childEnvelopes, serverRequestCount = 0) {
5145
5175
  const childSnapshotDataResponses = [];
5146
5176
  let seenRecords = new StoreKeySet();
@@ -5205,14 +5235,14 @@ function ingestSuccessChildResourceParams$5(luvio, childResourceParamsArray, chi
5205
5235
  }
5206
5236
  // track non-cached responses so rebuilds work properly
5207
5237
  if (childStatusCode !== 404 && childStatusCode !== 200) {
5208
- nonCachedErrors$5[childKey] = {
5238
+ nonCachedErrors$6[childKey] = {
5209
5239
  expiration: now + TTL$v,
5210
5240
  response: childBody,
5211
5241
  status: childStatusCode,
5212
5242
  };
5213
5243
  }
5214
5244
  else {
5215
- delete nonCachedErrors$5[childKey];
5245
+ delete nonCachedErrors$6[childKey];
5216
5246
  }
5217
5247
  }
5218
5248
  ObjectFreeze$1(childSnapshotDataResponses);
@@ -5226,7 +5256,7 @@ function ingestSuccessChildResourceParams$5(luvio, childResourceParamsArray, chi
5226
5256
  };
5227
5257
  }
5228
5258
 
5229
- function selectChildResourceParams$5(luvio, childResources, resourceParams) {
5259
+ function selectChildResourceParams$6(luvio, childResources, resourceParams) {
5230
5260
  const envelopeBodyPath = 'result';
5231
5261
  const envelopeStatusCodePath = 'statusCode';
5232
5262
  const envelopePath = 'results';
@@ -5307,7 +5337,7 @@ function selectChildResourceParams$5(luvio, childResources, resourceParams) {
5307
5337
  // has non-cached errors (since the top-level composite
5308
5338
  // snapshot will look like an Unfulfilled snapshot
5309
5339
  // instead of an error snapshot).
5310
- const nonCachedError = nonCachedErrors$5[childKey];
5340
+ const nonCachedError = nonCachedErrors$6[childKey];
5311
5341
  if (nonCachedError === undefined ||
5312
5342
  nonCachedError.expiration < timestamp) {
5313
5343
  reader.markMissingLink(childKey);
@@ -5469,7 +5499,7 @@ function createChildResourceParams$7(config) {
5469
5499
  function adapterFragment$C(luvio, config) {
5470
5500
  const childResources = createChildResourceParams$7(config);
5471
5501
  const resourceParams = createResourceParams$S(config);
5472
- return selectChildResourceParams$5(luvio, childResources, resourceParams);
5502
+ return selectChildResourceParams$6(luvio, childResources, resourceParams);
5473
5503
  }
5474
5504
 
5475
5505
  function onFetchResponseSuccess$G(luvio, config, resourceParams, response, serverRequestCount = 0) {
@@ -11919,7 +11949,12 @@ function getLayoutMapAndObjectInfo(recordId, data) {
11919
11949
  const { apiName } = record;
11920
11950
  const objectInfo = objectInfos[apiName];
11921
11951
  const recordTypeId = getRecordTypeId$2(record);
11922
- const layoutMap = layouts[apiName][recordTypeId];
11952
+ // W-12697744 - Return an empty layoutMap if the entity does not have a layout.
11953
+ // Temp fix until we can mimic the server behavior for non-layoutable entities.
11954
+ let layoutMap = {};
11955
+ if (hasOwnProperty.call(layouts, apiName)) {
11956
+ layoutMap = layouts[apiName][recordTypeId];
11957
+ }
11923
11958
  return {
11924
11959
  layoutMap,
11925
11960
  objectInfo,
@@ -19187,7 +19222,7 @@ function createResourceRequest$A(config) {
19187
19222
 
19188
19223
  const VERSION$G = "fb049a56cac04c6d0c0969a650749448";
19189
19224
 
19190
- const nonCachedErrors$4 = ObjectCreate$1(null);
19225
+ const nonCachedErrors$5 = ObjectCreate$1(null);
19191
19226
  function createChildResourceParams$5(resourceParams) {
19192
19227
  const childConfigs = [];
19193
19228
  const { queryParams } = resourceParams;
@@ -19203,7 +19238,7 @@ function createChildResourceParams$5(resourceParams) {
19203
19238
  }
19204
19239
  return childConfigs;
19205
19240
  }
19206
- function selectChildResourceParams$4(luvio, childResources, resourceParams) {
19241
+ function selectChildResourceParams$5(luvio, childResources, resourceParams) {
19207
19242
  const envelopeBodyPath = 'result';
19208
19243
  const envelopeStatusCodePath = 'statusCode';
19209
19244
  const envelopePath = 'results';
@@ -19286,7 +19321,7 @@ function selectChildResourceParams$4(luvio, childResources, resourceParams) {
19286
19321
  // has non-cached errors (since the top-level composite
19287
19322
  // snapshot will look like an Unfulfilled snapshot
19288
19323
  // instead of an error snapshot).
19289
- const nonCachedError = nonCachedErrors$4[childKey];
19324
+ const nonCachedError = nonCachedErrors$5[childKey];
19290
19325
  if (nonCachedError === undefined ||
19291
19326
  nonCachedError.expiration < reader.getTimeStamp()) {
19292
19327
  reader.markMissingLink(childKey);
@@ -19325,7 +19360,7 @@ function selectChildResourceParams$4(luvio, childResources, resourceParams) {
19325
19360
  }
19326
19361
  function select$X(luvio, resourceParams) {
19327
19362
  const childResources = createChildResourceParams$5(resourceParams);
19328
- return selectChildResourceParams$4(luvio, childResources, resourceParams);
19363
+ return selectChildResourceParams$5(luvio, childResources, resourceParams);
19329
19364
  }
19330
19365
  function keyBuilder$_(luvio, params) {
19331
19366
  return (keyPrefix +
@@ -19421,14 +19456,14 @@ function ingestSuccessChildResourceParams$4(luvio, childResourceParamsArray, chi
19421
19456
  }
19422
19457
  // track non-cached responses so rebuilds work properly
19423
19458
  if (childStatusCode !== 404 && childStatusCode !== 200) {
19424
- nonCachedErrors$4[childKey] = {
19459
+ nonCachedErrors$5[childKey] = {
19425
19460
  expiration: now + TTL$x,
19426
19461
  response: childBody,
19427
19462
  status: childStatusCode,
19428
19463
  };
19429
19464
  }
19430
19465
  else {
19431
- delete nonCachedErrors$4[childKey];
19466
+ delete nonCachedErrors$5[childKey];
19432
19467
  }
19433
19468
  }
19434
19469
  ObjectFreeze$1(childSnapshotDataResponses);
@@ -20100,7 +20135,7 @@ const getNavItemsAdapterFactory = (luvio) => function UiApi__getNavItems(untrust
20100
20135
  buildCachedSnapshotCachePolicy$o, buildNetworkSnapshotCachePolicy$p);
20101
20136
  };
20102
20137
 
20103
- const nonCachedErrors$3 = ObjectCreate$1(null);
20138
+ const nonCachedErrors$4 = ObjectCreate$1(null);
20104
20139
  function createChildResourceParams$4(resourceParams) {
20105
20140
  const childConfigs = [];
20106
20141
  for (let index = 0, len = resourceParams.urlParams.objectApiNames.length; index < len; index += 1) {
@@ -20113,7 +20148,7 @@ function createChildResourceParams$4(resourceParams) {
20113
20148
  }
20114
20149
  return childConfigs;
20115
20150
  }
20116
- function selectChildResourceParams$3(luvio, childResources, resourceParams) {
20151
+ function selectChildResourceParams$4(luvio, childResources, resourceParams) {
20117
20152
  const envelopeBodyPath = 'result';
20118
20153
  const envelopeStatusCodePath = 'statusCode';
20119
20154
  const envelopePath = 'results';
@@ -20184,7 +20219,7 @@ function selectChildResourceParams$3(luvio, childResources, resourceParams) {
20184
20219
  // has non-cached errors (since the top-level composite
20185
20220
  // snapshot will look like an Unfulfilled snapshot
20186
20221
  // instead of an error snapshot).
20187
- const nonCachedError = nonCachedErrors$3[childKey];
20222
+ const nonCachedError = nonCachedErrors$4[childKey];
20188
20223
  if (nonCachedError === undefined || nonCachedError.expiration < reader.getTimeStamp()) {
20189
20224
  reader.markMissingLink(childKey);
20190
20225
  }
@@ -20222,7 +20257,7 @@ function selectChildResourceParams$3(luvio, childResources, resourceParams) {
20222
20257
  }
20223
20258
  function select$U(luvio, resourceParams) {
20224
20259
  const childResources = createChildResourceParams$4(resourceParams);
20225
- return selectChildResourceParams$3(luvio, childResources, resourceParams);
20260
+ return selectChildResourceParams$4(luvio, childResources, resourceParams);
20226
20261
  }
20227
20262
  function keyBuilder$V(luvio, params) {
20228
20263
  return keyPrefix + '::SimplifiedBatchRepresentation:(' + 'objectApiNames:' + params.urlParams.objectApiNames + ')';
@@ -20308,10 +20343,10 @@ function ingestSuccessChildResourceParams$3(luvio, childResourceParamsArray, chi
20308
20343
  }
20309
20344
  // track non-cached responses so rebuilds work properly
20310
20345
  if (childStatusCode !== 404 && childStatusCode !== 200) {
20311
- nonCachedErrors$3[childKey] = { expiration: now + TTL$t, response: childBody, status: childStatusCode };
20346
+ nonCachedErrors$4[childKey] = { expiration: now + TTL$t, response: childBody, status: childStatusCode };
20312
20347
  }
20313
20348
  else {
20314
- delete nonCachedErrors$3[childKey];
20349
+ delete nonCachedErrors$4[childKey];
20315
20350
  }
20316
20351
  }
20317
20352
  ObjectFreeze$1(childSnapshotDataResponses);
@@ -23945,7 +23980,7 @@ function createResourceRequest$s(config) {
23945
23980
  };
23946
23981
  }
23947
23982
 
23948
- const nonCachedErrors$2 = ObjectCreate$1(null);
23983
+ const nonCachedErrors$3 = ObjectCreate$1(null);
23949
23984
  function createChildResourceParams$3(resourceParams) {
23950
23985
  const childConfigs = [];
23951
23986
  for (let index = 0, len = resourceParams.urlParams.relatedListNames.length; index < len; index += 1) {
@@ -23962,7 +23997,7 @@ function createChildResourceParams$3(resourceParams) {
23962
23997
  }
23963
23998
  return childConfigs;
23964
23999
  }
23965
- function selectChildResourceParams$2(luvio, childResources, resourceParams) {
24000
+ function selectChildResourceParams$3(luvio, childResources, resourceParams) {
23966
24001
  const envelopeBodyPath = 'result';
23967
24002
  const envelopeStatusCodePath = 'statusCode';
23968
24003
  const envelopePath = 'results';
@@ -24033,7 +24068,7 @@ function selectChildResourceParams$2(luvio, childResources, resourceParams) {
24033
24068
  // has non-cached errors (since the top-level composite
24034
24069
  // snapshot will look like an Unfulfilled snapshot
24035
24070
  // instead of an error snapshot).
24036
- const nonCachedError = nonCachedErrors$2[childKey];
24071
+ const nonCachedError = nonCachedErrors$3[childKey];
24037
24072
  if (nonCachedError === undefined) {
24038
24073
  reader.markMissingLink(childKey);
24039
24074
  }
@@ -24071,7 +24106,7 @@ function selectChildResourceParams$2(luvio, childResources, resourceParams) {
24071
24106
  }
24072
24107
  function select$x(luvio, resourceParams) {
24073
24108
  const childResources = createChildResourceParams$3(resourceParams);
24074
- return selectChildResourceParams$2(luvio, childResources, resourceParams);
24109
+ return selectChildResourceParams$3(luvio, childResources, resourceParams);
24075
24110
  }
24076
24111
  function keyBuilder$J(luvio, params) {
24077
24112
  return keyPrefix + '::BatchRelatedListCountRepresentation:(' + 'maxCount:' + params.queryParams.maxCount + ',' + 'parentRecordId:' + params.urlParams.parentRecordId + ',' + 'relatedListNames:' + params.urlParams.relatedListNames + ')';
@@ -24156,10 +24191,10 @@ function ingestSuccessChildResourceParams$2(luvio, childResourceParamsArray, chi
24156
24191
  }
24157
24192
  // track non-cached responses so rebuilds work properly
24158
24193
  if (childStatusCode !== 404 && childStatusCode !== 200) {
24159
- nonCachedErrors$2[childKey] = { response: childBody, status: childStatusCode };
24194
+ nonCachedErrors$3[childKey] = { response: childBody, status: childStatusCode };
24160
24195
  }
24161
24196
  else {
24162
- delete nonCachedErrors$2[childKey];
24197
+ delete nonCachedErrors$3[childKey];
24163
24198
  }
24164
24199
  }
24165
24200
  ObjectFreeze$1(childSnapshotDataResponses);
@@ -25080,8 +25115,8 @@ function createChildResourceParams$2(resourceParams) {
25080
25115
  return childConfigs;
25081
25116
  }
25082
25117
 
25083
- const nonCachedErrors$1 = ObjectCreate$1(null);
25084
- function selectChildResourceParams$1(luvio, childResources, resourceParams) {
25118
+ const nonCachedErrors$2 = ObjectCreate$1(null);
25119
+ function selectChildResourceParams$2(luvio, childResources, resourceParams) {
25085
25120
  const envelopeBodyPath = 'result';
25086
25121
  const envelopeStatusCodePath = 'statusCode';
25087
25122
  const envelopePath = 'results';
@@ -25152,7 +25187,7 @@ function selectChildResourceParams$1(luvio, childResources, resourceParams) {
25152
25187
  // has non-cached errors (since the top-level composite
25153
25188
  // snapshot will look like an Unfulfilled snapshot
25154
25189
  // instead of an error snapshot).
25155
- const nonCachedError = nonCachedErrors$1[childKey];
25190
+ const nonCachedError = nonCachedErrors$2[childKey];
25156
25191
  if (nonCachedError === undefined || nonCachedError.expiration < reader.getTimeStamp()) {
25157
25192
  reader.markMissingLink(childKey);
25158
25193
  }
@@ -25190,7 +25225,7 @@ function selectChildResourceParams$1(luvio, childResources, resourceParams) {
25190
25225
  }
25191
25226
  function select$u(luvio, resourceParams) {
25192
25227
  const childResources = createChildResourceParams$2(resourceParams);
25193
- return selectChildResourceParams$1(luvio, childResources, resourceParams);
25228
+ return selectChildResourceParams$2(luvio, childResources, resourceParams);
25194
25229
  }
25195
25230
  function keyBuilder$E(luvio, params) {
25196
25231
  return keyPrefix + '::RelatedListInfoBatchRepresentation:(' + 'recordTypeId:' + params.queryParams.recordTypeId + ',' + 'parentObjectApiName:' + params.urlParams.parentObjectApiName + ',' + 'relatedListNames:' + params.urlParams.relatedListNames + ')';
@@ -25276,10 +25311,10 @@ function ingestSuccessChildResourceParams$1(luvio, childResourceParamsArray, chi
25276
25311
  }
25277
25312
  // track non-cached responses so rebuilds work properly
25278
25313
  if (childStatusCode !== 404 && childStatusCode !== 200) {
25279
- nonCachedErrors$1[childKey] = { expiration: now + TTL$c, response: childBody, status: childStatusCode };
25314
+ nonCachedErrors$2[childKey] = { expiration: now + TTL$c, response: childBody, status: childStatusCode };
25280
25315
  }
25281
25316
  else {
25282
- delete nonCachedErrors$1[childKey];
25317
+ delete nonCachedErrors$2[childKey];
25283
25318
  }
25284
25319
  }
25285
25320
  ObjectFreeze$1(childSnapshotDataResponses);
@@ -26537,7 +26572,7 @@ function createResourceRequest$m(config) {
26537
26572
  };
26538
26573
  }
26539
26574
 
26540
- const nonCachedErrors = ObjectCreate$1(null);
26575
+ const nonCachedErrors$1 = ObjectCreate$1(null);
26541
26576
  function createChildResourceParams$1(resourceParams) {
26542
26577
  const childConfigs = [];
26543
26578
  for (let index = 0, len = resourceParams.urlParams.preferencesIds.length; index < len; index += 1) {
@@ -26550,7 +26585,7 @@ function createChildResourceParams$1(resourceParams) {
26550
26585
  }
26551
26586
  return childConfigs;
26552
26587
  }
26553
- function selectChildResourceParams(luvio, childResources, resourceParams) {
26588
+ function selectChildResourceParams$1(luvio, childResources, resourceParams) {
26554
26589
  const envelopeBodyPath = 'result';
26555
26590
  const envelopeStatusCodePath = 'statusCode';
26556
26591
  const envelopePath = 'results';
@@ -26621,7 +26656,7 @@ function selectChildResourceParams(luvio, childResources, resourceParams) {
26621
26656
  // has non-cached errors (since the top-level composite
26622
26657
  // snapshot will look like an Unfulfilled snapshot
26623
26658
  // instead of an error snapshot).
26624
- const nonCachedError = nonCachedErrors[childKey];
26659
+ const nonCachedError = nonCachedErrors$1[childKey];
26625
26660
  if (nonCachedError === undefined || nonCachedError.expiration < reader.getTimeStamp()) {
26626
26661
  reader.markMissingLink(childKey);
26627
26662
  }
@@ -26659,7 +26694,7 @@ function selectChildResourceParams(luvio, childResources, resourceParams) {
26659
26694
  }
26660
26695
  function select$o(luvio, resourceParams) {
26661
26696
  const childResources = createChildResourceParams$1(resourceParams);
26662
- return selectChildResourceParams(luvio, childResources, resourceParams);
26697
+ return selectChildResourceParams$1(luvio, childResources, resourceParams);
26663
26698
  }
26664
26699
  function keyBuilder$w(luvio, params) {
26665
26700
  return keyPrefix + '::RelatedListPreferencesBatchRepresentation:(' + 'preferencesIds:' + params.urlParams.preferencesIds + ')';
@@ -26745,10 +26780,10 @@ function ingestSuccessChildResourceParams(luvio, childResourceParamsArray, child
26745
26780
  }
26746
26781
  // track non-cached responses so rebuilds work properly
26747
26782
  if (childStatusCode !== 404 && childStatusCode !== 200) {
26748
- nonCachedErrors[childKey] = { expiration: now + TTL$b, response: childBody, status: childStatusCode };
26783
+ nonCachedErrors$1[childKey] = { expiration: now + TTL$b, response: childBody, status: childStatusCode };
26749
26784
  }
26750
26785
  else {
26751
- delete nonCachedErrors[childKey];
26786
+ delete nonCachedErrors$1[childKey];
26752
26787
  }
26753
26788
  }
26754
26789
  ObjectFreeze$1(childSnapshotDataResponses);
@@ -28117,6 +28152,8 @@ function createResourceRequest$j(config) {
28117
28152
  };
28118
28153
  }
28119
28154
 
28155
+ // Copied from generated resource
28156
+ const nonCachedErrors = ObjectCreate$1(null);
28120
28157
  const createChildResourceParams = (resourceParams) => {
28121
28158
  const childConfigs = [];
28122
28159
  for (let index = 0, len = resourceParams.body.relatedListParameters.length; index < len; index += 1) {
@@ -28151,8 +28188,7 @@ const createChildResourceParams = (resourceParams) => {
28151
28188
  // HUGE BLOCK OF COPY PASTED CODE:
28152
28189
  // WE NEED TO DO THIS SO THAT THE ADAPTER CAN USE ONLY OUR OVERRIDE FILE
28153
28190
  // PLEASE DO NOT CHANGE ANYTHING HERE...
28154
- function select$l(luvio, resourceParams) {
28155
- const childResources = createChildResourceParams(resourceParams);
28191
+ function selectChildResourceParams(luvio, childResources, resourceParams) {
28156
28192
  const envelopeBodyPath = 'result';
28157
28193
  const envelopeStatusCodePath = 'statusCode';
28158
28194
  const envelopePath = 'results';
@@ -28161,21 +28197,38 @@ function select$l(luvio, resourceParams) {
28161
28197
  reader: true,
28162
28198
  synthetic: true,
28163
28199
  read: (reader) => {
28200
+ // Top-level 404 lookup
28201
+ const result = reader.storeLookup(keyBuilder$r(luvio, resourceParams));
28202
+ if (result.state === reader.StoreResolveResultState.Error &&
28203
+ result.value.status === 404) {
28204
+ return {
28205
+ state: 'Error',
28206
+ value: result.value,
28207
+ };
28208
+ }
28164
28209
  const sink = {};
28165
28210
  reader.enterPath(envelopePath);
28166
28211
  const results = [];
28167
28212
  for (let i = 0, len = childResources.length; i < len; i += 1) {
28168
28213
  reader.enterPath(i);
28214
+ reader.enterPath(envelopeBodyPath);
28169
28215
  const childResource = childResources[i];
28170
28216
  const childKey = keyBuilder$s(luvio, childResource);
28171
28217
  const childFragment = select$m(luvio, childResource);
28218
+ const isMissingDataBeforeChildRead = reader.getIsDataMissing();
28172
28219
  const childSnapshot = reader.read({
28173
28220
  recordId: childKey,
28174
28221
  node: childFragment,
28175
28222
  variables: {},
28176
28223
  });
28224
+ reader.exitPath();
28177
28225
  const childSink = {};
28226
+ reader.markSeenId(childKey);
28178
28227
  switch (childSnapshot.state) {
28228
+ case 'Stale':
28229
+ reader.markStale();
28230
+ // Stale needs envelope bodies filled in so don't break
28231
+ // eslint-disable-next-line no-fallthrough
28179
28232
  case 'Fulfilled':
28180
28233
  reader.enterPath(envelopeStatusCodePath);
28181
28234
  reader.assignScalar(envelopeStatusCodePath, childSink, 200);
@@ -28195,14 +28248,45 @@ function select$l(luvio, resourceParams) {
28195
28248
  reader.exitPath();
28196
28249
  break;
28197
28250
  case 'Unfulfilled':
28198
- reader.markMissing();
28251
+ // if child snapshot doesn't have any data then
28252
+ // that means the child record key is missing
28253
+ if (childSnapshot.data === undefined) {
28254
+ if (reader.isRebuilding() === false) {
28255
+ // not a rebuild, mark as missing and move on
28256
+ reader.markMissingLink(childKey);
28257
+ break;
28258
+ }
28259
+ // On rebuilds we have to check if there is a non-cached
28260
+ // error that we know about. If we don't do this then
28261
+ // rebuilds will go into endless refresh loop if a child
28262
+ // has non-cached errors (since the top-level composite
28263
+ // snapshot will look like an Unfulfilled snapshot
28264
+ // instead of an error snapshot).
28265
+ const nonCachedError = nonCachedErrors[childKey];
28266
+ if (nonCachedError === undefined ||
28267
+ nonCachedError.expiration < reader.getTimeStamp()) {
28268
+ reader.markMissingLink(childKey);
28269
+ }
28270
+ else {
28271
+ // if this child error was the only reason the reader
28272
+ // is marked as missing then we want to undo that
28273
+ if (isMissingDataBeforeChildRead === false) {
28274
+ reader.unMarkMissing();
28275
+ }
28276
+ // put status code and body into reader path
28277
+ const { response: nonCachedBody, status: nonCachedStatus } = nonCachedError;
28278
+ reader.enterPath(envelopeStatusCodePath);
28279
+ reader.assignScalar(envelopeStatusCodePath, childSink, nonCachedStatus);
28280
+ reader.exitPath();
28281
+ reader.enterPath(envelopeBodyPath);
28282
+ reader.assignNonScalar(childSink, envelopeBodyPath, nonCachedBody);
28283
+ reader.exitPath();
28284
+ }
28285
+ }
28199
28286
  break;
28200
28287
  case 'Pending':
28201
28288
  reader.markPending();
28202
28289
  break;
28203
- case 'Stale':
28204
- reader.markStale();
28205
- break;
28206
28290
  }
28207
28291
  ObjectFreeze$1(childSink);
28208
28292
  ArrayPrototypePush.call(results, childSink);
@@ -28215,6 +28299,13 @@ function select$l(luvio, resourceParams) {
28215
28299
  },
28216
28300
  };
28217
28301
  }
28302
+ // HUGE BLOCK OF COPY PASTED CODE:
28303
+ // WE NEED TO DO THIS SO THAT THE ADAPTER CAN USE ONLY OUR OVERRIDE FILE
28304
+ // PLEASE DO NOT CHANGE ANYTHING HERE...
28305
+ function select$l(luvio, resourceParams) {
28306
+ const childResources = createChildResourceParams(resourceParams);
28307
+ return selectChildResourceParams(luvio, childResources, resourceParams);
28308
+ }
28218
28309
  function keyBuilder$r(luvio, params) {
28219
28310
  return (keyPrefix +
28220
28311
  '::' +
@@ -35959,4 +36050,4 @@ withDefaultLuvio((luvio) => {
35959
36050
  });
35960
36051
 
35961
36052
  export { InMemoryRecordRepresentationQueryEvaluator, MRU, RepresentationType$I as ObjectInfoRepresentationType, RepresentationType$N as RecordRepresentationRepresentationType, TTL$v as RecordRepresentationTTL, RepresentationType$N as RecordRepresentationType, VERSION$14 as RecordRepresentationVersion, keyPrefix as UiApiNamespace, configurationForRestAdapters as configuration, createContentDocumentAndVersion, createContentVersion, createIngestRecordWithFields, createRecord, deleteRecord, getActionOverrides, getActionOverrides_imperative, getAllApps, getAllApps_imperative, getAppDetails, getAppDetails_imperative, getDuplicateConfiguration, getDuplicateConfiguration_imperative, getDuplicates, getDuplicates_imperative, getGlobalActions, getGlobalActions_imperative, getKeywordSearchResults, getKeywordSearchResults_imperative, getLayout, getLayoutUserState, getLayoutUserState_imperative, getLayout_imperative, getListInfoByName, getListInfoByName_imperative, getListInfosByName, getListInfosByName_imperative, getListRecordsByName, getListRecordsByName_imperative, getListUi, getListUi_imperative, getLookupActions, getLookupActions_imperative, getLookupMetadata, getLookupMetadata_imperative, getLookupRecords, getLookupRecords_imperative, getNavItems, getNavItems_imperative, getObjectCreateActions, getObjectCreateActions_imperative, getObjectInfo, getObjectInfoAdapterFactory, getObjectInfo_imperative, getObjectInfos, getObjectInfosAdapterFactory, getObjectInfos_imperative, getPicklistValues, getPicklistValuesByRecordType, getPicklistValuesByRecordType_imperative, getPicklistValues_imperative, getQuickActionDefaults, getQuickActionDefaults_imperative, getQuickActionLayout, getQuickActionLayout_imperative, getRecord, getRecordActions, getRecordActions_imperative, factory$e as getRecordAdapterFactory, getRecordAvatars, getRecordAvatars_imperative, getRecordCreateDefaults, getRecordCreateDefaults_imperative, getRecordEditActions, getRecordEditActions_imperative, getRecordId18, getRecordNotifyChange, getRecordTemplateClone, getRecordTemplateClone_imperative, getRecordTemplateCreate, getRecordTemplateCreate_imperative, getRecordUi, getRecordUi_imperative, getRecord_imperative, getRecords, getRecords_imperative, getRelatedListActions, getRelatedListActions_imperative, getRelatedListCount, getRelatedListCount_imperative, getRelatedListInfo, getRelatedListInfoBatch, getRelatedListInfoBatch_imperative, getRelatedListInfo_imperative, getRelatedListPreferences, getRelatedListPreferencesBatch, getRelatedListPreferencesBatch_imperative, getRelatedListPreferences_imperative, getRelatedListRecordActions, getRelatedListRecordActions_imperative, getRelatedListRecords, getRelatedListRecordsBatch, getRelatedListRecordsBatch_imperative, getRelatedListRecords_imperative, getRelatedListsActions, getRelatedListsActions_imperative, getRelatedListsCount, getRelatedListsCount_imperative, getRelatedListsInfo, getRelatedListsInfo_imperative, getResponseCacheKeys as getResponseCacheKeysContentDocumentCompositeRepresentation, getSearchFilterMetadata, getSearchFilterMetadata_imperative, getSearchFilterOptions, getSearchFilterOptions_imperative, getSearchResults, getSearchResults_imperative, getTypeCacheKeys$N as getTypeCacheKeysRecord, ingest as ingestContentDocumentCompositeRepresentation, ingest$B as ingestObjectInfo, ingest$x as ingestQuickActionExecutionRepresentation, ingest$G as ingestRecord, instrument, keyBuilder as keyBuilderContentDocumentCompositeRepresentation, keyBuilderFromType as keyBuilderFromTypeContentDocumentCompositeRepresentation, keyBuilderFromType$x as keyBuilderFromTypeRecordRepresentation, keyBuilder$1F as keyBuilderObjectInfo, keyBuilder$1z as keyBuilderQuickActionExecutionRepresentation, keyBuilder$1Q as keyBuilderRecord, notifyRecordUpdateAvailable, performQuickAction, performUpdateRecordQuickAction, refresh, updateLayoutUserState, updateRecord, updateRecordAvatar, updateRelatedListInfo, updateRelatedListPreferences };
35962
- // version: 1.127.0-0b8563139
36053
+ // version: 1.128.0-b5d8ac468
package/src/raml/api.raml CHANGED
@@ -1218,6 +1218,10 @@ types:
1218
1218
  label:
1219
1219
  description: Label of the field.
1220
1220
  type: string
1221
+ lookupId:
1222
+ description: The lookupId for the column when the field is a reference, otherwise
1223
+ null.
1224
+ type: string | nil
1221
1225
  sortable:
1222
1226
  description: Whether the list column is sortable.
1223
1227
  type: boolean