@salesforce/lds-runtime-aura 1.404.0-dev2 → 1.404.0-dev5
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/ldsEngineCreator.js
CHANGED
|
@@ -22,8 +22,9 @@ import useCmpDefPredictions from '@salesforce/gate/lds.pdl.useCmpDefPredictions'
|
|
|
22
22
|
import applyPredictionRequestLimit from '@salesforce/gate/lds.pdl.applyRequestLimit';
|
|
23
23
|
import useLocalStorage from '@salesforce/gate/lds.pdl.useLocalStorage';
|
|
24
24
|
import useOneStoreGraphql from '@salesforce/gate/lds.oneStoreGraphqlEnabled.ltng';
|
|
25
|
+
import canCombineRecordLayoutRequests from '@salesforce/gate/lds.pdl.canCombineRecordLayoutRequests';
|
|
25
26
|
import { GetApexWireAdapterFactory, registerPrefetcher as registerPrefetcher$1 } from 'force/ldsAdaptersApex';
|
|
26
|
-
import { instrument, getRecordAvatarsAdapterFactory, getRecordAdapterFactory, coerceFieldIdArray, getRecordsAdapterFactory, getRecordActionsAdapterFactory, getObjectInfosAdapterFactory, coerceObjectIdArray, getObjectInfoAdapterFactory, coerceObjectId, getRelatedListsActionsAdapterFactory, getRelatedListInfoBatchAdapterFactory, getRelatedListInfoAdapterFactory, getRelatedListRecordsBatchAdapterFactory, getRelatedListRecordsAdapterFactory, getListInfoByNameAdapterFactory, getListInfosByObjectNameAdapterFactory, getListRecordsByNameAdapterFactory, getListObjectInfoAdapterFactory, getRelatedListsInfoAdapterFactory, getRelatedListActionsAdapterFactory, getRecordId18Array, buildRecordRepKeyFromId, configuration, InMemoryRecordRepresentationQueryEvaluator, UiApiNamespace, RecordRepresentationRepresentationType, registerPrefetcher, RecordRepresentationVersion } from 'force/ldsAdaptersUiapi';
|
|
27
|
+
import { instrument, getRecordAvatarsAdapterFactory, getRecordAdapterFactory, coerceFieldIdArray, coerceLayoutTypeArray, coerceLayoutModeArray, getRecordsAdapterFactory, getRecordActionsAdapterFactory, getObjectInfosAdapterFactory, coerceObjectIdArray, getObjectInfoAdapterFactory, coerceObjectId, getRelatedListsActionsAdapterFactory, getRelatedListInfoBatchAdapterFactory, getRelatedListInfoAdapterFactory, getRelatedListRecordsBatchAdapterFactory, getRelatedListRecordsAdapterFactory, getListInfoByNameAdapterFactory, getListInfosByObjectNameAdapterFactory, getListRecordsByNameAdapterFactory, getListObjectInfoAdapterFactory, getRelatedListsInfoAdapterFactory, getRelatedListActionsAdapterFactory, getRecordId18Array, buildRecordRepKeyFromId, configuration, InMemoryRecordRepresentationQueryEvaluator, UiApiNamespace, RecordRepresentationRepresentationType, registerPrefetcher, RecordRepresentationVersion } from 'force/ldsAdaptersUiapi';
|
|
27
28
|
import { getInstrumentation } from 'o11y/client';
|
|
28
29
|
import { findExecutableOperation, buildGraphQLInputExtension, addTypenameToDocument } from 'force/luvioGraphqlNormalization';
|
|
29
30
|
import { print, wrapConfigAndVerify, resolveAst, validateGraphQLOperations } from 'force/luvioOnestoreGraphqlParser';
|
|
@@ -2666,7 +2667,7 @@ function buildServiceDescriptor$d(luvio) {
|
|
|
2666
2667
|
},
|
|
2667
2668
|
};
|
|
2668
2669
|
}
|
|
2669
|
-
// version: 1.404.0-
|
|
2670
|
+
// version: 1.404.0-dev5-38a59c52aa
|
|
2670
2671
|
|
|
2671
2672
|
/*!
|
|
2672
2673
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -3004,7 +3005,7 @@ function buildServiceDescriptor$9(notifyRecordUpdateAvailable, getNormalizedLuvi
|
|
|
3004
3005
|
},
|
|
3005
3006
|
};
|
|
3006
3007
|
}
|
|
3007
|
-
// version: 1.404.0-
|
|
3008
|
+
// version: 1.404.0-dev5-38a59c52aa
|
|
3008
3009
|
|
|
3009
3010
|
/*!
|
|
3010
3011
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -4707,7 +4708,7 @@ function getEnvironmentSetting(name) {
|
|
|
4707
4708
|
}
|
|
4708
4709
|
return undefined;
|
|
4709
4710
|
}
|
|
4710
|
-
// version: 1.404.0-
|
|
4711
|
+
// version: 1.404.0-dev5-38a59c52aa
|
|
4711
4712
|
|
|
4712
4713
|
/**
|
|
4713
4714
|
* Observability / Critical Availability Program (230+)
|
|
@@ -6775,9 +6776,31 @@ function isFieldsRequest(config) {
|
|
|
6775
6776
|
config.modes === undefined &&
|
|
6776
6777
|
(config.fields !== undefined || config.optionalFields !== undefined));
|
|
6777
6778
|
}
|
|
6779
|
+
function isCombinableLayoutRequest(config) {
|
|
6780
|
+
// We will only consider a layout request combinable if it is a single layout type request
|
|
6781
|
+
// and the only request parameters are:
|
|
6782
|
+
// - layoutTypes
|
|
6783
|
+
// - optionalFields
|
|
6784
|
+
// - modes
|
|
6785
|
+
const hasExtraParams = config.childRelationships !== undefined ||
|
|
6786
|
+
config.pageSize !== undefined ||
|
|
6787
|
+
config.updateMru !== undefined;
|
|
6788
|
+
return config.layoutTypes !== undefined && !hasExtraParams;
|
|
6789
|
+
}
|
|
6790
|
+
function areCombinableLayoutRequests(reqA, reqB) {
|
|
6791
|
+
const normilizedLayoutTypesA = coerceLayoutTypeArray(reqA.layoutTypes) || [];
|
|
6792
|
+
const normilizedLayoutTypesB = coerceLayoutTypeArray(reqB.layoutTypes) || [];
|
|
6793
|
+
// Let's only combine when the layoutTypes are the same
|
|
6794
|
+
return (isCombinableLayoutRequest(reqA) &&
|
|
6795
|
+
isCombinableLayoutRequest(reqB) &&
|
|
6796
|
+
reqA.recordId === reqB.recordId &&
|
|
6797
|
+
normilizedLayoutTypesA.length === normilizedLayoutTypesB.length &&
|
|
6798
|
+
normilizedLayoutTypesA.every((type, index) => type === normilizedLayoutTypesB[index]));
|
|
6799
|
+
}
|
|
6778
6800
|
class GetRecordRequestStrategy extends LuvioAdapterRequestStrategy {
|
|
6779
|
-
constructor() {
|
|
6780
|
-
super(
|
|
6801
|
+
constructor(luvio, canCombineRecordLayoutRequests = false) {
|
|
6802
|
+
super(luvio);
|
|
6803
|
+
this.canCombineRecordLayoutRequests = canCombineRecordLayoutRequests;
|
|
6781
6804
|
this.adapterName = GET_RECORD_ADAPTER_NAME;
|
|
6782
6805
|
this.adapterFactory = getRecordAdapterFactory;
|
|
6783
6806
|
}
|
|
@@ -6806,10 +6829,41 @@ class GetRecordRequestStrategy extends LuvioAdapterRequestStrategy {
|
|
|
6806
6829
|
};
|
|
6807
6830
|
}
|
|
6808
6831
|
canCombine(reqA, reqB) {
|
|
6809
|
-
// must be same record and
|
|
6810
|
-
return reqA.recordId === reqB.recordId &&
|
|
6832
|
+
// must be same record and either both are fields requests or both are combinable layout requests
|
|
6833
|
+
return (reqA.recordId === reqB.recordId &&
|
|
6834
|
+
((isFieldsRequest(reqA) && isFieldsRequest(reqB)) ||
|
|
6835
|
+
(this.canCombineRecordLayoutRequests && areCombinableLayoutRequests(reqA, reqB))));
|
|
6811
6836
|
}
|
|
6812
6837
|
combineRequests(reqA, reqB) {
|
|
6838
|
+
if (isFieldsRequest(reqA)) {
|
|
6839
|
+
return this.combineFieldsRequests(reqA, reqB);
|
|
6840
|
+
}
|
|
6841
|
+
else {
|
|
6842
|
+
return this.combineLayoutRequests(reqA, reqB);
|
|
6843
|
+
}
|
|
6844
|
+
}
|
|
6845
|
+
combineLayoutRequests(reqA, reqB) {
|
|
6846
|
+
const combined = {
|
|
6847
|
+
recordId: reqA.recordId,
|
|
6848
|
+
layoutTypes: coerceLayoutTypeArray(reqA.layoutTypes),
|
|
6849
|
+
};
|
|
6850
|
+
// combine Modes.
|
|
6851
|
+
// Note: the || ['View'] is important; it is to cover the case in which it needs to
|
|
6852
|
+
// combine mode: undefined (defaults to View) with mode: ['something else than View']
|
|
6853
|
+
const modeA = coerceLayoutModeArray(reqA.modes) || ['View'];
|
|
6854
|
+
const modeB = coerceLayoutModeArray(reqB.modes) || ['View'];
|
|
6855
|
+
if (reqA.modes !== undefined || reqB.modes !== undefined) {
|
|
6856
|
+
combined.modes = Array.from(new Set([...modeA, ...modeB]));
|
|
6857
|
+
}
|
|
6858
|
+
// combine Optional Fields.
|
|
6859
|
+
const optionalFieldsA = coerceFieldIdArray(reqA.optionalFields, COERCE_FIELD_ID_ARRAY_OPTIONS) || [];
|
|
6860
|
+
const optionalFieldsB = coerceFieldIdArray(reqB.optionalFields, COERCE_FIELD_ID_ARRAY_OPTIONS) || [];
|
|
6861
|
+
if (optionalFieldsA !== undefined || optionalFieldsB !== undefined) {
|
|
6862
|
+
combined.optionalFields = Array.from(new Set([...optionalFieldsA, ...optionalFieldsB]));
|
|
6863
|
+
}
|
|
6864
|
+
return combined;
|
|
6865
|
+
}
|
|
6866
|
+
combineFieldsRequests(reqA, reqB) {
|
|
6813
6867
|
const fields = new Set();
|
|
6814
6868
|
const optionalFields = new Set();
|
|
6815
6869
|
if (reqA.fields !== undefined) {
|
|
@@ -9495,7 +9549,7 @@ function whenPredictionsReady(callback) {
|
|
|
9495
9549
|
}
|
|
9496
9550
|
function setupPredictivePrefetcher(luvio) {
|
|
9497
9551
|
const allStrategies = [
|
|
9498
|
-
new GetRecordRequestStrategy(luvio),
|
|
9552
|
+
new GetRecordRequestStrategy(luvio, canCombineRecordLayoutRequests.isOpen({ fallback: false })),
|
|
9499
9553
|
new GetRecordsRequestStrategy(luvio),
|
|
9500
9554
|
new GetRecordActionsRequestStrategy(luvio),
|
|
9501
9555
|
new GetRecordAvatarsRequestStrategy(luvio),
|
|
@@ -9788,4 +9842,4 @@ function ldsEngineCreator() {
|
|
|
9788
9842
|
}
|
|
9789
9843
|
|
|
9790
9844
|
export { LexRequestStrategy, PdlRequestPriority, buildPredictorForContext, ldsEngineCreator as default, initializeLDS, initializeOneStore, notifyUpdateAvailableFactory, registerRequestStrategy, saveRequestAsPrediction, unregisterRequestStrategy, whenPredictionsReady };
|
|
9791
|
-
// version: 1.404.0-
|
|
9845
|
+
// version: 1.404.0-dev5-924c469d6b
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Luvio } from '@luvio/engine';
|
|
1
2
|
import type { GetRecordConfig } from '@salesforce/lds-adapters-uiapi';
|
|
2
3
|
import { LuvioAdapterRequestStrategy } from './luvio-adapter-request-strategy';
|
|
3
4
|
export type GetRecordRequest = {
|
|
@@ -9,12 +10,16 @@ type GetRecordContext = {
|
|
|
9
10
|
};
|
|
10
11
|
export declare const GET_RECORD_ADAPTER_NAME = "getRecord";
|
|
11
12
|
export declare class GetRecordRequestStrategy extends LuvioAdapterRequestStrategy<GetRecordConfig, GetRecordRequest, GetRecordContext> {
|
|
13
|
+
private readonly canCombineRecordLayoutRequests;
|
|
12
14
|
adapterName: string;
|
|
13
15
|
adapterFactory: import("@luvio/engine").AdapterFactory<GetRecordConfig, import("@salesforce/lds-adapters-uiapi").RecordRepresentation>;
|
|
16
|
+
constructor(luvio: Luvio, canCombineRecordLayoutRequests?: boolean);
|
|
14
17
|
buildConcreteRequest(similarRequest: GetRecordRequest, context: GetRecordContext): GetRecordRequest;
|
|
15
18
|
transformForSave(request: GetRecordRequest): GetRecordRequest;
|
|
16
19
|
canCombine(reqA: GetRecordConfig, reqB: GetRecordConfig): boolean;
|
|
17
20
|
combineRequests(reqA: GetRecordConfig, reqB: GetRecordConfig): GetRecordConfig;
|
|
21
|
+
combineLayoutRequests(reqA: GetRecordConfig, reqB: GetRecordConfig): GetRecordConfig;
|
|
22
|
+
combineFieldsRequests(reqA: GetRecordConfig, reqB: GetRecordConfig): GetRecordConfig;
|
|
18
23
|
isContextDependent(context: GetRecordContext, request: GetRecordRequest): boolean;
|
|
19
24
|
transformForSaveSimilarRequest(request: GetRecordRequest): GetRecordRequest;
|
|
20
25
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/lds-runtime-aura",
|
|
3
|
-
"version": "1.404.0-
|
|
3
|
+
"version": "1.404.0-dev5",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
5
|
"description": "LDS engine for Aura runtime",
|
|
6
6
|
"main": "dist/ldsEngineCreator.js",
|
|
@@ -36,14 +36,14 @@
|
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@conduit-client/service-provisioner": "3.2.0",
|
|
38
38
|
"@conduit-client/tools-core": "3.2.0",
|
|
39
|
-
"@salesforce/lds-adapters-apex": "^1.404.0-
|
|
40
|
-
"@salesforce/lds-adapters-uiapi": "^1.404.0-
|
|
41
|
-
"@salesforce/lds-ads-bridge": "^1.404.0-
|
|
42
|
-
"@salesforce/lds-aura-storage": "^1.404.0-
|
|
43
|
-
"@salesforce/lds-bindings": "^1.404.0-
|
|
44
|
-
"@salesforce/lds-instrumentation": "^1.404.0-
|
|
45
|
-
"@salesforce/lds-network-aura": "^1.404.0-
|
|
46
|
-
"@salesforce/lds-network-fetch": "^1.404.0-
|
|
39
|
+
"@salesforce/lds-adapters-apex": "^1.404.0-dev5",
|
|
40
|
+
"@salesforce/lds-adapters-uiapi": "^1.404.0-dev5",
|
|
41
|
+
"@salesforce/lds-ads-bridge": "^1.404.0-dev5",
|
|
42
|
+
"@salesforce/lds-aura-storage": "^1.404.0-dev5",
|
|
43
|
+
"@salesforce/lds-bindings": "^1.404.0-dev5",
|
|
44
|
+
"@salesforce/lds-instrumentation": "^1.404.0-dev5",
|
|
45
|
+
"@salesforce/lds-network-aura": "^1.404.0-dev5",
|
|
46
|
+
"@salesforce/lds-network-fetch": "^1.404.0-dev5",
|
|
47
47
|
"jwt-encode": "1.0.1"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
@@ -59,6 +59,8 @@
|
|
|
59
59
|
"@conduit-client/command-sse": "3.2.0",
|
|
60
60
|
"@conduit-client/command-streaming": "3.2.0",
|
|
61
61
|
"@conduit-client/service-aura-network": "3.2.0",
|
|
62
|
+
"@conduit-client/service-bindings-imperative": "3.2.0",
|
|
63
|
+
"@conduit-client/service-bindings-lwc": "3.2.0",
|
|
62
64
|
"@conduit-client/service-cache": "3.2.0",
|
|
63
65
|
"@conduit-client/service-cache-control": "3.2.0",
|
|
64
66
|
"@conduit-client/service-cache-inclusion-policy": "3.2.0",
|
|
@@ -71,10 +73,10 @@
|
|
|
71
73
|
"@luvio/network-adapter-composable": "0.158.7",
|
|
72
74
|
"@luvio/network-adapter-fetch": "0.158.7",
|
|
73
75
|
"@lwc/state": "^0.23.0",
|
|
74
|
-
"@salesforce/lds-adapters-onestore-graphql": "^1.404.0-
|
|
75
|
-
"@salesforce/lds-adapters-uiapi-lex": "^1.404.0-
|
|
76
|
-
"@salesforce/lds-luvio-service": "^1.404.0-
|
|
77
|
-
"@salesforce/lds-luvio-uiapi-records-service": "^1.404.0-
|
|
76
|
+
"@salesforce/lds-adapters-onestore-graphql": "^1.404.0-dev5",
|
|
77
|
+
"@salesforce/lds-adapters-uiapi-lex": "^1.404.0-dev5",
|
|
78
|
+
"@salesforce/lds-luvio-service": "^1.404.0-dev5",
|
|
79
|
+
"@salesforce/lds-luvio-uiapi-records-service": "^1.404.0-dev5"
|
|
78
80
|
},
|
|
79
81
|
"luvioBundlesize": [
|
|
80
82
|
{
|
|
@@ -82,7 +84,7 @@
|
|
|
82
84
|
"maxSize": {
|
|
83
85
|
"none": "350 kB",
|
|
84
86
|
"min": "190 kB",
|
|
85
|
-
"compressed": "
|
|
87
|
+
"compressed": "57 kB"
|
|
86
88
|
}
|
|
87
89
|
}
|
|
88
90
|
],
|