@salesforce/lds-runtime-aura 1.290.0 → 1.291.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/ldsEngineCreator.js +53 -28
- package/dist/types/predictive-loading/common/index.d.ts +6 -0
- package/dist/types/predictive-loading/prefetcher/lex-predictive-prefetcher.d.ts +2 -1
- package/dist/types/predictive-loading/prefetcher/predictive-prefetcher.d.ts +7 -2
- package/dist/types/predictive-loading/repository/prefetch-repository.d.ts +2 -7
- package/dist/types/predictive-loading/request-runner/lex-request-runner.d.ts +2 -1
- package/dist/types/predictive-loading/request-runner/request-runner.d.ts +2 -1
- package/dist/types/predictive-loading/request-strategy/get-object-info-request-strategy.d.ts +2 -1
- package/dist/types/predictive-loading/request-strategy/get-related-list-records-request-strategy.d.ts +2 -1
- package/dist/types/predictive-loading/request-strategy/luvio-adapter-request-strategy.d.ts +3 -2
- package/dist/types/predictive-loading/request-strategy/request-strategy.d.ts +2 -1
- package/package.json +10 -10
package/dist/ldsEngineCreator.js
CHANGED
|
@@ -16,6 +16,7 @@ import { HttpStatusCode, InMemoryStore as InMemoryStore$1, Environment, Luvio, I
|
|
|
16
16
|
import ldsTrackedFieldsBehaviorGate from '@salesforce/gate/lds.useNewTrackedFieldBehavior';
|
|
17
17
|
import usePredictiveLoading from '@salesforce/gate/lds.usePredictiveLoading';
|
|
18
18
|
import useRelatedListsPredictions from '@salesforce/gate/lds.pdl.useRelatedListsPredictions';
|
|
19
|
+
import applyPredictionRequestLimit from '@salesforce/gate/lds.pdl.applyRequestLimit';
|
|
19
20
|
import { instrument, getRecordAvatarsAdapterFactory, getRecordAdapterFactory, coerceFieldIdArray, getRecordsAdapterFactory, getRecordActionsAdapterFactory, getObjectInfosAdapterFactory, coerceObjectIdArray, getObjectInfoAdapterFactory, coerceObjectId, getRelatedListsActionsAdapterFactory, getRelatedListInfoBatchAdapterFactory, getRelatedListRecordsBatchAdapterFactory, getRelatedListRecordsAdapterFactory, configuration, InMemoryRecordRepresentationQueryEvaluator, UiApiNamespace, RecordRepresentationRepresentationType, registerPrefetcher } from 'force/ldsAdaptersUiapi';
|
|
20
21
|
import { withRegistration as withRegistration$1 } from 'force/luvioRegistry3';
|
|
21
22
|
import oneStoreEnabled from '@salesforce/gate/lds.oneStoreEnabled.ltng';
|
|
@@ -1359,9 +1360,10 @@ function logCRUDLightningInteraction(eventSource, attributes) {
|
|
|
1359
1360
|
const instrumentation = new Instrumentation();
|
|
1360
1361
|
|
|
1361
1362
|
class ApplicationPredictivePrefetcher {
|
|
1362
|
-
constructor(context, repository, requestRunner) {
|
|
1363
|
+
constructor(context, repository, requestRunner, options) {
|
|
1363
1364
|
this.repository = repository;
|
|
1364
1365
|
this.requestRunner = requestRunner;
|
|
1366
|
+
this.options = options;
|
|
1365
1367
|
this.isRecording = false;
|
|
1366
1368
|
this.queuedPredictionRequests = [];
|
|
1367
1369
|
this._context = context;
|
|
@@ -1394,17 +1396,23 @@ class ApplicationPredictivePrefetcher {
|
|
|
1394
1396
|
}, PDL_EXECUTE_ASYNC_OPTIONS);
|
|
1395
1397
|
}
|
|
1396
1398
|
async predict() {
|
|
1397
|
-
const exactPageRequests = (await this.repository.getPageRequests(this.context)) || [];
|
|
1398
|
-
const similarPageRequests = await this.getSimilarPageRequests();
|
|
1399
1399
|
const alwaysRequests = this.page.getAlwaysRunRequests();
|
|
1400
|
-
const
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1400
|
+
const similarPageRequests = await this.getSimilarPageRequests();
|
|
1401
|
+
const exactPageRequests = (await this.repository.getPageRequests(this.context)) || [];
|
|
1402
|
+
// Runs all reducers, then limits the total # of requests, prioritizing earlier requests over later ones.
|
|
1403
|
+
const alwaysRequestEntries = alwaysRequests.map((request) => {
|
|
1404
|
+
return {
|
|
1405
|
+
request,
|
|
1406
|
+
requestMetadata: { requestTime: 0 },
|
|
1407
|
+
};
|
|
1408
|
+
});
|
|
1409
|
+
const reducedRequests = this.requestRunner
|
|
1410
|
+
.reduceRequests([...exactPageRequests, ...similarPageRequests, ...alwaysRequestEntries]) // In future - remove alwaysRequestEntries when on OneStore
|
|
1411
|
+
.sort((a, b) => a.requestMetadata.requestTime - b.requestMetadata.requestTime) // In future - choose sort algorithm via Gate?
|
|
1412
|
+
.slice(0, this.options.inflightRequestLimit - alwaysRequests.length)
|
|
1413
|
+
.map((entry) => entry.request);
|
|
1414
|
+
// Always requests can't be reduced in - Some of them are essential to keep the page rendering at the beginning.
|
|
1415
|
+
const predictedRequests = [...alwaysRequests, ...reducedRequests];
|
|
1408
1416
|
this.queuedPredictionRequests.push(...predictedRequests);
|
|
1409
1417
|
return Promise.all(predictedRequests.map((request) => this.requestRunner.runRequest(request))).then();
|
|
1410
1418
|
}
|
|
@@ -1424,7 +1432,12 @@ class ApplicationPredictivePrefetcher {
|
|
|
1424
1432
|
if (this.page.similarContext !== undefined) {
|
|
1425
1433
|
const similarPageRequests = this.repository.getPageRequests(this.page.similarContext);
|
|
1426
1434
|
if (similarPageRequests !== undefined) {
|
|
1427
|
-
resolvedSimilarPageRequests = similarPageRequests.map((
|
|
1435
|
+
resolvedSimilarPageRequests = similarPageRequests.map((entry) => {
|
|
1436
|
+
return {
|
|
1437
|
+
...entry,
|
|
1438
|
+
request: this.page.resolveSimilarRequest(entry.request),
|
|
1439
|
+
};
|
|
1440
|
+
});
|
|
1428
1441
|
}
|
|
1429
1442
|
}
|
|
1430
1443
|
return resolvedSimilarPageRequests;
|
|
@@ -1435,8 +1448,8 @@ class LexPredictivePrefetcher extends ApplicationPredictivePrefetcher {
|
|
|
1435
1448
|
constructor(context, repository, requestRunner,
|
|
1436
1449
|
// These strategies need to be in sync with the "predictiveDataLoadCapable" list
|
|
1437
1450
|
// from scripts/lds-uiapi-plugin.js
|
|
1438
|
-
requestStrategies) {
|
|
1439
|
-
super(context, repository, requestRunner);
|
|
1451
|
+
requestStrategies, options) {
|
|
1452
|
+
super(context, repository, requestRunner, options);
|
|
1440
1453
|
this.requestStrategies = requestStrategies;
|
|
1441
1454
|
this.page = this.getPage();
|
|
1442
1455
|
}
|
|
@@ -1590,7 +1603,7 @@ class PrefetchRepository {
|
|
|
1590
1603
|
if (page === undefined) {
|
|
1591
1604
|
return [];
|
|
1592
1605
|
}
|
|
1593
|
-
return page.requests
|
|
1606
|
+
return page.requests;
|
|
1594
1607
|
}
|
|
1595
1608
|
}
|
|
1596
1609
|
|
|
@@ -1623,7 +1636,7 @@ class LuvioAdapterRequestStrategy extends RequestStrategy {
|
|
|
1623
1636
|
* @returns
|
|
1624
1637
|
*/
|
|
1625
1638
|
filterRequests(unfilteredRequests) {
|
|
1626
|
-
return unfilteredRequests.filter((
|
|
1639
|
+
return unfilteredRequests.filter((entry) => entry.request.adapterName === this.adapterName);
|
|
1627
1640
|
}
|
|
1628
1641
|
/**
|
|
1629
1642
|
* Reduce requests by combining those based on a strategies implementations
|
|
@@ -1641,9 +1654,15 @@ class LuvioAdapterRequestStrategy extends RequestStrategy {
|
|
|
1641
1654
|
const combinedRequest = { ...currentRequest };
|
|
1642
1655
|
for (let j = i + 1; j < n; j++) {
|
|
1643
1656
|
const hasNotBeenVisited = !visitedRequests.has(requests[j]);
|
|
1644
|
-
const canCombineConfigs = this.canCombine(combinedRequest.config, requests[j].config);
|
|
1657
|
+
const canCombineConfigs = this.canCombine(combinedRequest.request.config, requests[j].request.config);
|
|
1645
1658
|
if (hasNotBeenVisited && canCombineConfigs) {
|
|
1646
|
-
combinedRequest.config = this.combineRequests(combinedRequest.config, requests[j].config);
|
|
1659
|
+
combinedRequest.request.config = this.combineRequests(combinedRequest.request.config, requests[j].request.config);
|
|
1660
|
+
if (combinedRequest.requestMetadata.requestTime >
|
|
1661
|
+
requests[j].requestMetadata.requestTime) {
|
|
1662
|
+
// This logic is debateable - Currently this always assigns the lowest requestTime to a reduced request.
|
|
1663
|
+
combinedRequest.requestMetadata.requestTime =
|
|
1664
|
+
requests[j].requestMetadata.requestTime;
|
|
1665
|
+
}
|
|
1647
1666
|
visitedRequests.add(requests[j]);
|
|
1648
1667
|
}
|
|
1649
1668
|
}
|
|
@@ -2028,13 +2047,13 @@ class GetObjectInfoRequestStrategy extends LuvioAdapterRequestStrategy {
|
|
|
2028
2047
|
* @returns
|
|
2029
2048
|
*/
|
|
2030
2049
|
reduce(unfilteredRequests) {
|
|
2031
|
-
const objectApiNamesInBatchRequest = unfilteredRequests.filter((
|
|
2032
|
-
config.objectApiNames.forEach((apiName) => acc.add(apiName));
|
|
2050
|
+
const objectApiNamesInBatchRequest = unfilteredRequests.filter((entry) => entry.request.adapterName === GET_OBJECT_INFO_BATCH_ADAPTER_NAME).reduce((acc, { request }) => {
|
|
2051
|
+
request.config.objectApiNames.forEach((apiName) => acc.add(apiName));
|
|
2033
2052
|
return acc;
|
|
2034
2053
|
}, new Set());
|
|
2035
2054
|
const singleRequests = this.filterRequests(unfilteredRequests);
|
|
2036
|
-
return singleRequests.filter((
|
|
2037
|
-
return !objectApiNamesInBatchRequest.has(request.config.objectApiName);
|
|
2055
|
+
return singleRequests.filter((singleEntry) => {
|
|
2056
|
+
return !objectApiNamesInBatchRequest.has(singleEntry.request.config.objectApiName);
|
|
2038
2057
|
});
|
|
2039
2058
|
}
|
|
2040
2059
|
}
|
|
@@ -2234,19 +2253,19 @@ class GetRelatedListRecordsRequestStrategy extends LuvioAdapterRequestStrategy {
|
|
|
2234
2253
|
*/
|
|
2235
2254
|
reduce(unfilteredRequests) {
|
|
2236
2255
|
// Batch requests by [parentRecordId]->[RelatedListIds]
|
|
2237
|
-
const batchRequests = unfilteredRequests.filter((
|
|
2256
|
+
const batchRequests = unfilteredRequests.filter((entry) => entry.request.adapterName === GET_RELATED_LIST_RECORDS_BATCH_ADAPTER_NAME).reduce((acc, entry) => {
|
|
2238
2257
|
// required properties, enforced by adapter typecheck
|
|
2239
|
-
const { parentRecordId, relatedListParameters } = request.config;
|
|
2258
|
+
const { parentRecordId, relatedListParameters } = entry.request.config;
|
|
2240
2259
|
const existingRlSet = acc.get(parentRecordId) || new Set();
|
|
2241
2260
|
// relatedListId enforced by adapter typecheck
|
|
2242
2261
|
relatedListParameters.forEach((rlParam) => existingRlSet.add(rlParam.relatedListId));
|
|
2243
2262
|
acc.set(parentRecordId, existingRlSet);
|
|
2244
2263
|
return acc;
|
|
2245
2264
|
}, new Map());
|
|
2246
|
-
const singleRequests = unfilteredRequests.filter((
|
|
2247
|
-
return singleRequests.filter((
|
|
2265
|
+
const singleRequests = unfilteredRequests.filter((entry) => entry.request.adapterName === this.adapterName);
|
|
2266
|
+
return singleRequests.filter((entry) => {
|
|
2248
2267
|
// required props enforced by adapter typecheck
|
|
2249
|
-
const { parentRecordId, relatedListId } = request.config;
|
|
2268
|
+
const { parentRecordId, relatedListId } = entry.request.config;
|
|
2250
2269
|
const batchForParentRecordId = batchRequests.get(parentRecordId);
|
|
2251
2270
|
return !(batchForParentRecordId && batchForParentRecordId.has(relatedListId));
|
|
2252
2271
|
});
|
|
@@ -2531,10 +2550,14 @@ function setupQueryEvaluators(luvio, store) {
|
|
|
2531
2550
|
luvio.registerTypeQueryEvaluator(UiApiNamespace, RecordRepresentationRepresentationType, recordRepresentationQueryEvaluator);
|
|
2532
2551
|
}
|
|
2533
2552
|
let __lexPrefetcher;
|
|
2553
|
+
const HARDCODED_REQUEST_LIMIT = 9;
|
|
2534
2554
|
function setupPredictivePrefetcher(luvio) {
|
|
2535
2555
|
const storage = buildAuraPrefetchStorage();
|
|
2536
2556
|
const repository = new PrefetchRepository(storage);
|
|
2537
2557
|
const requestRunner = new LexRequestRunner(luvio);
|
|
2558
|
+
const inflightRequestLimit = applyPredictionRequestLimit.isOpen({ fallback: false })
|
|
2559
|
+
? HARDCODED_REQUEST_LIMIT
|
|
2560
|
+
: 1000;
|
|
2538
2561
|
const prefetcher = new LexPredictivePrefetcher({ context: 'unknown' }, repository, requestRunner, {
|
|
2539
2562
|
getRecord: new GetRecordRequestStrategy(),
|
|
2540
2563
|
getRecords: new GetRecordsRequestStrategy(),
|
|
@@ -2546,6 +2569,8 @@ function setupPredictivePrefetcher(luvio) {
|
|
|
2546
2569
|
getRelatedListRecords: new GetRelatedListRecordsRequestStrategy(),
|
|
2547
2570
|
getRelatedListRecordsBatch: new GetRelatedListRecordsBatchRequestStrategy(),
|
|
2548
2571
|
getRelatedListInfoBatch: new GetRelatedListInfoBatchRequestStrategy(),
|
|
2572
|
+
}, {
|
|
2573
|
+
inflightRequestLimit,
|
|
2549
2574
|
});
|
|
2550
2575
|
registerPrefetcher(luvio, prefetcher);
|
|
2551
2576
|
__lexPrefetcher = prefetcher;
|
|
@@ -2682,4 +2707,4 @@ function ldsEngineCreator() {
|
|
|
2682
2707
|
}
|
|
2683
2708
|
|
|
2684
2709
|
export { buildPredictorForContext, ldsEngineCreator as default, initializeLDS, initializeOneStore };
|
|
2685
|
-
// version: 1.
|
|
2710
|
+
// version: 1.291.0-8df6969f6
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { DefaultPageContext, PredictivePrefetchPage } from '../pages';
|
|
2
|
+
import type { PrefetcherOptions } from './predictive-prefetcher';
|
|
2
3
|
import { ApplicationPredictivePrefetcher } from './predictive-prefetcher';
|
|
3
4
|
import type { GetRecordActionsRequestStrategy, GetRecordAvatarsRequestStrategy, GetRecordRequestStrategy, GetRecordsRequestStrategy, GetObjectInfoRequestStrategy, GetObjectInfosRequestStrategy, GetRelatedListsActionsRequestStrategy, GetRelatedListInfoBatchRequestStrategy, GetRelatedListRecordsRequestStrategy, GetRelatedListRecordsBatchRequestStrategy } from '../request-strategy';
|
|
4
5
|
import type { RequestRunner } from '../request-runner';
|
|
@@ -19,6 +20,6 @@ export declare class LexPredictivePrefetcher extends ApplicationPredictivePrefet
|
|
|
19
20
|
getRelatedListInfoBatch: GetRelatedListInfoBatchRequestStrategy;
|
|
20
21
|
getRelatedListRecords: GetRelatedListRecordsRequestStrategy;
|
|
21
22
|
getRelatedListRecordsBatch: GetRelatedListRecordsBatchRequestStrategy;
|
|
22
|
-
});
|
|
23
|
+
}, options: PrefetcherOptions);
|
|
23
24
|
getPage(): PredictivePrefetchPage<LexRequest, LexContext>;
|
|
24
25
|
}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import type { PrefetchRepository } from '../repository/prefetch-repository';
|
|
2
2
|
import type { PredictivePrefetchPage } from '../pages';
|
|
3
3
|
import type { RequestRunner } from '../request-runner';
|
|
4
|
+
import type { RequestEntry } from '../common';
|
|
5
|
+
export type PrefetcherOptions = {
|
|
6
|
+
inflightRequestLimit: number;
|
|
7
|
+
};
|
|
4
8
|
export declare abstract class ApplicationPredictivePrefetcher<Request, Context extends Record<string, any>> {
|
|
5
9
|
private repository;
|
|
6
10
|
private requestRunner;
|
|
11
|
+
protected options: PrefetcherOptions;
|
|
7
12
|
private _context;
|
|
8
13
|
isRecording: boolean;
|
|
9
14
|
page: PredictivePrefetchPage<Request, Context>;
|
|
10
15
|
queuedPredictionRequests: Request[];
|
|
11
|
-
constructor(context: Context, repository: PrefetchRepository, requestRunner: RequestRunner<Request
|
|
16
|
+
constructor(context: Context, repository: PrefetchRepository, requestRunner: RequestRunner<Request>, options: PrefetcherOptions);
|
|
12
17
|
abstract getPage(): PredictivePrefetchPage<Request, Context>;
|
|
13
18
|
set context(value: Context);
|
|
14
19
|
get context(): Context;
|
|
@@ -21,5 +26,5 @@ export declare abstract class ApplicationPredictivePrefetcher<Request, Context e
|
|
|
21
26
|
similar: number;
|
|
22
27
|
};
|
|
23
28
|
hasPredictions(): boolean;
|
|
24
|
-
getSimilarPageRequests(): Request[];
|
|
29
|
+
getSimilarPageRequests(): RequestEntry<Request>[];
|
|
25
30
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PrefetchStorage } from '../storage';
|
|
2
|
+
import type { RequestEntry } from '../common';
|
|
2
3
|
type Key = Record<string, any>;
|
|
3
4
|
export type History = {
|
|
4
5
|
version: '1.0';
|
|
@@ -8,12 +9,6 @@ export type PageEntry<Request> = {
|
|
|
8
9
|
id: string;
|
|
9
10
|
requests: RequestEntry<Request>[];
|
|
10
11
|
};
|
|
11
|
-
export type RequestEntry<Request> = {
|
|
12
|
-
request: Request;
|
|
13
|
-
requestMetadata: {
|
|
14
|
-
requestTime: number;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
12
|
export declare class PrefetchRepository {
|
|
18
13
|
private storage;
|
|
19
14
|
private requestBuffer;
|
|
@@ -23,6 +18,6 @@ export declare class PrefetchRepository {
|
|
|
23
18
|
getKeyId(key: Key): string;
|
|
24
19
|
saveRequest<Request>(key: Key, request: Request): Promise<void>;
|
|
25
20
|
getPage<Request>(key: Key): PageEntry<Request> | undefined;
|
|
26
|
-
getPageRequests<Request>(key: Key): Request[];
|
|
21
|
+
getPageRequests<Request>(key: Key): RequestEntry<Request>[];
|
|
27
22
|
}
|
|
28
23
|
export {};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { Luvio } from '@luvio/engine';
|
|
2
2
|
import type { LexRequest } from '../prefetcher';
|
|
3
3
|
import type { RequestRunner } from './request-runner';
|
|
4
|
+
import type { RequestEntry } from '../common';
|
|
4
5
|
export declare class LexRequestRunner implements RequestRunner<LexRequest> {
|
|
5
6
|
private luvio;
|
|
6
7
|
private requestStrategies;
|
|
7
8
|
constructor(luvio: Luvio);
|
|
8
|
-
reduceRequests(requests: LexRequest[]): LexRequest[];
|
|
9
|
+
reduceRequests(requests: RequestEntry<LexRequest>[]): RequestEntry<LexRequest>[];
|
|
9
10
|
runRequest(request: LexRequest): Promise<void>;
|
|
10
11
|
}
|
package/dist/types/predictive-loading/request-strategy/get-object-info-request-strategy.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { GetObjectInfoConfig } from '@salesforce/lds-adapters-uiapi';
|
|
2
2
|
import type { LuvioAdapterRequest } from './luvio-adapter-request';
|
|
3
3
|
import { LuvioAdapterRequestStrategy } from './luvio-adapter-request-strategy';
|
|
4
|
+
import type { RequestEntry } from '../common';
|
|
4
5
|
export type GetObjectInfoRequest = {
|
|
5
6
|
adapterName: 'getObjectInfo';
|
|
6
7
|
config: GetObjectInfoConfig;
|
|
@@ -24,5 +25,5 @@ export declare class GetObjectInfoRequestStrategy extends LuvioAdapterRequestStr
|
|
|
24
25
|
* @param unfilteredRequests all prediction requests
|
|
25
26
|
* @returns
|
|
26
27
|
*/
|
|
27
|
-
reduce(unfilteredRequests: LuvioAdapterRequest<unknown
|
|
28
|
+
reduce(unfilteredRequests: RequestEntry<LuvioAdapterRequest<unknown>>[]): RequestEntry<GetObjectInfoRequest>[];
|
|
28
29
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { GetRelatedListRecordsConfig } from '@salesforce/lds-adapters-uiapi';
|
|
2
2
|
import type { LuvioAdapterRequest } from './luvio-adapter-request';
|
|
3
3
|
import { LuvioAdapterRequestStrategy } from './luvio-adapter-request-strategy';
|
|
4
|
+
import type { RequestEntry } from '../common';
|
|
4
5
|
export type GetRelatedListRecordsRequest = {
|
|
5
6
|
adapterName: 'getRelatedListRecords';
|
|
6
7
|
config: GetRelatedListRecordsConfig;
|
|
@@ -25,7 +26,7 @@ export declare class GetRelatedListRecordsRequestStrategy extends LuvioAdapterRe
|
|
|
25
26
|
* @param unfilteredRequests All of the request available for predictions.
|
|
26
27
|
* @returns GetRelatedListRecordsRequest[] That should be a prediction.
|
|
27
28
|
*/
|
|
28
|
-
reduce(unfilteredRequests: LuvioAdapterRequest<unknown
|
|
29
|
+
reduce(unfilteredRequests: RequestEntry<LuvioAdapterRequest<unknown>>[]): RequestEntry<GetRelatedListRecordsRequest>[];
|
|
29
30
|
buildSaveRequestData<C extends GetRelatedListRecordsContext>(similarContext: C, context: C, request: GetRelatedListRecordsRequest): {
|
|
30
31
|
request: GetRelatedListRecordsRequest;
|
|
31
32
|
context: C;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AdapterFactory } from '@luvio/engine';
|
|
2
2
|
import { RequestStrategy } from './request-strategy';
|
|
3
3
|
import type { LuvioAdapterRequest } from './luvio-adapter-request';
|
|
4
|
+
import type { RequestEntry } from '../common';
|
|
4
5
|
export declare abstract class LuvioAdapterRequestStrategy<AdapterConfig, Request extends LuvioAdapterRequest<AdapterConfig>, Context> extends RequestStrategy<Request, Context> {
|
|
5
6
|
/**
|
|
6
7
|
* Name of the adapter used in this strategy.
|
|
@@ -26,14 +27,14 @@ export declare abstract class LuvioAdapterRequestStrategy<AdapterConfig, Request
|
|
|
26
27
|
* @param unfilteredRequests array of requests to filter
|
|
27
28
|
* @returns
|
|
28
29
|
*/
|
|
29
|
-
protected filterRequests(unfilteredRequests: LuvioAdapterRequest<unknown
|
|
30
|
+
protected filterRequests(unfilteredRequests: RequestEntry<LuvioAdapterRequest<unknown>>[]): RequestEntry<Request>[];
|
|
30
31
|
/**
|
|
31
32
|
* Reduce requests by combining those based on a strategies implementations
|
|
32
33
|
* of canCombine and combineRequests.
|
|
33
34
|
* @param unfilteredRequests array of requests to filter
|
|
34
35
|
* @returns
|
|
35
36
|
*/
|
|
36
|
-
reduce(unfilteredRequests: LuvioAdapterRequest<unknown
|
|
37
|
+
reduce(unfilteredRequests: RequestEntry<LuvioAdapterRequest<unknown>>[]): RequestEntry<Request>[];
|
|
37
38
|
/**
|
|
38
39
|
* Check if two requests can be combined.
|
|
39
40
|
*
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import type { RequestEntry } from '../common';
|
|
1
2
|
export declare abstract class RequestStrategy<Request, Context> {
|
|
2
3
|
abstract buildConcreteRequest(similarRequest: Request, context: Context): Request;
|
|
3
4
|
transformForSave(request: Request): Request;
|
|
4
|
-
reduce(requests: Request[]): Request[];
|
|
5
|
+
reduce(requests: RequestEntry<Request>[]): RequestEntry<Request>[];
|
|
5
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/lds-runtime-aura",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.291.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
5
|
"description": "LDS engine for Aura runtime",
|
|
6
6
|
"main": "dist/ldsEngineCreator.js",
|
|
@@ -44,17 +44,17 @@
|
|
|
44
44
|
"@luvio/service-subscription": "^1.0.0",
|
|
45
45
|
"@luvio/service-type-registry": "^1.0.0",
|
|
46
46
|
"@luvio/utils": "^3.6.0",
|
|
47
|
-
"@salesforce/lds-adapters-uiapi": "^1.
|
|
48
|
-
"@salesforce/lds-ads-bridge": "^1.
|
|
49
|
-
"@salesforce/lds-aura-storage": "^1.
|
|
50
|
-
"@salesforce/lds-bindings": "^1.
|
|
51
|
-
"@salesforce/lds-instrumentation": "^1.
|
|
52
|
-
"@salesforce/lds-network-aura": "^1.
|
|
53
|
-
"@salesforce/lds-network-fetch-with-jwt": "^1.
|
|
47
|
+
"@salesforce/lds-adapters-uiapi": "^1.291.0",
|
|
48
|
+
"@salesforce/lds-ads-bridge": "^1.291.0",
|
|
49
|
+
"@salesforce/lds-aura-storage": "^1.291.0",
|
|
50
|
+
"@salesforce/lds-bindings": "^1.291.0",
|
|
51
|
+
"@salesforce/lds-instrumentation": "^1.291.0",
|
|
52
|
+
"@salesforce/lds-network-aura": "^1.291.0",
|
|
53
|
+
"@salesforce/lds-network-fetch-with-jwt": "^1.291.0"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"@luvio/network-adapter-composable": "0.154.18",
|
|
57
|
-
"@salesforce/lds-adapters-uiapi-lex": "^1.
|
|
57
|
+
"@salesforce/lds-adapters-uiapi-lex": "^1.291.0"
|
|
58
58
|
},
|
|
59
59
|
"luvioBundlesize": [
|
|
60
60
|
{
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"maxSize": {
|
|
63
63
|
"none": "105 kB",
|
|
64
64
|
"min": "44 kB",
|
|
65
|
-
"compressed": "
|
|
65
|
+
"compressed": "19 kB"
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
],
|