@salesforce/lds-adapters-uiapi 1.320.0 → 1.321.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.
- package/dist/es/es2018/types/src/helpers/RecordRepresentation/merge.d.ts +8 -2
- package/dist/es/es2018/types/src/main.d.ts +1 -0
- package/dist/es/es2018/types/src/sfdc_rest.d.ts +1 -0
- package/dist/es/es2018/types/src/util/records.d.ts +2 -1
- package/dist/es/es2018/uiapi-records-service.js +54 -10
- package/package.json +6 -6
- package/sfdc/graphqlAdapters.js +7 -1
- package/sfdc/index.js +49 -11
- package/sfdc/uiapi-static-functions.js +1 -1
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import type { Luvio, IngestPath, StoreRecordError } from '@luvio/engine';
|
|
2
|
-
import type { RecordRepresentationNormalized } from '../../generated/types/RecordRepresentation';
|
|
1
|
+
import type { Luvio, IngestPath, StoreRecordError, ProxyGraphNode } from '@luvio/engine';
|
|
2
|
+
import type { RecordRepresentationNormalized, RecordRepresentation } from '../../generated/types/RecordRepresentation';
|
|
3
3
|
import type { RecordConflictMap } from './resolveConflict';
|
|
4
|
+
export type RecordProxyGraphNode = ProxyGraphNode<RecordRepresentationNormalized, RecordRepresentation>;
|
|
5
|
+
declare function mergePendingFields(newRecord: RecordRepresentationNormalized, oldRecord: RecordRepresentationNormalized, existingNode?: RecordProxyGraphNode): RecordRepresentationNormalized;
|
|
4
6
|
export default function merge(existing: RecordRepresentationNormalized | undefined | StoreRecordError, incoming: RecordRepresentationNormalized, luvio: Luvio, _path: IngestPath, recordConflictMap: RecordConflictMap): RecordRepresentationNormalized;
|
|
5
7
|
export declare function dependencyKeyBuilder(config: {
|
|
6
8
|
/** The ID of this record. */
|
|
7
9
|
recordId: string;
|
|
8
10
|
}): string;
|
|
11
|
+
export declare const forTesting: {
|
|
12
|
+
mergePendingFields: typeof mergePendingFields;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -52,6 +52,7 @@ export type { GraphQLInputRepresentation } from './generated/types/GraphQLInputR
|
|
|
52
52
|
export type { GraphqlConfig as GraphQLConfig, BuildSnapshotContext as GraphQLBuildSnapshotContext, } from './generated/adapters/graphql';
|
|
53
53
|
export * from './generated/artifacts/main';
|
|
54
54
|
export * from './util/store-utils';
|
|
55
|
+
export { isSupportedEntity } from './util/records';
|
|
55
56
|
export type { CreateContentVersionConfig } from './wire/createContentVersion/AdapterConfig';
|
|
56
57
|
export type { CreateContentDocumentAndVersionConfig } from './wire/createContentDocumentAndVersion/AdapterConfig';
|
|
57
58
|
export type { ResourceRequestConfig as CreateContentDocumentAndVersionResourceRequestConfig } from './wire/createContentDocumentAndVersion/ResourceRequestConfig';
|
|
@@ -27,3 +27,4 @@ export { instrument, Instrument, Registration } from './main';
|
|
|
27
27
|
export { CachePolicy, CachePolicyCacheAndNetwork, CachePolicyCacheThenNetwork, CachePolicyNoCache, CachePolicyOnlyIfCached, CachePolicyStaleWhileRevalidate, CachePolicyValidAt, } from './main';
|
|
28
28
|
export { getRecordId18, coerceFieldIdArray, coerceObjectId, coerceObjectIdArray, getRecordAdapterFactory, getRecordsAdapterFactory, getRecordActionsAdapterFactory, getRecordAvatarsAdapterFactory, getObjectInfoAdapterFactory, getObjectInfosAdapterFactory, getObjectInfoDirectoryAdapterFactory, getRelatedListsActionsAdapterFactory, getRelatedListRecordsAdapterFactory, getRelatedListRecordsBatchAdapterFactory, getTypeCacheKeysRecord, RecordRepresentationVersion, RecordRepresentationTTL, RecordRepresentationType, ObjectInfoRepresentationType, ObjectInfoDirectoryEntryRepresentationType, RecordRepresentationRepresentationType, keyBuilderFromTypeRecordRepresentation, keyBuilderFromTypeContentDocumentCompositeRepresentation, keyBuilderContentDocumentCompositeRepresentation, ingestContentDocumentCompositeRepresentation, getResponseCacheKeysContentDocumentCompositeRepresentation, getRelatedListInfoAdapterFactory, getRelatedListInfoBatchAdapterFactory, getListInfoByNameAdapterFactory, getListObjectInfoAdapterFactory, getListRecordsByNameAdapterFactory, getListInfosByObjectNameAdapterFactory, } from './main';
|
|
29
29
|
export { UiApiNamespace, InMemoryRecordRepresentationQueryEvaluator } from './main';
|
|
30
|
+
export { isSupportedEntity } from './main';
|
|
@@ -37,9 +37,10 @@ export interface TrackedFieldsConfig {
|
|
|
37
37
|
maxDepth: number;
|
|
38
38
|
onlyFetchLeafNodeIdAndName: boolean;
|
|
39
39
|
}
|
|
40
|
-
export declare function isGraphNode(node: ProxyGraphNode<unknown>): node is GraphNode<unknown>;
|
|
40
|
+
export declare function isGraphNode(node: ProxyGraphNode<unknown> | undefined | null): node is GraphNode<unknown>;
|
|
41
41
|
export declare function extractTrackedFields(node: ProxyGraphNode<RecordRepresentationNormalized, RecordRepresentation>, parentFieldName: string, fieldsList?: string[], visitedRecordIds?: Record<string, boolean>, depth?: number): string[];
|
|
42
42
|
export declare function extractTrackedFieldsToTrie(recordId: string | NormalizedKeyMetadata, node: ProxyGraphNode<FieldMapRepresentationNormalized, FieldMapRepresentation>, root: RecordFieldTrie, config: TrackedFieldsConfig, visitedRecordIds?: Record<string, boolean>, depth?: number): void;
|
|
43
|
+
export declare function isExternalLookupFieldKey(spanningNode: ProxyGraphNode<RecordRepresentationNormalized, RecordRepresentation>): boolean;
|
|
43
44
|
export declare function convertTrieToFields(root: RecordFieldTrie): string[];
|
|
44
45
|
export declare function convertTrieToFieldsRecursively(root: RecordFieldTrie): string[];
|
|
45
46
|
export declare const BLANK_RECORD_FIELDS_TRIE: Readonly<{
|
|
@@ -4921,7 +4921,7 @@ const RECORD_REPRESENTATION_ERROR_STORE_METADATA_PARAMS = {
|
|
|
4921
4921
|
version: RECORD_REPRESENTATION_ERROR_VERSION,
|
|
4922
4922
|
};
|
|
4923
4923
|
function isGraphNode(node) {
|
|
4924
|
-
return node
|
|
4924
|
+
return !!node && node.type === 'Node';
|
|
4925
4925
|
}
|
|
4926
4926
|
function addScalarFieldId(current) {
|
|
4927
4927
|
addScalarField(current, 'Id');
|
|
@@ -4988,6 +4988,8 @@ function extractTrackedFieldsToTrie(recordId, node, root, config, visitedRecordI
|
|
|
4988
4988
|
const spanning = spanningLink.follow();
|
|
4989
4989
|
// W-8058425, do not include external lookups added by getTrackedFields
|
|
4990
4990
|
if (isExternalLookupFieldKey(spanning)) {
|
|
4991
|
+
// NOTE: the logic to get here is mimicked in RecordRepresentation/merge::mergePendingFields as of
|
|
4992
|
+
// W-11899329 due to issues with external lookups being marked pending but never fetched
|
|
4991
4993
|
continue;
|
|
4992
4994
|
}
|
|
4993
4995
|
extractTrackedFieldsToTrie(spanningLink.data.__ref, spanning, next, config, spanningVisitedRecordIds, depth + 1);
|
|
@@ -5020,6 +5022,8 @@ function extractTrackedFieldsToTrie(recordId, node, root, config, visitedRecordI
|
|
|
5020
5022
|
const { fields } = state;
|
|
5021
5023
|
// W-8058425, do not include external lookups added by getTrackedFields
|
|
5022
5024
|
if (includes.call(fields, 'ExternalId')) {
|
|
5025
|
+
// NOTE: the logic to get here is mimicked in RecordRepresentation/merge::mergePendingFields as of
|
|
5026
|
+
// W-11899329 due to issues with external lookups being marked pending but never fetched
|
|
5023
5027
|
continue;
|
|
5024
5028
|
}
|
|
5025
5029
|
for (let s = 0, len = fields.length; s < len; s += 1) {
|
|
@@ -5470,15 +5474,49 @@ function ingestRecordResponse(luvio, response, recordId, recordIngest, conflictM
|
|
|
5470
5474
|
|
|
5471
5475
|
// This function sets fields that we are refreshing to pending
|
|
5472
5476
|
// These values will go into the store
|
|
5473
|
-
function mergePendingFields(newRecord, oldRecord) {
|
|
5474
|
-
// TODO [W-6900046]: avoid casting to any by updating
|
|
5475
|
-
// RecordRepresentationNormalized['fields'] to include `pending:true` property
|
|
5477
|
+
function mergePendingFields(newRecord, oldRecord, existingNode) {
|
|
5476
5478
|
const mergedFields = { ...newRecord.fields };
|
|
5477
5479
|
const merged = { ...newRecord, fields: mergedFields };
|
|
5478
5480
|
const existingFields = keys(oldRecord.fields);
|
|
5479
5481
|
for (let i = 0, len = existingFields.length; i < len; i += 1) {
|
|
5480
5482
|
const spanningFieldName = existingFields[i];
|
|
5481
5483
|
if (newRecord.fields[spanningFieldName] === undefined) {
|
|
5484
|
+
/*
|
|
5485
|
+
* Per W-8058425 external lookups fields are excluded from the tracked fields. However, as covered in
|
|
5486
|
+
* W-11899329, situations can arise in which a merge conflict occurs when the existing record has a
|
|
5487
|
+
* reference to an external lookup field. The exclusion ultimately results in a snapshot stuck in the
|
|
5488
|
+
* pending state. This is an approach to prevent that situation.
|
|
5489
|
+
*
|
|
5490
|
+
* The same logic checks for W-8058425 to "continue" as it relates to not tracking external lookups is
|
|
5491
|
+
* mimicked here as it relates to not marking them as pending.
|
|
5492
|
+
*/
|
|
5493
|
+
// make sure external lookups are NOT marked as pending when `existingNode` is provided
|
|
5494
|
+
if (isGraphNode(existingNode)) {
|
|
5495
|
+
// get the node for the spanning field
|
|
5496
|
+
const fieldValueRep = existingNode
|
|
5497
|
+
.object('fields')
|
|
5498
|
+
.link(spanningFieldName);
|
|
5499
|
+
const field = fieldValueRep.follow();
|
|
5500
|
+
if (isGraphNode(field)) {
|
|
5501
|
+
if (field.isScalar('value') === false) {
|
|
5502
|
+
const record = field
|
|
5503
|
+
.link('value')
|
|
5504
|
+
.follow();
|
|
5505
|
+
if (isExternalLookupFieldKey(record)) {
|
|
5506
|
+
continue;
|
|
5507
|
+
}
|
|
5508
|
+
}
|
|
5509
|
+
}
|
|
5510
|
+
else {
|
|
5511
|
+
const state = fieldValueRep.linkData();
|
|
5512
|
+
if (state !== undefined) {
|
|
5513
|
+
const { fields } = state;
|
|
5514
|
+
if (includes.call(fields, 'ExternalId')) {
|
|
5515
|
+
continue;
|
|
5516
|
+
}
|
|
5517
|
+
}
|
|
5518
|
+
}
|
|
5519
|
+
}
|
|
5482
5520
|
// TODO [W-6900046]: fix above casting issue so we're not stuffing arbitrary things
|
|
5483
5521
|
// into RecordRepresentationNormalized['fields']
|
|
5484
5522
|
mergedFields[spanningFieldName] = {
|
|
@@ -5492,7 +5530,7 @@ function mergePendingFields(newRecord, oldRecord) {
|
|
|
5492
5530
|
// This method gets called
|
|
5493
5531
|
// when incoming record has a higher version
|
|
5494
5532
|
// than the record that is currently in the store
|
|
5495
|
-
function mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap) {
|
|
5533
|
+
function mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap, existingNode) {
|
|
5496
5534
|
// If the higher version (incoming) does not contain a superset of fields as existing
|
|
5497
5535
|
// then we need to refresh to get updated versions of fields in existing
|
|
5498
5536
|
if (isSuperRecordFieldTrie(incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot) ===
|
|
@@ -5509,14 +5547,14 @@ function mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedF
|
|
|
5509
5547
|
};
|
|
5510
5548
|
// We want to mark fields in the store as pending
|
|
5511
5549
|
// Because we don't want to emit any data to components
|
|
5512
|
-
return mergePendingFields(incoming, existing);
|
|
5550
|
+
return mergePendingFields(incoming, existing, existingNode);
|
|
5513
5551
|
}
|
|
5514
5552
|
return incoming;
|
|
5515
5553
|
}
|
|
5516
5554
|
// This method gets called
|
|
5517
5555
|
// when incoming record has a lower version
|
|
5518
5556
|
// than the record that is currently in the store
|
|
5519
|
-
function mergeAndRefreshLowerVersionRecord(luvio, incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap) {
|
|
5557
|
+
function mergeAndRefreshLowerVersionRecord(luvio, incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap, existingNode) {
|
|
5520
5558
|
// If the higher version (existing) does not have a superset of fields as incoming
|
|
5521
5559
|
// then we need to refresh to get updated versions of fields on incoming
|
|
5522
5560
|
if (isSuperRecordFieldTrie(existingTrackedFieldsTrieRoot, incomingTrackedFieldsTrieRoot) ===
|
|
@@ -5526,7 +5564,7 @@ function mergeAndRefreshLowerVersionRecord(luvio, incoming, existing, incomingTr
|
|
|
5526
5564
|
if (isSupportedEntity(incoming.apiName) === false) {
|
|
5527
5565
|
return mergeRecordFields(existing, incoming);
|
|
5528
5566
|
}
|
|
5529
|
-
const merged = mergePendingFields(existing, incoming);
|
|
5567
|
+
const merged = mergePendingFields(existing, incoming, existingNode);
|
|
5530
5568
|
// update the conflict map to resolve the record conflict in resolveConflict
|
|
5531
5569
|
if (recordConflictMap) {
|
|
5532
5570
|
recordConflictMap.conflicts[incoming.id] = {
|
|
@@ -5565,7 +5603,7 @@ function mergeRecordConflict(luvio, incoming, existing, recordConflictMap) {
|
|
|
5565
5603
|
extractTrackedFieldsToTrie(recordKey, incomingNode, incomingTrackedFieldsTrieRoot, trackedFieldsConfig);
|
|
5566
5604
|
extractTrackedFieldsToTrie(recordKey, existingNode, existingTrackedFieldsTrieRoot, trackedFieldsConfig);
|
|
5567
5605
|
if (incoming.weakEtag > existing.weakEtag) {
|
|
5568
|
-
return mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap);
|
|
5606
|
+
return mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap, existingNode);
|
|
5569
5607
|
}
|
|
5570
5608
|
return mergeAndRefreshLowerVersionRecord(luvio, incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap);
|
|
5571
5609
|
}
|
|
@@ -54444,6 +54482,12 @@ function selectTypeLinkWithPagination(resolvedLink, sel, fieldData, reader, key,
|
|
|
54444
54482
|
return;
|
|
54445
54483
|
}
|
|
54446
54484
|
}
|
|
54485
|
+
else if (totalEdges === 0 && !listIsComplete) {
|
|
54486
|
+
// empty edge list, but the list isn't complete?
|
|
54487
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
54488
|
+
throw new Error("page size of zero, but pageInfo .hasNextPage is true.");
|
|
54489
|
+
}
|
|
54490
|
+
}
|
|
54447
54491
|
else {
|
|
54448
54492
|
if (startOffset === undefined || endOffset === undefined) {
|
|
54449
54493
|
reader.markMissingLink(fieldData.__ref);
|
|
@@ -59658,4 +59702,4 @@ ensureRegisteredOnce({
|
|
|
59658
59702
|
instrument,
|
|
59659
59703
|
});
|
|
59660
59704
|
|
|
59661
|
-
export { API_NAMESPACE, notifyChangeFactory as GetRecordNotifyChange, InMemoryRecordRepresentationQueryEvaluator, MRU, notifyUpdateAvailableFactory$3 as NotifyListInfoSummaryUpdateAvailable, notifyUpdateAvailableFactory$1 as NotifyListInfoUpdateAvailable, notifyUpdateAvailableFactory$4 as NotifyListRecordCollectionUpdateAvailable, notifyUpdateAvailableFactory$2 as NotifyListViewSummaryUpdateAvailable, notifyUpdateAvailableFactory as NotifyQuickActionDefaultsUpdateAvailable, notifyUpdateAvailableFactory$5 as NotifyRecordUpdateAvailable, RepresentationType$O as ObjectInfoDirectoryEntryRepresentationType, RepresentationType$T as ObjectInfoRepresentationType, RECORD_FIELDS_KEY_JUNCTION, RECORD_ID_PREFIX, RECORD_REPRESENTATION_NAME, RECORD_VIEW_ENTITY_ID_PREFIX, RECORD_VIEW_ENTITY_REPRESENTATION_NAME, RepresentationType$_ as RecordRepresentationRepresentationType, TTL$F as RecordRepresentationTTL, RepresentationType$_ as RecordRepresentationType, VERSION$2E as RecordRepresentationVersion, keyPrefix as UiApiNamespace, buildRecordRepKeyFromId, buildSelectionFromFields, buildSelectionFromRecord, getFieldApiNamesArray as coerceFieldIdArray, getObjectApiName$1 as coerceObjectId, getObjectApiNamesArray as coerceObjectIdArray, configuration, factory$1 as createContentDocumentAndVersionAdapterFactory, factory as createContentVersionAdapterFactory, createIngestRecordWithFields, createLDSAdapterWithPrediction, createListInfoAdapterFactory, factory$4 as createRecordAdapterFactory, createRecordInputFilteredByEditedFields, createRelatedListAdapterWithPrediction, deleteListInfoAdapterFactory, factory$3 as deleteRecordAdapterFactory, factory$f as executeBatchRecordOperationsAdapterFactory, extractRecordIdFromStoreKey, generateRecordInputForCreate, generateRecordInputForUpdate, getActionOverridesAdapterFactory, getAllAppsAdapterFactory, getAppDetailsAdapterFactory, getDuplicateConfigurationAdapterFactory, getDuplicatesAdapterFactory, getFieldDisplayValue$1 as getFieldDisplayValue, getFieldValue, getFlexipageFormulaOverridesAdapterFactory, getGlobalActionsAdapterFactory, getKeywordSearchResultsAdapterFactory, getLayoutAdapterFactory, getLayoutUserStateAdapterFactory, getListInfoByNameAdapterFactory, getListInfosByNameAdapterFactory, getListInfosByObjectNameAdapterFactory, getListObjectInfoAdapterFactory, getListPreferencesAdapterFactory, factory$a as getListRecordsByNameAdapterFactory, factory$j as getListUiAdapterFactory, getListUiByApiNameAdapterFactory, getListUiByListViewIdAdapterFactory, getListViewSummaryCollectionAdapterFactory, getLookupActionsAdapterFactory, getLookupMetadataAdapterFactory, factory$9 as getLookupRecordsAdapterFactory, factory$k as getMruListUiAdapterFactory, getNavItemsAdapterFactory, getObjectCreateActionsAdapterFactory, getObjectInfoAdapterFactory, getObjectInfoDirectoryAdapterFactory, getObjectInfosAdapterFactory, getPathLayoutAdapterFactory, getPicklistValuesAdapterFactory, getPicklistValuesByRecordTypeAdapterFactory, getQuickActionDefaultsAdapterFactory, getQuickActionInfoAdapterFactory, getQuickActionLayoutAdapterFactory, getRecordActionsAdapterFactory, factory$h as getRecordAdapterFactory, getRecordAvatarsAdapterFactory, factory$7 as getRecordCreateDefaultsAdapterFactory, getRecordEditActionsAdapterFactory, getRecordId18, getRecordInput, createFieldsIngestSuccess$3 as getRecordResourceIngest, factory$6 as getRecordTemplateCloneAdapterFactory, factory$5 as getRecordTemplateCreateAdapterFactory, factory$i as getRecordUiAdapterFactory, getRecordsAdapterFactory, getRelatedListActionsAdapterFactory, getRelatedListCountAdapterFactory, getRelatedListInfoAdapterFactory, getRelatedListInfoBatchAdapterFactory, getRelatedListPreferencesAdapterFactory, getRelatedListPreferencesBatchAdapterFactory, getRelatedListRecordActionsAdapterFactory, getRelatedListRecordsAdapterFactory, getRelatedListRecordsBatchAdapterFactory, getRelatedListsActionsAdapterFactory, getRelatedListsCountAdapterFactory, getRelatedListsInfoAdapterFactory, getResponseCacheKeys as getResponseCacheKeysContentDocumentCompositeRepresentation, getSearchFilterMetadataAdapterFactory, getSearchFilterOptionsAdapterFactory, getSearchResultsAdapterFactory, getSelectedAppAdapterFactory, getTypeCacheKeys$2h as getTypeCacheKeysRecord, factory$e as graphqlAdapterFactory, factory$g as graphqlBatchAdapterFactory, ingest$4 as ingestContentDocumentCompositeRepresentation, ingest$1P as ingestDuplicateConfiguration, ingest$1J as ingestDuplicatesRepresentation, ingest$2f as ingestListInfo, ingest$2b as ingestListRecords, ingest$25 as ingestObjectInfo, ingest$1$ as ingestQuickActionExecutionRepresentation, ingest$2c as ingestRecord, ingest$22 as ingestRecordUi, ingest$1B as ingestRelatedListInfo, ingest$2 as ingestRelatedListInfoBatch, ingest$1y as ingestRelatedListRecords, ingest as ingestRelatedListRecordsBatch, ingest$1A as ingestRelatedListSummaryInfoCollection, ingest$7 as ingestUiApiGraphql, instrument, isStoreKeyRecordViewEntity, keyBuilder as keyBuilderContentDocumentCompositeRepresentation, keyBuilderFromType as keyBuilderFromTypeContentDocumentCompositeRepresentation, keyBuilderFromType$D as keyBuilderFromTypeRecordRepresentation, keyBuilder$3j as keyBuilderObjectInfo, keyBuilder$3c as keyBuilderQuickActionExecutionRepresentation, keyBuilder$3A as keyBuilderRecord, factory$c as performQuickActionAdapterFactory, factory$d as performUpdateRecordQuickActionAdapterFactory, registerPrefetcher, untrustedIsObject, factory$b as updateLayoutUserStateAdapterFactory, updateListInfoByNameAdapterFactory, updateListPreferencesAdapterFactory, factory$2 as updateRecordAdapterFactory, factory$8 as updateRecordAvatarAdapterFactory, updateRelatedListInfoAdapterFactory, updateRelatedListPreferencesAdapterFactory };
|
|
59705
|
+
export { API_NAMESPACE, notifyChangeFactory as GetRecordNotifyChange, InMemoryRecordRepresentationQueryEvaluator, MRU, notifyUpdateAvailableFactory$3 as NotifyListInfoSummaryUpdateAvailable, notifyUpdateAvailableFactory$1 as NotifyListInfoUpdateAvailable, notifyUpdateAvailableFactory$4 as NotifyListRecordCollectionUpdateAvailable, notifyUpdateAvailableFactory$2 as NotifyListViewSummaryUpdateAvailable, notifyUpdateAvailableFactory as NotifyQuickActionDefaultsUpdateAvailable, notifyUpdateAvailableFactory$5 as NotifyRecordUpdateAvailable, RepresentationType$O as ObjectInfoDirectoryEntryRepresentationType, RepresentationType$T as ObjectInfoRepresentationType, RECORD_FIELDS_KEY_JUNCTION, RECORD_ID_PREFIX, RECORD_REPRESENTATION_NAME, RECORD_VIEW_ENTITY_ID_PREFIX, RECORD_VIEW_ENTITY_REPRESENTATION_NAME, RepresentationType$_ as RecordRepresentationRepresentationType, TTL$F as RecordRepresentationTTL, RepresentationType$_ as RecordRepresentationType, VERSION$2E as RecordRepresentationVersion, keyPrefix as UiApiNamespace, buildRecordRepKeyFromId, buildSelectionFromFields, buildSelectionFromRecord, getFieldApiNamesArray as coerceFieldIdArray, getObjectApiName$1 as coerceObjectId, getObjectApiNamesArray as coerceObjectIdArray, configuration, factory$1 as createContentDocumentAndVersionAdapterFactory, factory as createContentVersionAdapterFactory, createIngestRecordWithFields, createLDSAdapterWithPrediction, createListInfoAdapterFactory, factory$4 as createRecordAdapterFactory, createRecordInputFilteredByEditedFields, createRelatedListAdapterWithPrediction, deleteListInfoAdapterFactory, factory$3 as deleteRecordAdapterFactory, factory$f as executeBatchRecordOperationsAdapterFactory, extractRecordIdFromStoreKey, generateRecordInputForCreate, generateRecordInputForUpdate, getActionOverridesAdapterFactory, getAllAppsAdapterFactory, getAppDetailsAdapterFactory, getDuplicateConfigurationAdapterFactory, getDuplicatesAdapterFactory, getFieldDisplayValue$1 as getFieldDisplayValue, getFieldValue, getFlexipageFormulaOverridesAdapterFactory, getGlobalActionsAdapterFactory, getKeywordSearchResultsAdapterFactory, getLayoutAdapterFactory, getLayoutUserStateAdapterFactory, getListInfoByNameAdapterFactory, getListInfosByNameAdapterFactory, getListInfosByObjectNameAdapterFactory, getListObjectInfoAdapterFactory, getListPreferencesAdapterFactory, factory$a as getListRecordsByNameAdapterFactory, factory$j as getListUiAdapterFactory, getListUiByApiNameAdapterFactory, getListUiByListViewIdAdapterFactory, getListViewSummaryCollectionAdapterFactory, getLookupActionsAdapterFactory, getLookupMetadataAdapterFactory, factory$9 as getLookupRecordsAdapterFactory, factory$k as getMruListUiAdapterFactory, getNavItemsAdapterFactory, getObjectCreateActionsAdapterFactory, getObjectInfoAdapterFactory, getObjectInfoDirectoryAdapterFactory, getObjectInfosAdapterFactory, getPathLayoutAdapterFactory, getPicklistValuesAdapterFactory, getPicklistValuesByRecordTypeAdapterFactory, getQuickActionDefaultsAdapterFactory, getQuickActionInfoAdapterFactory, getQuickActionLayoutAdapterFactory, getRecordActionsAdapterFactory, factory$h as getRecordAdapterFactory, getRecordAvatarsAdapterFactory, factory$7 as getRecordCreateDefaultsAdapterFactory, getRecordEditActionsAdapterFactory, getRecordId18, getRecordInput, createFieldsIngestSuccess$3 as getRecordResourceIngest, factory$6 as getRecordTemplateCloneAdapterFactory, factory$5 as getRecordTemplateCreateAdapterFactory, factory$i as getRecordUiAdapterFactory, getRecordsAdapterFactory, getRelatedListActionsAdapterFactory, getRelatedListCountAdapterFactory, getRelatedListInfoAdapterFactory, getRelatedListInfoBatchAdapterFactory, getRelatedListPreferencesAdapterFactory, getRelatedListPreferencesBatchAdapterFactory, getRelatedListRecordActionsAdapterFactory, getRelatedListRecordsAdapterFactory, getRelatedListRecordsBatchAdapterFactory, getRelatedListsActionsAdapterFactory, getRelatedListsCountAdapterFactory, getRelatedListsInfoAdapterFactory, getResponseCacheKeys as getResponseCacheKeysContentDocumentCompositeRepresentation, getSearchFilterMetadataAdapterFactory, getSearchFilterOptionsAdapterFactory, getSearchResultsAdapterFactory, getSelectedAppAdapterFactory, getTypeCacheKeys$2h as getTypeCacheKeysRecord, factory$e as graphqlAdapterFactory, factory$g as graphqlBatchAdapterFactory, ingest$4 as ingestContentDocumentCompositeRepresentation, ingest$1P as ingestDuplicateConfiguration, ingest$1J as ingestDuplicatesRepresentation, ingest$2f as ingestListInfo, ingest$2b as ingestListRecords, ingest$25 as ingestObjectInfo, ingest$1$ as ingestQuickActionExecutionRepresentation, ingest$2c as ingestRecord, ingest$22 as ingestRecordUi, ingest$1B as ingestRelatedListInfo, ingest$2 as ingestRelatedListInfoBatch, ingest$1y as ingestRelatedListRecords, ingest as ingestRelatedListRecordsBatch, ingest$1A as ingestRelatedListSummaryInfoCollection, ingest$7 as ingestUiApiGraphql, instrument, isStoreKeyRecordViewEntity, isSupportedEntity, keyBuilder as keyBuilderContentDocumentCompositeRepresentation, keyBuilderFromType as keyBuilderFromTypeContentDocumentCompositeRepresentation, keyBuilderFromType$D as keyBuilderFromTypeRecordRepresentation, keyBuilder$3j as keyBuilderObjectInfo, keyBuilder$3c as keyBuilderQuickActionExecutionRepresentation, keyBuilder$3A as keyBuilderRecord, factory$c as performQuickActionAdapterFactory, factory$d as performUpdateRecordQuickActionAdapterFactory, registerPrefetcher, untrustedIsObject, factory$b as updateLayoutUserStateAdapterFactory, updateListInfoByNameAdapterFactory, updateListPreferencesAdapterFactory, factory$2 as updateRecordAdapterFactory, factory$8 as updateRecordAvatarAdapterFactory, updateRelatedListInfoAdapterFactory, updateRelatedListPreferencesAdapterFactory };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/lds-adapters-uiapi",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.321.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",
|
|
@@ -68,14 +68,14 @@
|
|
|
68
68
|
}
|
|
69
69
|
},
|
|
70
70
|
"dependencies": {
|
|
71
|
-
"@salesforce/lds-bindings": "^1.
|
|
72
|
-
"@salesforce/lds-default-luvio": "^1.
|
|
71
|
+
"@salesforce/lds-bindings": "^1.321.0",
|
|
72
|
+
"@salesforce/lds-default-luvio": "^1.321.0"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
75
|
"@databases/sqlite": "^3.0.0",
|
|
76
|
-
"@salesforce/lds-compiler-plugins": "^1.
|
|
77
|
-
"@salesforce/lds-jest": "^1.
|
|
78
|
-
"@salesforce/lds-store-binary": "^1.
|
|
76
|
+
"@salesforce/lds-compiler-plugins": "^1.321.0",
|
|
77
|
+
"@salesforce/lds-jest": "^1.321.0",
|
|
78
|
+
"@salesforce/lds-store-binary": "^1.321.0"
|
|
79
79
|
},
|
|
80
80
|
"luvioBundlesize": [
|
|
81
81
|
{
|
package/sfdc/graphqlAdapters.js
CHANGED
|
@@ -20622,6 +20622,12 @@ function selectTypeLinkWithPagination(resolvedLink, sel, fieldData, reader, key,
|
|
|
20622
20622
|
return;
|
|
20623
20623
|
}
|
|
20624
20624
|
}
|
|
20625
|
+
else if (totalEdges === 0 && !listIsComplete) {
|
|
20626
|
+
// empty edge list, but the list isn't complete?
|
|
20627
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
20628
|
+
throw new Error("page size of zero, but pageInfo .hasNextPage is true.");
|
|
20629
|
+
}
|
|
20630
|
+
}
|
|
20625
20631
|
else {
|
|
20626
20632
|
if (startOffset === undefined || endOffset === undefined) {
|
|
20627
20633
|
reader.markMissingLink(fieldData.__ref);
|
|
@@ -22263,4 +22269,4 @@ register({
|
|
|
22263
22269
|
});
|
|
22264
22270
|
|
|
22265
22271
|
export { configurationForGraphQLAdapters as configuration, graphql, factory$1 as graphqlAdapterFactory, graphqlBatch, graphqlBatch_imperative, graphql_imperative };
|
|
22266
|
-
// version: 1.
|
|
22272
|
+
// version: 1.321.0-40847d67a8
|
package/sfdc/index.js
CHANGED
|
@@ -4978,7 +4978,7 @@ const RECORD_REPRESENTATION_ERROR_STORE_METADATA_PARAMS = {
|
|
|
4978
4978
|
version: RECORD_REPRESENTATION_ERROR_VERSION,
|
|
4979
4979
|
};
|
|
4980
4980
|
function isGraphNode(node) {
|
|
4981
|
-
return node
|
|
4981
|
+
return !!node && node.type === 'Node';
|
|
4982
4982
|
}
|
|
4983
4983
|
function addScalarFieldId(current) {
|
|
4984
4984
|
addScalarField(current, 'Id');
|
|
@@ -5045,6 +5045,8 @@ function extractTrackedFieldsToTrie(recordId, node, root, config, visitedRecordI
|
|
|
5045
5045
|
const spanning = spanningLink.follow();
|
|
5046
5046
|
// W-8058425, do not include external lookups added by getTrackedFields
|
|
5047
5047
|
if (isExternalLookupFieldKey(spanning)) {
|
|
5048
|
+
// NOTE: the logic to get here is mimicked in RecordRepresentation/merge::mergePendingFields as of
|
|
5049
|
+
// W-11899329 due to issues with external lookups being marked pending but never fetched
|
|
5048
5050
|
continue;
|
|
5049
5051
|
}
|
|
5050
5052
|
extractTrackedFieldsToTrie(spanningLink.data.__ref, spanning, next, config, spanningVisitedRecordIds, depth + 1);
|
|
@@ -5077,6 +5079,8 @@ function extractTrackedFieldsToTrie(recordId, node, root, config, visitedRecordI
|
|
|
5077
5079
|
const { fields } = state;
|
|
5078
5080
|
// W-8058425, do not include external lookups added by getTrackedFields
|
|
5079
5081
|
if (includes.call(fields, 'ExternalId')) {
|
|
5082
|
+
// NOTE: the logic to get here is mimicked in RecordRepresentation/merge::mergePendingFields as of
|
|
5083
|
+
// W-11899329 due to issues with external lookups being marked pending but never fetched
|
|
5080
5084
|
continue;
|
|
5081
5085
|
}
|
|
5082
5086
|
for (let s = 0, len = fields.length; s < len; s += 1) {
|
|
@@ -5345,15 +5349,49 @@ function ingestRecordResponse(luvio, response, recordId, recordIngest, conflictM
|
|
|
5345
5349
|
|
|
5346
5350
|
// This function sets fields that we are refreshing to pending
|
|
5347
5351
|
// These values will go into the store
|
|
5348
|
-
function mergePendingFields(newRecord, oldRecord) {
|
|
5349
|
-
// TODO [W-6900046]: avoid casting to any by updating
|
|
5350
|
-
// RecordRepresentationNormalized['fields'] to include `pending:true` property
|
|
5352
|
+
function mergePendingFields(newRecord, oldRecord, existingNode) {
|
|
5351
5353
|
const mergedFields = { ...newRecord.fields };
|
|
5352
5354
|
const merged = { ...newRecord, fields: mergedFields };
|
|
5353
5355
|
const existingFields = keys(oldRecord.fields);
|
|
5354
5356
|
for (let i = 0, len = existingFields.length; i < len; i += 1) {
|
|
5355
5357
|
const spanningFieldName = existingFields[i];
|
|
5356
5358
|
if (newRecord.fields[spanningFieldName] === undefined) {
|
|
5359
|
+
/*
|
|
5360
|
+
* Per W-8058425 external lookups fields are excluded from the tracked fields. However, as covered in
|
|
5361
|
+
* W-11899329, situations can arise in which a merge conflict occurs when the existing record has a
|
|
5362
|
+
* reference to an external lookup field. The exclusion ultimately results in a snapshot stuck in the
|
|
5363
|
+
* pending state. This is an approach to prevent that situation.
|
|
5364
|
+
*
|
|
5365
|
+
* The same logic checks for W-8058425 to "continue" as it relates to not tracking external lookups is
|
|
5366
|
+
* mimicked here as it relates to not marking them as pending.
|
|
5367
|
+
*/
|
|
5368
|
+
// make sure external lookups are NOT marked as pending when `existingNode` is provided
|
|
5369
|
+
if (isGraphNode(existingNode)) {
|
|
5370
|
+
// get the node for the spanning field
|
|
5371
|
+
const fieldValueRep = existingNode
|
|
5372
|
+
.object('fields')
|
|
5373
|
+
.link(spanningFieldName);
|
|
5374
|
+
const field = fieldValueRep.follow();
|
|
5375
|
+
if (isGraphNode(field)) {
|
|
5376
|
+
if (field.isScalar('value') === false) {
|
|
5377
|
+
const record = field
|
|
5378
|
+
.link('value')
|
|
5379
|
+
.follow();
|
|
5380
|
+
if (isExternalLookupFieldKey(record)) {
|
|
5381
|
+
continue;
|
|
5382
|
+
}
|
|
5383
|
+
}
|
|
5384
|
+
}
|
|
5385
|
+
else {
|
|
5386
|
+
const state = fieldValueRep.linkData();
|
|
5387
|
+
if (state !== undefined) {
|
|
5388
|
+
const { fields } = state;
|
|
5389
|
+
if (includes.call(fields, 'ExternalId')) {
|
|
5390
|
+
continue;
|
|
5391
|
+
}
|
|
5392
|
+
}
|
|
5393
|
+
}
|
|
5394
|
+
}
|
|
5357
5395
|
// TODO [W-6900046]: fix above casting issue so we're not stuffing arbitrary things
|
|
5358
5396
|
// into RecordRepresentationNormalized['fields']
|
|
5359
5397
|
mergedFields[spanningFieldName] = {
|
|
@@ -5367,7 +5405,7 @@ function mergePendingFields(newRecord, oldRecord) {
|
|
|
5367
5405
|
// This method gets called
|
|
5368
5406
|
// when incoming record has a higher version
|
|
5369
5407
|
// than the record that is currently in the store
|
|
5370
|
-
function mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap) {
|
|
5408
|
+
function mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap, existingNode) {
|
|
5371
5409
|
// If the higher version (incoming) does not contain a superset of fields as existing
|
|
5372
5410
|
// then we need to refresh to get updated versions of fields in existing
|
|
5373
5411
|
if (isSuperRecordFieldTrie(incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot) ===
|
|
@@ -5384,14 +5422,14 @@ function mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedF
|
|
|
5384
5422
|
};
|
|
5385
5423
|
// We want to mark fields in the store as pending
|
|
5386
5424
|
// Because we don't want to emit any data to components
|
|
5387
|
-
return mergePendingFields(incoming, existing);
|
|
5425
|
+
return mergePendingFields(incoming, existing, existingNode);
|
|
5388
5426
|
}
|
|
5389
5427
|
return incoming;
|
|
5390
5428
|
}
|
|
5391
5429
|
// This method gets called
|
|
5392
5430
|
// when incoming record has a lower version
|
|
5393
5431
|
// than the record that is currently in the store
|
|
5394
|
-
function mergeAndRefreshLowerVersionRecord(luvio, incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap) {
|
|
5432
|
+
function mergeAndRefreshLowerVersionRecord(luvio, incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap, existingNode) {
|
|
5395
5433
|
// If the higher version (existing) does not have a superset of fields as incoming
|
|
5396
5434
|
// then we need to refresh to get updated versions of fields on incoming
|
|
5397
5435
|
if (isSuperRecordFieldTrie(existingTrackedFieldsTrieRoot, incomingTrackedFieldsTrieRoot) ===
|
|
@@ -5401,7 +5439,7 @@ function mergeAndRefreshLowerVersionRecord(luvio, incoming, existing, incomingTr
|
|
|
5401
5439
|
if (isSupportedEntity(incoming.apiName) === false) {
|
|
5402
5440
|
return mergeRecordFields(existing, incoming);
|
|
5403
5441
|
}
|
|
5404
|
-
const merged = mergePendingFields(existing, incoming);
|
|
5442
|
+
const merged = mergePendingFields(existing, incoming, existingNode);
|
|
5405
5443
|
// update the conflict map to resolve the record conflict in resolveConflict
|
|
5406
5444
|
if (recordConflictMap) {
|
|
5407
5445
|
recordConflictMap.conflicts[incoming.id] = {
|
|
@@ -5440,7 +5478,7 @@ function mergeRecordConflict(luvio, incoming, existing, recordConflictMap) {
|
|
|
5440
5478
|
extractTrackedFieldsToTrie(recordKey, incomingNode, incomingTrackedFieldsTrieRoot, trackedFieldsConfig);
|
|
5441
5479
|
extractTrackedFieldsToTrie(recordKey, existingNode, existingTrackedFieldsTrieRoot, trackedFieldsConfig);
|
|
5442
5480
|
if (incoming.weakEtag > existing.weakEtag) {
|
|
5443
|
-
return mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap);
|
|
5481
|
+
return mergeAndRefreshHigherVersionRecord(incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap, existingNode);
|
|
5444
5482
|
}
|
|
5445
5483
|
return mergeAndRefreshLowerVersionRecord(luvio, incoming, existing, incomingTrackedFieldsTrieRoot, existingTrackedFieldsTrieRoot, recordConflictMap);
|
|
5446
5484
|
}
|
|
@@ -38446,5 +38484,5 @@ withDefaultLuvio((luvio) => {
|
|
|
38446
38484
|
notifyAllListInfoSummaryUpdateAvailable = throttle(60, 60000, setupNotifyAllListInfoSummaryUpdateAvailable(luvio));
|
|
38447
38485
|
});
|
|
38448
38486
|
|
|
38449
|
-
export { API_NAMESPACE, InMemoryRecordRepresentationQueryEvaluator, MRU, RepresentationType$J as ObjectInfoDirectoryEntryRepresentationType, RepresentationType$O as ObjectInfoRepresentationType, RECORD_FIELDS_KEY_JUNCTION, RECORD_ID_PREFIX, RECORD_REPRESENTATION_NAME, RECORD_VIEW_ENTITY_ID_PREFIX, RECORD_VIEW_ENTITY_REPRESENTATION_NAME, RepresentationType$V as RecordRepresentationRepresentationType, TTL$z as RecordRepresentationTTL, RepresentationType$V as RecordRepresentationType, VERSION$1e as RecordRepresentationVersion, keyPrefix as UiApiNamespace, buildRecordRepKeyFromId, getFieldApiNamesArray as coerceFieldIdArray, getObjectApiName$1 as coerceObjectId, getObjectApiNamesArray as coerceObjectIdArray, configurationForRestAdapters as configuration, createContentDocumentAndVersion, createContentVersion, createIngestRecordWithFields, createLDSAdapterWithPrediction, createListInfo, createRecord, createRelatedListAdapterWithPrediction, deleteListInfo, deleteRecord, executeBatchRecordOperations, extractRecordIdFromStoreKey, getActionOverrides, getActionOverrides_imperative, getAllApps, getAllApps_imperative, getAppDetails, getAppDetails_imperative, getDuplicateConfiguration, getDuplicateConfiguration_imperative, getDuplicates, getDuplicates_imperative, getFlexipageFormulaOverrides, getFlexipageFormulaOverrides_imperative, getGlobalActions, getGlobalActions_imperative, getKeywordSearchResults, getKeywordSearchResults_imperative, getLayout, getLayoutUserState, getLayoutUserState_imperative, getLayout_imperative, getListInfoByName, getListInfoByNameAdapterFactory, getListInfoByName_imperative, getListInfosByName, getListInfosByName_imperative, getListInfosByObjectName, getListInfosByObjectNameAdapterFactory, getListInfosByObjectName_imperative, getListObjectInfo, getListObjectInfoAdapterFactory, getListObjectInfo_imperative, getListPreferences, getListPreferences_imperative, getListRecordsByName, factory$a as getListRecordsByNameAdapterFactory, getListRecordsByName_imperative, getListUi, getListUi_imperative, getLookupActions, getLookupActions_imperative, getLookupMetadata, getLookupMetadata_imperative, getLookupRecords, getLookupRecords_imperative, getNavItems, getNavItems_imperative, getObjectCreateActions, getObjectCreateActions_imperative, getObjectInfo, getObjectInfoAdapterFactory, getObjectInfoDirectoryAdapterFactory, getObjectInfo_imperative, getObjectInfos, getObjectInfosAdapterFactory, getObjectInfos_imperative, getPathLayout, getPathLayout_imperative, getPicklistValues, getPicklistValuesByRecordType, getPicklistValuesByRecordType_imperative, getPicklistValues_imperative, getQuickActionDefaults, getQuickActionDefaults_imperative, getQuickActionInfo, getQuickActionInfo_imperative, getQuickActionLayout, getQuickActionLayout_imperative, getRecord, getRecordActions, getRecordActionsAdapterFactory, getRecordActions_imperative, factory$f as getRecordAdapterFactory, getRecordAvatars, getRecordAvatarsAdapterFactory, getRecordAvatars_imperative, getRecordCreateDefaults, getRecordCreateDefaults_imperative, getRecordEditActions, getRecordEditActions_imperative, getRecordId18, getRecordNotifyChange, getRecordTemplateClone, getRecordTemplateClone_imperative, getRecordTemplateCreate, getRecordTemplateCreate_imperative, getRecordUi, getRecordUi_imperative, getRecord_imperative, getRecords, getRecordsAdapterFactory, getRecords_imperative, getRelatedListActions, getRelatedListActions_imperative, getRelatedListCount, getRelatedListCount_imperative, getRelatedListInfo, getRelatedListInfoAdapterFactory, getRelatedListInfoBatch, getRelatedListInfoBatchAdapterFactory, getRelatedListInfoBatch_imperative, getRelatedListInfo_imperative, getRelatedListPreferences, getRelatedListPreferencesBatch, getRelatedListPreferencesBatch_imperative, getRelatedListPreferences_imperative, getRelatedListRecordActions, getRelatedListRecordActions_imperative, getRelatedListRecords, getRelatedListRecordsAdapterFactory, getRelatedListRecordsBatch, getRelatedListRecordsBatchAdapterFactory, getRelatedListRecordsBatch_imperative, getRelatedListRecords_imperative, getRelatedListsActions, getRelatedListsActionsAdapterFactory, getRelatedListsActions_imperative, getRelatedListsCount, getRelatedListsCount_imperative, getRelatedListsInfo, getRelatedListsInfo_imperative, getResponseCacheKeys as getResponseCacheKeysContentDocumentCompositeRepresentation, getSearchFilterMetadata, getSearchFilterMetadata_imperative, getSearchFilterOptions, getSearchFilterOptions_imperative, getSearchResults, getSearchResults_imperative, getTypeCacheKeys$X as getTypeCacheKeysRecord, ingest as ingestContentDocumentCompositeRepresentation, ingest$H as ingestObjectInfo, ingest$B as ingestQuickActionExecutionRepresentation, ingest$O as ingestRecord, instrument, isStoreKeyRecordViewEntity, keyBuilder as keyBuilderContentDocumentCompositeRepresentation, keyBuilderFromType as keyBuilderFromTypeContentDocumentCompositeRepresentation, keyBuilderFromType$D as keyBuilderFromTypeRecordRepresentation, keyBuilder$1Y as keyBuilderObjectInfo, keyBuilder$1R as keyBuilderQuickActionExecutionRepresentation, keyBuilder$29 as keyBuilderRecord, notifyAllListInfoSummaryUpdateAvailable, notifyAllListRecordUpdateAvailable, notifyListInfoSummaryUpdateAvailable, notifyListInfoUpdateAvailable, notifyListRecordCollectionUpdateAvailable, notifyListViewSummaryUpdateAvailable, notifyQuickActionDefaultsUpdateAvailable, notifyRecordUpdateAvailable, performQuickAction, performUpdateRecordQuickAction, refresh, registerPrefetcher, updateLayoutUserState, updateListInfoByName, updateListPreferences, updateRecord, updateRecordAvatar, updateRelatedListInfo, updateRelatedListPreferences };
|
|
38450
|
-
// version: 1.
|
|
38487
|
+
export { API_NAMESPACE, InMemoryRecordRepresentationQueryEvaluator, MRU, RepresentationType$J as ObjectInfoDirectoryEntryRepresentationType, RepresentationType$O as ObjectInfoRepresentationType, RECORD_FIELDS_KEY_JUNCTION, RECORD_ID_PREFIX, RECORD_REPRESENTATION_NAME, RECORD_VIEW_ENTITY_ID_PREFIX, RECORD_VIEW_ENTITY_REPRESENTATION_NAME, RepresentationType$V as RecordRepresentationRepresentationType, TTL$z as RecordRepresentationTTL, RepresentationType$V as RecordRepresentationType, VERSION$1e as RecordRepresentationVersion, keyPrefix as UiApiNamespace, buildRecordRepKeyFromId, getFieldApiNamesArray as coerceFieldIdArray, getObjectApiName$1 as coerceObjectId, getObjectApiNamesArray as coerceObjectIdArray, configurationForRestAdapters as configuration, createContentDocumentAndVersion, createContentVersion, createIngestRecordWithFields, createLDSAdapterWithPrediction, createListInfo, createRecord, createRelatedListAdapterWithPrediction, deleteListInfo, deleteRecord, executeBatchRecordOperations, extractRecordIdFromStoreKey, getActionOverrides, getActionOverrides_imperative, getAllApps, getAllApps_imperative, getAppDetails, getAppDetails_imperative, getDuplicateConfiguration, getDuplicateConfiguration_imperative, getDuplicates, getDuplicates_imperative, getFlexipageFormulaOverrides, getFlexipageFormulaOverrides_imperative, getGlobalActions, getGlobalActions_imperative, getKeywordSearchResults, getKeywordSearchResults_imperative, getLayout, getLayoutUserState, getLayoutUserState_imperative, getLayout_imperative, getListInfoByName, getListInfoByNameAdapterFactory, getListInfoByName_imperative, getListInfosByName, getListInfosByName_imperative, getListInfosByObjectName, getListInfosByObjectNameAdapterFactory, getListInfosByObjectName_imperative, getListObjectInfo, getListObjectInfoAdapterFactory, getListObjectInfo_imperative, getListPreferences, getListPreferences_imperative, getListRecordsByName, factory$a as getListRecordsByNameAdapterFactory, getListRecordsByName_imperative, getListUi, getListUi_imperative, getLookupActions, getLookupActions_imperative, getLookupMetadata, getLookupMetadata_imperative, getLookupRecords, getLookupRecords_imperative, getNavItems, getNavItems_imperative, getObjectCreateActions, getObjectCreateActions_imperative, getObjectInfo, getObjectInfoAdapterFactory, getObjectInfoDirectoryAdapterFactory, getObjectInfo_imperative, getObjectInfos, getObjectInfosAdapterFactory, getObjectInfos_imperative, getPathLayout, getPathLayout_imperative, getPicklistValues, getPicklistValuesByRecordType, getPicklistValuesByRecordType_imperative, getPicklistValues_imperative, getQuickActionDefaults, getQuickActionDefaults_imperative, getQuickActionInfo, getQuickActionInfo_imperative, getQuickActionLayout, getQuickActionLayout_imperative, getRecord, getRecordActions, getRecordActionsAdapterFactory, getRecordActions_imperative, factory$f as getRecordAdapterFactory, getRecordAvatars, getRecordAvatarsAdapterFactory, getRecordAvatars_imperative, getRecordCreateDefaults, getRecordCreateDefaults_imperative, getRecordEditActions, getRecordEditActions_imperative, getRecordId18, getRecordNotifyChange, getRecordTemplateClone, getRecordTemplateClone_imperative, getRecordTemplateCreate, getRecordTemplateCreate_imperative, getRecordUi, getRecordUi_imperative, getRecord_imperative, getRecords, getRecordsAdapterFactory, getRecords_imperative, getRelatedListActions, getRelatedListActions_imperative, getRelatedListCount, getRelatedListCount_imperative, getRelatedListInfo, getRelatedListInfoAdapterFactory, getRelatedListInfoBatch, getRelatedListInfoBatchAdapterFactory, getRelatedListInfoBatch_imperative, getRelatedListInfo_imperative, getRelatedListPreferences, getRelatedListPreferencesBatch, getRelatedListPreferencesBatch_imperative, getRelatedListPreferences_imperative, getRelatedListRecordActions, getRelatedListRecordActions_imperative, getRelatedListRecords, getRelatedListRecordsAdapterFactory, getRelatedListRecordsBatch, getRelatedListRecordsBatchAdapterFactory, getRelatedListRecordsBatch_imperative, getRelatedListRecords_imperative, getRelatedListsActions, getRelatedListsActionsAdapterFactory, getRelatedListsActions_imperative, getRelatedListsCount, getRelatedListsCount_imperative, getRelatedListsInfo, getRelatedListsInfo_imperative, getResponseCacheKeys as getResponseCacheKeysContentDocumentCompositeRepresentation, getSearchFilterMetadata, getSearchFilterMetadata_imperative, getSearchFilterOptions, getSearchFilterOptions_imperative, getSearchResults, getSearchResults_imperative, getTypeCacheKeys$X as getTypeCacheKeysRecord, ingest as ingestContentDocumentCompositeRepresentation, ingest$H as ingestObjectInfo, ingest$B as ingestQuickActionExecutionRepresentation, ingest$O as ingestRecord, instrument, isStoreKeyRecordViewEntity, isSupportedEntity, keyBuilder as keyBuilderContentDocumentCompositeRepresentation, keyBuilderFromType as keyBuilderFromTypeContentDocumentCompositeRepresentation, keyBuilderFromType$D as keyBuilderFromTypeRecordRepresentation, keyBuilder$1Y as keyBuilderObjectInfo, keyBuilder$1R as keyBuilderQuickActionExecutionRepresentation, keyBuilder$29 as keyBuilderRecord, notifyAllListInfoSummaryUpdateAvailable, notifyAllListRecordUpdateAvailable, notifyListInfoSummaryUpdateAvailable, notifyListInfoUpdateAvailable, notifyListRecordCollectionUpdateAvailable, notifyListViewSummaryUpdateAvailable, notifyQuickActionDefaultsUpdateAvailable, notifyRecordUpdateAvailable, performQuickAction, performUpdateRecordQuickAction, refresh, registerPrefetcher, updateLayoutUserState, updateListInfoByName, updateListPreferences, updateRecord, updateRecordAvatar, updateRelatedListInfo, updateRelatedListPreferences };
|
|
38488
|
+
// version: 1.321.0-40847d67a8
|
|
@@ -95,7 +95,7 @@ var TypeCheckShapes;
|
|
|
95
95
|
TypeCheckShapes[TypeCheckShapes["Integer"] = 3] = "Integer";
|
|
96
96
|
TypeCheckShapes[TypeCheckShapes["Unsupported"] = 4] = "Unsupported";
|
|
97
97
|
})(TypeCheckShapes || (TypeCheckShapes = {}));
|
|
98
|
-
// engine version: 0.156.
|
|
98
|
+
// engine version: 0.156.5-f5fd8c7a
|
|
99
99
|
|
|
100
100
|
const { keys: ObjectKeys, create: ObjectCreate } = Object;
|
|
101
101
|
|