@salesforce/lds-runtime-aura 1.302.0 → 1.304.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 +1676 -500
- package/dist/types/__mocks__/@salesforce/lds-network-fetch-with-jwt.d.ts +1 -0
- package/dist/types/__mocks__/instrumentation:beaconLib.d.ts +7 -0
- package/dist/types/jwt-authorized-fetch-service.d.ts +2 -0
- package/dist/types/language.d.ts +18 -0
- package/dist/types/network-fetch.d.ts +8 -0
- package/dist/types/network-instrumentation.d.ts +2 -0
- package/dist/types/network-sfap.d.ts +1 -1
- package/dist/types/predictive-loading/pages/object-home-page.d.ts +10 -5
- package/dist/types/predictive-loading/pages/record-home-page.d.ts +10 -4
- package/dist/types/predictive-loading/prefetcher/lex-predictive-prefetcher.d.ts +21 -4
- package/dist/types/predictive-loading/prefetcher/predictive-prefetcher.d.ts +1 -15
- package/dist/types/predictive-loading/repository/utils.d.ts +0 -2
- package/dist/types/predictive-loading/request-strategy/get-apex-request-strategy.d.ts +0 -4
- package/dist/types/predictive-loading/request-strategy/get-components-request-strategy.d.ts +4 -7
- package/dist/types/predictive-loading/request-strategy/get-list-info-by-name-request-strategy.d.ts +0 -4
- package/dist/types/predictive-loading/request-strategy/get-list-infos-by-object-name-request-strategy.d.ts +0 -4
- package/dist/types/predictive-loading/request-strategy/get-list-object-info-request-strategy.d.ts +16 -0
- package/dist/types/predictive-loading/request-strategy/get-list-records-by-name-request-strategy.d.ts +0 -4
- package/dist/types/predictive-loading/request-strategy/get-object-info-request-strategy.d.ts +2 -2
- package/dist/types/predictive-loading/request-strategy/get-object-infos-request-strategy.d.ts +2 -4
- package/dist/types/predictive-loading/request-strategy/get-related-list-records-request-strategy.d.ts +2 -2
- package/dist/types/predictive-loading/request-strategy/get-related-lists-actions-request-strategy.d.ts +1 -1
- package/dist/types/predictive-loading/request-strategy/index.d.ts +1 -1
- package/dist/types/predictive-loading/request-strategy/luvio-adapter-request-strategy.d.ts +6 -77
- package/dist/types/predictive-loading/request-strategy/request-strategy.d.ts +65 -4
- package/dist/types/predictive-loading/storage/aura-prefetch-storage.d.ts +2 -1
- package/package.json +33 -24
- package/dist/types/aura-instrumentation/utils/language.d.ts +0 -13
- package/dist/types/predictive-loading/request-strategy/config-based-request-strategy.d.ts +0 -15
- package/dist/types/predictive-loading/request-strategy/luvio-adapter-request.d.ts +0 -8
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
declare function registerHandler(_cmp: any, _name: string, _loadedCheck: () => boolean): void;
|
|
2
|
+
declare function markLoaded(_cmp: any): void;
|
|
3
|
+
export declare const ThirdPartyTracker: {
|
|
4
|
+
registerHandler: typeof registerHandler;
|
|
5
|
+
markLoaded: typeof markLoaded;
|
|
6
|
+
};
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
declare const create: {
|
|
2
|
+
(o: object | null): any;
|
|
3
|
+
(o: object | null, properties: PropertyDescriptorMap & ThisType<any>): any;
|
|
4
|
+
}, keys: {
|
|
5
|
+
(o: object): string[];
|
|
6
|
+
(o: {}): string[];
|
|
7
|
+
}, hasOwnProperty: (v: PropertyKey) => boolean;
|
|
8
|
+
declare const isArray: (arg: any) => arg is any[], from: {
|
|
9
|
+
<T>(arrayLike: ArrayLike<T>): T[];
|
|
10
|
+
<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
|
|
11
|
+
<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
|
|
12
|
+
<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
|
|
13
|
+
};
|
|
14
|
+
declare const stringify: {
|
|
15
|
+
(value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string;
|
|
16
|
+
(value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string;
|
|
17
|
+
};
|
|
18
|
+
export { create as ObjectCreate, keys as ObjectKeys, hasOwnProperty as ObjectHasOwnProperty, isArray as ArrayIsArray, from as ArrayFrom, stringify as JSONStringify, };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ResourceRequest } from '@luvio/engine';
|
|
2
|
+
import type { ModifyResourceRequestHook, RequestLogger } from '@salesforce/lds-network-fetch-with-jwt';
|
|
3
|
+
export declare const modifyLexResourceRequest: ModifyResourceRequestHook<unknown, any>;
|
|
4
|
+
export declare const requestLogger: RequestLogger;
|
|
5
|
+
export declare const composedFetchNetworkAdapter: {
|
|
6
|
+
shouldHandleRequest(resourceRequest: ResourceRequest): boolean;
|
|
7
|
+
adapter: import("@luvio/engine").NetworkAdapter;
|
|
8
|
+
};
|
|
@@ -3,7 +3,7 @@ import type { JwtResolver } from '@luvio/jwt-manager';
|
|
|
3
3
|
import type { ModifyResourceRequestHook } from '@salesforce/lds-network-fetch-with-jwt';
|
|
4
4
|
export declare const SFAPController = "SalesforceApiPlatformController";
|
|
5
5
|
export declare const SFAPJwtMethod = "getSFAPLightningJwtService";
|
|
6
|
-
type ExtraInfo = {
|
|
6
|
+
export type ExtraInfo = {
|
|
7
7
|
baseUri: string;
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
@@ -1,22 +1,27 @@
|
|
|
1
|
-
import type { LexContext } from '../prefetcher';
|
|
2
|
-
import type { GetListInfoByNameRequestStrategy, GetListInfoByNameRequest, GetListRecordsByNameRequestStrategy, GetListRecordsByNameRequest, GetListInfosByObjectNameRequestStrategy, GetListInfosByObjectNameRequest, GetObjectInfosRequest, GetObjectInfosRequestStrategy } from '../request-strategy';
|
|
1
|
+
import type { LexContext, LexPrefetcherOptions } from '../prefetcher';
|
|
2
|
+
import type { GetListInfoByNameRequestStrategy, GetListInfoByNameRequest, GetListRecordsByNameRequestStrategy, GetListRecordsByNameRequest, GetListInfosByObjectNameRequestStrategy, GetListInfosByObjectNameRequest, GetObjectInfosRequest, GetObjectInfosRequestStrategy, GetListObjectInfoRequest, GetListObjectInfoRequestStrategy } from '../request-strategy';
|
|
3
3
|
import { PredictivePrefetchPage } from './predictive-prefetch-page';
|
|
4
4
|
export type ObjectHomePageContext = {
|
|
5
5
|
objectApiName: string;
|
|
6
6
|
listViewApiName: string;
|
|
7
7
|
type: 'objectHomePage';
|
|
8
8
|
};
|
|
9
|
-
export type ObjectHomePageRequest = GetListInfoByNameRequest | GetListRecordsByNameRequest | GetListInfosByObjectNameRequest | GetObjectInfosRequest;
|
|
9
|
+
export type ObjectHomePageRequest = GetListInfoByNameRequest | GetListObjectInfoRequest | GetListRecordsByNameRequest | GetListInfosByObjectNameRequest | GetObjectInfosRequest;
|
|
10
10
|
export declare class ObjectHomePage extends PredictivePrefetchPage<ObjectHomePageRequest, ObjectHomePageContext> {
|
|
11
11
|
private requestStrategies;
|
|
12
|
+
private options;
|
|
12
13
|
similarContext: ObjectHomePageContext;
|
|
13
14
|
constructor(context: ObjectHomePageContext, requestStrategies: {
|
|
14
15
|
getListInfoByName: GetListInfoByNameRequestStrategy;
|
|
15
16
|
getListRecordsByName: GetListRecordsByNameRequestStrategy;
|
|
16
17
|
getListInfosByObjectName: GetListInfosByObjectNameRequestStrategy;
|
|
17
18
|
getObjectInfos: GetObjectInfosRequestStrategy;
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
getListObjectInfo: GetListObjectInfoRequestStrategy;
|
|
20
|
+
}, options: LexPrefetcherOptions);
|
|
21
|
+
buildSaveRequestData(request: ObjectHomePageRequest): {
|
|
22
|
+
context: ObjectHomePageContext;
|
|
23
|
+
request: any;
|
|
24
|
+
}[];
|
|
20
25
|
resolveSimilarRequest(similarRequest: ObjectHomePageRequest): ObjectHomePageRequest;
|
|
21
26
|
getAlwaysRunRequests(): ObjectHomePageRequest[];
|
|
22
27
|
static handlesContext(context: LexContext): context is ObjectHomePageContext;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { LexContext } from '../prefetcher';
|
|
2
|
-
import type { GetRecordRequest, GetRecordsRequest, GetRecordRequestStrategy, GetRecordsRequestStrategy, GetRecordActionsRequestStrategy, GetRecordActionsRequest, GetRecordAvatarsRequest, GetRecordAvatarsRequestStrategy, GetObjectInfoRequest, GetObjectInfosRequest, GetObjectInfoRequestStrategy, GetObjectInfosRequestStrategy, GetRelatedListsActionsRequestStrategy, GetRelatedListsActionsRequest, GetRelatedListInfoBatchRequestStrategy, GetRelatedListInfoBatchRequest, GetRelatedListRecordsRequestStrategy, GetRelatedListRecordsRequest, GetRelatedListRecordsBatchRequestStrategy, GetRelatedListRecordsBatchRequest, GetApexRequest, GetComponentsRequest } from '../request-strategy';
|
|
1
|
+
import type { LexContext, LexPrefetcherOptions } from '../prefetcher';
|
|
2
|
+
import type { GetRecordRequest, GetRecordsRequest, GetRecordRequestStrategy, GetRecordsRequestStrategy, GetRecordActionsRequestStrategy, GetRecordActionsRequest, GetRecordAvatarsRequest, GetRecordAvatarsRequestStrategy, GetObjectInfoRequest, GetObjectInfosRequest, GetObjectInfoRequestStrategy, GetObjectInfosRequestStrategy, GetRelatedListsActionsRequestStrategy, GetRelatedListsActionsRequest, GetRelatedListInfoBatchRequestStrategy, GetRelatedListInfoBatchRequest, GetRelatedListRecordsRequestStrategy, GetRelatedListRecordsRequest, GetRelatedListRecordsBatchRequestStrategy, GetRelatedListRecordsBatchRequest, GetApexRequest, GetComponentsRequest, GetApexRequestStrategy, GetComponentsDefStrategy } from '../request-strategy';
|
|
3
3
|
import { PredictivePrefetchPage } from './predictive-prefetch-page';
|
|
4
4
|
export type RecordHomePageContext = {
|
|
5
5
|
objectApiName: string;
|
|
@@ -19,12 +19,18 @@ type RecordHomePageRequestStrategies = {
|
|
|
19
19
|
getRelatedListInfoBatch: GetRelatedListInfoBatchRequestStrategy;
|
|
20
20
|
getRelatedListRecords: GetRelatedListRecordsRequestStrategy;
|
|
21
21
|
getRelatedListRecordsBatch: GetRelatedListRecordsBatchRequestStrategy;
|
|
22
|
+
getApex: GetApexRequestStrategy;
|
|
23
|
+
getComponentsDef: GetComponentsDefStrategy;
|
|
22
24
|
};
|
|
23
25
|
export declare class RecordHomePage extends PredictivePrefetchPage<RecordHomePageRequest, RecordHomePageContext> {
|
|
24
26
|
private requestStrategies;
|
|
27
|
+
private options;
|
|
25
28
|
similarContext: RecordHomePageContext;
|
|
26
|
-
constructor(context: RecordHomePageContext, requestStrategies: RecordHomePageRequestStrategies);
|
|
27
|
-
buildSaveRequestData(request: RecordHomePageRequest):
|
|
29
|
+
constructor(context: RecordHomePageContext, requestStrategies: RecordHomePageRequestStrategies, options: LexPrefetcherOptions);
|
|
30
|
+
buildSaveRequestData(request: RecordHomePageRequest): {
|
|
31
|
+
context: RecordHomePageContext;
|
|
32
|
+
request: any;
|
|
33
|
+
}[];
|
|
28
34
|
resolveSimilarRequest(similarRequest: RecordHomePageRequest): RecordHomePageRequest;
|
|
29
35
|
getAlwaysRunRequests(): RecordHomePageRequest[];
|
|
30
36
|
static handlesContext(context: LexContext): context is RecordHomePageContext;
|
|
@@ -1,15 +1,30 @@
|
|
|
1
1
|
import { ApplicationPredictivePrefetcher } from './predictive-prefetcher';
|
|
2
2
|
import type { DefaultPageContext, PredictivePrefetchPage } from '../pages';
|
|
3
|
-
import type {
|
|
4
|
-
import type { GetRecordActionsRequestStrategy, GetRecordAvatarsRequestStrategy, GetRecordRequestStrategy, GetRecordsRequestStrategy, GetObjectInfoRequestStrategy, GetObjectInfosRequestStrategy, GetRelatedListsActionsRequestStrategy, GetRelatedListInfoBatchRequestStrategy, GetRelatedListRecordsRequestStrategy, GetRelatedListRecordsBatchRequestStrategy, GetListInfoByNameRequestStrategy, GetListRecordsByNameRequestStrategy, GetApexRequestStrategy, GetComponentsDefStrategy, GetListInfosByObjectNameRequestStrategy } from '../request-strategy';
|
|
3
|
+
import type { GetRecordActionsRequestStrategy, GetRecordAvatarsRequestStrategy, GetRecordRequestStrategy, GetRecordsRequestStrategy, GetObjectInfoRequestStrategy, GetObjectInfosRequestStrategy, GetRelatedListsActionsRequestStrategy, GetRelatedListInfoBatchRequestStrategy, GetRelatedListRecordsRequestStrategy, GetRelatedListRecordsBatchRequestStrategy, GetListInfoByNameRequestStrategy, GetListRecordsByNameRequestStrategy, GetApexRequestStrategy, GetComponentsDefStrategy, GetListInfosByObjectNameRequestStrategy, GetListObjectInfoRequestStrategy } from '../request-strategy';
|
|
5
4
|
import type { RequestRunner } from '../request-runner';
|
|
6
5
|
import type { PrefetchRepository } from '../repository/prefetch-repository';
|
|
7
6
|
import type { RecordHomePageContext, RecordHomePageRequest } from '../pages/record-home-page';
|
|
7
|
+
import type { RequestEntry } from '../common';
|
|
8
8
|
import type { ObjectHomePageContext, ObjectHomePageRequest } from '../pages/object-home-page';
|
|
9
9
|
export type LexRequest = RecordHomePageRequest | ObjectHomePageRequest;
|
|
10
10
|
export type LexContext = RecordHomePageContext | ObjectHomePageContext | DefaultPageContext;
|
|
11
|
+
/**
|
|
12
|
+
* Options for the predictive prefetcher.
|
|
13
|
+
*/
|
|
14
|
+
export type LexPrefetcherOptions = {
|
|
15
|
+
/**
|
|
16
|
+
* Limit on the number of requests that can be inflight at any given time.
|
|
17
|
+
*/
|
|
18
|
+
inflightRequestLimit: number;
|
|
19
|
+
/**
|
|
20
|
+
* When `true` requests will be saved in multiple context buckets and when exact matches contains predictions, only those will be used.
|
|
21
|
+
* Defaults to `false` (saves in one of them, predictions are built from similar + exact context buckets).
|
|
22
|
+
*/
|
|
23
|
+
useExactMatchesPlus?: boolean;
|
|
24
|
+
};
|
|
11
25
|
export declare class LexPredictivePrefetcher extends ApplicationPredictivePrefetcher<LexRequest, LexContext> {
|
|
12
26
|
private requestStrategies;
|
|
27
|
+
protected options: LexPrefetcherOptions;
|
|
13
28
|
constructor(context: LexContext, repository: PrefetchRepository, requestRunner: RequestRunner<LexRequest>, requestStrategies: {
|
|
14
29
|
getRecord: GetRecordRequestStrategy;
|
|
15
30
|
getRecords: GetRecordsRequestStrategy;
|
|
@@ -22,11 +37,13 @@ export declare class LexPredictivePrefetcher extends ApplicationPredictivePrefet
|
|
|
22
37
|
getRelatedListRecords: GetRelatedListRecordsRequestStrategy;
|
|
23
38
|
getRelatedListRecordsBatch: GetRelatedListRecordsBatchRequestStrategy;
|
|
24
39
|
getListInfoByName: GetListInfoByNameRequestStrategy;
|
|
40
|
+
getListObjectInfo: GetListObjectInfoRequestStrategy;
|
|
25
41
|
getListRecordsByName: GetListRecordsByNameRequestStrategy;
|
|
26
42
|
getListInfosByObjectName: GetListInfosByObjectNameRequestStrategy;
|
|
27
|
-
|
|
43
|
+
getApex: GetApexRequestStrategy;
|
|
28
44
|
getComponentsDef: GetComponentsDefStrategy;
|
|
29
|
-
}, options:
|
|
45
|
+
}, options: LexPrefetcherOptions);
|
|
30
46
|
getPage(): PredictivePrefetchPage<LexRequest, LexContext>;
|
|
47
|
+
getAllPageRequests(): RequestEntry<LexRequest>[];
|
|
31
48
|
predict(): Promise<void>;
|
|
32
49
|
}
|
|
@@ -2,28 +2,14 @@ import type { PrefetchRepository } from '../repository/prefetch-repository';
|
|
|
2
2
|
import type { PredictivePrefetchPage } from '../pages';
|
|
3
3
|
import type { RequestRunner } from '../request-runner';
|
|
4
4
|
import type { RequestEntry } from '../common';
|
|
5
|
-
/**
|
|
6
|
-
* Options for the predictive prefetcher.
|
|
7
|
-
*/
|
|
8
|
-
export type PrefetcherOptions = {
|
|
9
|
-
/**
|
|
10
|
-
* Limit on the number of requests that can be inflight at any given time.
|
|
11
|
-
*/
|
|
12
|
-
inflightRequestLimit: number;
|
|
13
|
-
/**
|
|
14
|
-
* Whether to save requests in multiple context buckets or only in a single context. Defaults to false.
|
|
15
|
-
*/
|
|
16
|
-
useSaveBuckets?: boolean;
|
|
17
|
-
};
|
|
18
5
|
export declare abstract class ApplicationPredictivePrefetcher<Request, Context extends Record<string, any>> {
|
|
19
6
|
protected repository: PrefetchRepository;
|
|
20
7
|
protected requestRunner: RequestRunner<Request>;
|
|
21
|
-
protected options: PrefetcherOptions;
|
|
22
8
|
private _context;
|
|
23
9
|
isRecording: boolean;
|
|
24
10
|
page: PredictivePrefetchPage<Request, Context>;
|
|
25
11
|
queuedPredictionRequests: Request[];
|
|
26
|
-
constructor(context: Context, repository: PrefetchRepository, requestRunner: RequestRunner<Request
|
|
12
|
+
constructor(context: Context, repository: PrefetchRepository, requestRunner: RequestRunner<Request>);
|
|
27
13
|
abstract getPage(): PredictivePrefetchPage<Request, Context>;
|
|
28
14
|
set context(value: Context);
|
|
29
15
|
get context(): Context;
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
export declare const ObjectPrototypeHasOwnProperty: (v: PropertyKey) => boolean;
|
|
2
|
-
export declare const ArrayIsArray: (arg: any) => arg is any[];
|
|
3
1
|
/**
|
|
4
2
|
* A deterministic JSON stringify implementation. Heavily adapted from https://github.com/epoberezkin/fast-json-stable-stringify.
|
|
5
3
|
* This is needed because insertion order for JSON.stringify(object) affects output:
|
|
@@ -16,9 +16,5 @@ export declare class GetApexRequestStrategy extends LuvioAdapterRequestStrategy<
|
|
|
16
16
|
adapterName: string;
|
|
17
17
|
adapterFactory: typeof getApexPdlFactory;
|
|
18
18
|
buildConcreteRequest(similarRequest: GetApexRequest): GetApexRequest;
|
|
19
|
-
buildSaveRequestData<C extends GetApexContext>(_similarContext: C, context: C, request: GetApexRequest): {
|
|
20
|
-
request: GetApexRequest;
|
|
21
|
-
context: C;
|
|
22
|
-
}[];
|
|
23
19
|
}
|
|
24
20
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RequestStrategy } from './request-strategy';
|
|
2
2
|
export type GetComponentsRequest = {
|
|
3
3
|
adapterName: 'getComponentsDef';
|
|
4
4
|
config: string[];
|
|
@@ -6,15 +6,12 @@ export type GetComponentsRequest = {
|
|
|
6
6
|
export type GetComponentsContext = {
|
|
7
7
|
objectApiName: string;
|
|
8
8
|
};
|
|
9
|
-
export declare class GetComponentsDefStrategy extends
|
|
9
|
+
export declare class GetComponentsDefStrategy extends RequestStrategy<string[], GetComponentsRequest, GetComponentsContext> {
|
|
10
10
|
adapterName: string;
|
|
11
|
-
|
|
11
|
+
execute(config: string[]): void;
|
|
12
12
|
buildConcreteRequest(similarRequest: GetComponentsRequest, _context: GetComponentsContext): GetComponentsRequest;
|
|
13
|
-
buildSaveRequestData<C extends GetComponentsContext>(similarContext: C, _context: C, request: GetComponentsRequest): {
|
|
14
|
-
request: GetComponentsRequest;
|
|
15
|
-
context: C;
|
|
16
|
-
}[];
|
|
17
13
|
transformForSave(request: GetComponentsRequest): GetComponentsRequest;
|
|
18
14
|
canCombine(): boolean;
|
|
19
15
|
combineRequests(reqA: string[], reqB: string[]): string[];
|
|
16
|
+
isContextDependent(_context: GetComponentsContext, _request: GetComponentsRequest): boolean;
|
|
20
17
|
}
|
package/dist/types/predictive-loading/request-strategy/get-list-info-by-name-request-strategy.d.ts
CHANGED
|
@@ -14,10 +14,6 @@ export declare class GetListInfoByNameRequestStrategy extends LuvioAdapterReques
|
|
|
14
14
|
adapterFactory: import("@luvio/engine").AdapterFactory<GetListInfoByNameConfig, import("packages/lds-adapters-uiapi/dist/es/es2018/types/src/generated/types/ListInfoRepresentation").ListInfoRepresentation>;
|
|
15
15
|
buildConcreteRequest(similarRequest: GetListInfoByNameRequest): GetListInfoByNameRequest;
|
|
16
16
|
transformForSave(request: GetListInfoByNameRequest): GetListInfoByNameRequest;
|
|
17
|
-
buildSaveRequestData<C extends GetListInfoByNameContext>(_similarContext: C, context: C, request: GetListInfoByNameRequest): {
|
|
18
|
-
request: GetListInfoByNameRequest;
|
|
19
|
-
context: C;
|
|
20
|
-
}[];
|
|
21
17
|
canCombine(reqA: GetListInfoByNameConfig, reqB: GetListInfoByNameConfig): boolean;
|
|
22
18
|
combineRequests(reqA: GetListInfoByNameConfig, _reqB: GetListInfoByNameConfig): GetListInfoByNameConfig;
|
|
23
19
|
}
|
|
@@ -14,10 +14,6 @@ export declare class GetListInfosByObjectNameRequestStrategy extends LuvioAdapte
|
|
|
14
14
|
adapterFactory: import("@luvio/engine").AdapterFactory<GetListInfosByObjectNameConfig, import("packages/lds-adapters-uiapi/dist/es/es2018/types/src/generated/types/ListInfoSummaryCollectionRepresentation").ListInfoSummaryCollectionRepresentation>;
|
|
15
15
|
buildConcreteRequest(similarRequest: GetListInfosByObjectNameRequest): GetListInfosByObjectNameRequest;
|
|
16
16
|
transformForSave(request: GetListInfosByObjectNameRequest): GetListInfosByObjectNameRequest;
|
|
17
|
-
buildSaveRequestData<C extends GetListInfosByObjectNameContext>(_similarContext: C, context: C, request: GetListInfosByObjectNameRequest): {
|
|
18
|
-
request: GetListInfosByObjectNameRequest;
|
|
19
|
-
context: C;
|
|
20
|
-
}[];
|
|
21
17
|
canCombine(reqA: GetListInfosByObjectNameConfig, reqB: GetListInfosByObjectNameConfig): boolean;
|
|
22
18
|
combineRequests(reqA: GetListInfosByObjectNameConfig, _reqB: GetListInfosByObjectNameConfig): GetListInfosByObjectNameConfig;
|
|
23
19
|
}
|
package/dist/types/predictive-loading/request-strategy/get-list-object-info-request-strategy.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { GetListObjectInfoConfig } from '@salesforce/lds-adapters-uiapi';
|
|
2
|
+
import { LuvioAdapterRequestStrategy } from './luvio-adapter-request-strategy';
|
|
3
|
+
export type GetListObjectInfoRequest = {
|
|
4
|
+
adapterName: 'getListObjectInfo';
|
|
5
|
+
config: GetListObjectInfoConfig;
|
|
6
|
+
};
|
|
7
|
+
export declare const GET_LIST_OBJECT_INFO_ADAPTER_NAME = "getListObjectInfo";
|
|
8
|
+
export type GetListObjectInfoContext = {
|
|
9
|
+
objectApiName: string;
|
|
10
|
+
};
|
|
11
|
+
export declare class GetListObjectInfoRequestStrategy extends LuvioAdapterRequestStrategy<GetListObjectInfoConfig, GetListObjectInfoRequest, GetListObjectInfoContext> {
|
|
12
|
+
adapterName: string;
|
|
13
|
+
adapterFactory: import("@luvio/engine").AdapterFactory<GetListObjectInfoConfig, import("packages/lds-adapters-uiapi/dist/es/es2018/types/src/generated/types/ListObjectInfoRepresentation").ListObjectInfoRepresentation>;
|
|
14
|
+
buildConcreteRequest(similarRequest: GetListObjectInfoRequest): GetListObjectInfoRequest;
|
|
15
|
+
transformForSave(request: GetListObjectInfoRequest): GetListObjectInfoRequest;
|
|
16
|
+
}
|
|
@@ -14,8 +14,4 @@ export declare class GetListRecordsByNameRequestStrategy extends LuvioAdapterReq
|
|
|
14
14
|
adapterFactory: import("@luvio/engine").AdapterFactory<GetListRecordsByNameConfig, import("packages/lds-adapters-uiapi/dist/es/es2018/types/src/generated/types/ListRecordCollectionRepresentation").ListRecordCollectionRepresentation>;
|
|
15
15
|
buildConcreteRequest(similarRequest: GetListRecordsByNameRequest): GetListRecordsByNameRequest;
|
|
16
16
|
transformForSave(request: GetListRecordsByNameRequest): GetListRecordsByNameRequest;
|
|
17
|
-
buildSaveRequestData<C extends GetListRecordsByNameContext>(_similarContext: C, context: C, request: GetListRecordsByNameRequest): {
|
|
18
|
-
request: GetListRecordsByNameRequest;
|
|
19
|
-
context: C;
|
|
20
|
-
}[];
|
|
21
17
|
}
|
package/dist/types/predictive-loading/request-strategy/get-object-info-request-strategy.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { GetObjectInfoConfig } from '@salesforce/lds-adapters-uiapi';
|
|
2
|
-
import type { LuvioAdapterRequest } from './luvio-adapter-request';
|
|
3
2
|
import { LuvioAdapterRequestStrategy } from './luvio-adapter-request-strategy';
|
|
4
3
|
import type { RequestEntry } from '../common';
|
|
4
|
+
import type { BaseAdapterRequest } from './request-strategy';
|
|
5
5
|
export type GetObjectInfoRequest = {
|
|
6
6
|
adapterName: 'getObjectInfo';
|
|
7
7
|
config: GetObjectInfoConfig;
|
|
@@ -21,5 +21,5 @@ export declare class GetObjectInfoRequestStrategy extends LuvioAdapterRequestStr
|
|
|
21
21
|
* @param unfilteredRequests all prediction requests
|
|
22
22
|
* @returns
|
|
23
23
|
*/
|
|
24
|
-
reduce(unfilteredRequests: RequestEntry<
|
|
24
|
+
reduce(unfilteredRequests: RequestEntry<BaseAdapterRequest<unknown>>[]): RequestEntry<GetObjectInfoRequest>[];
|
|
25
25
|
}
|
package/dist/types/predictive-loading/request-strategy/get-object-infos-request-strategy.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { GetObjectInfosConfig } from '@salesforce/lds-adapters-uiapi';
|
|
2
2
|
import type { RequestEntry } from '../common';
|
|
3
|
-
import type { LuvioAdapterRequest } from './luvio-adapter-request';
|
|
4
3
|
import { LuvioAdapterRequestStrategy } from './luvio-adapter-request-strategy';
|
|
5
|
-
import type {
|
|
4
|
+
import type { BaseAdapterRequest } from './request-strategy';
|
|
6
5
|
export type GetObjectInfosRequest = {
|
|
7
6
|
adapterName: 'getObjectInfos';
|
|
8
7
|
config: GetObjectInfosConfig;
|
|
@@ -21,7 +20,6 @@ export declare class GetObjectInfosRequestStrategy extends LuvioAdapterRequestSt
|
|
|
21
20
|
* @param unfilteredRequests - Array of unfiltered requests
|
|
22
21
|
* @returns RequestEntry<GetObjectInfosRequest>[] - Array of reduced requests
|
|
23
22
|
*/
|
|
24
|
-
reduce(unfilteredRequests: RequestEntry<
|
|
25
|
-
buildSaveRequestData(similarContext: GetObjectInfosContext, context: GetObjectInfosContext, request: GetObjectInfosRequest): SaveRequestData<GetObjectInfosRequest, GetObjectInfosContext>[];
|
|
23
|
+
reduce(unfilteredRequests: RequestEntry<BaseAdapterRequest<unknown>>[]): RequestEntry<GetObjectInfosRequest>[];
|
|
26
24
|
}
|
|
27
25
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { GetRelatedListRecordsConfig } from '@salesforce/lds-adapters-uiapi';
|
|
2
|
-
import type { LuvioAdapterRequest } from './luvio-adapter-request';
|
|
3
2
|
import { LuvioAdapterRequestStrategy } from './luvio-adapter-request-strategy';
|
|
4
3
|
import type { RequestEntry } from '../common';
|
|
4
|
+
import type { BaseAdapterRequest } from './request-strategy';
|
|
5
5
|
export type GetRelatedListRecordsRequest = {
|
|
6
6
|
adapterName: 'getRelatedListRecords';
|
|
7
7
|
config: GetRelatedListRecordsConfig;
|
|
@@ -26,7 +26,7 @@ export declare class GetRelatedListRecordsRequestStrategy extends LuvioAdapterRe
|
|
|
26
26
|
* @param unfilteredRequests All of the request available for predictions.
|
|
27
27
|
* @returns GetRelatedListRecordsRequest[] That should be a prediction.
|
|
28
28
|
*/
|
|
29
|
-
reduce(unfilteredRequests: RequestEntry<
|
|
29
|
+
reduce(unfilteredRequests: RequestEntry<BaseAdapterRequest<unknown>>[]): RequestEntry<GetRelatedListRecordsRequest>[];
|
|
30
30
|
transformForSaveSimilarRequest(request: GetRelatedListRecordsRequest): GetRelatedListRecordsRequest;
|
|
31
31
|
isContextDependent(context: GetRelatedListRecordsContext, request: GetRelatedListRecordsRequest): boolean;
|
|
32
32
|
}
|
|
@@ -11,7 +11,7 @@ export declare class GetRelatedListsActionsRequestStrategy extends LuvioAdapterR
|
|
|
11
11
|
adapterName: string;
|
|
12
12
|
adapterFactory: import("@luvio/engine").AdapterFactory<GetRelatedListsActionsConfig, import("packages/lds-adapters-uiapi/dist/es/es2018/types/src/generated/types/ActionRelatedListsCollectionBatchRepresentation").ActionRelatedListsCollectionBatchRepresentation>;
|
|
13
13
|
buildConcreteRequest(similarRequest: GetRelatedListsActionsRequest, context: GetRelatedListsActionsContext): GetRelatedListsActionsRequest;
|
|
14
|
-
|
|
14
|
+
transformForSaveSimilarRequest(request: GetRelatedListsActionsRequest): GetRelatedListsActionsRequest;
|
|
15
15
|
isContextDependent(context: GetRelatedListsActionsContext, request: GetRelatedListsActionsRequest): boolean;
|
|
16
16
|
/**
|
|
17
17
|
* Can only reduce two requests when they have the same recordId, and
|
|
@@ -12,7 +12,7 @@ export * from './get-related-list-records-batch-request-strategy';
|
|
|
12
12
|
export * from './get-apex-request-strategy';
|
|
13
13
|
export * from './get-list-info-by-name-request-strategy';
|
|
14
14
|
export * from './luvio-adapter-request-strategy';
|
|
15
|
-
export * from './luvio-adapter-request';
|
|
16
15
|
export * from './request-strategy';
|
|
17
16
|
export * from './get-list-infos-by-object-name-request-strategy';
|
|
18
17
|
export * from './get-list-records-by-name-request-strategy';
|
|
18
|
+
export * from './get-list-object-info-request-strategy';
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
import type { AdapterFactory } from '@luvio/engine';
|
|
1
|
+
import type { AdapterFactory, AdapterRequestContext, Luvio, Snapshot } from '@luvio/engine';
|
|
2
|
+
import type { BaseAdapterRequest } from './request-strategy';
|
|
2
3
|
import { RequestStrategy } from './request-strategy';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export declare abstract class LuvioAdapterRequestStrategy<AdapterConfig, Request extends LuvioAdapterRequest<AdapterConfig>, Context> extends RequestStrategy<Request, Context> {
|
|
7
|
-
protected prefetcherOptions: Partial<PrefetcherOptions>;
|
|
8
|
-
constructor(options?: {
|
|
9
|
-
useSaveBuckets?: boolean;
|
|
10
|
-
});
|
|
4
|
+
export declare abstract class LuvioAdapterRequestStrategy<AdapterConfig, Request extends BaseAdapterRequest<AdapterConfig>, Context> extends RequestStrategy<AdapterConfig, Request, Context> {
|
|
5
|
+
private luvio;
|
|
6
|
+
constructor(luvio: Luvio);
|
|
11
7
|
/**
|
|
12
8
|
* Name of the adapter used in this strategy.
|
|
13
9
|
*/
|
|
@@ -16,72 +12,5 @@ export declare abstract class LuvioAdapterRequestStrategy<AdapterConfig, Request
|
|
|
16
12
|
* Factory for the adapter used in this strategy.
|
|
17
13
|
*/
|
|
18
14
|
abstract adapterFactory: AdapterFactory<AdapterConfig, any>;
|
|
19
|
-
|
|
20
|
-
* Perform any transformations required to prepare the request for saving.
|
|
21
|
-
*
|
|
22
|
-
* e.g. If the request is for a record, we move all fields in the fields array
|
|
23
|
-
* into the optionalFields array
|
|
24
|
-
*
|
|
25
|
-
* @param request - The request to transform
|
|
26
|
-
* @returns
|
|
27
|
-
*/
|
|
28
|
-
transformForSave(request: Request): Request;
|
|
29
|
-
/**
|
|
30
|
-
* Filter requests to only those that are for this strategy.
|
|
31
|
-
*
|
|
32
|
-
* @param unfilteredRequests array of requests to filter
|
|
33
|
-
* @returns
|
|
34
|
-
*/
|
|
35
|
-
protected filterRequests(unfilteredRequests: RequestEntry<LuvioAdapterRequest<unknown>>[]): RequestEntry<Request>[];
|
|
36
|
-
/**
|
|
37
|
-
* Reduce requests by combining those based on a strategies implementations
|
|
38
|
-
* of canCombine and combineRequests.
|
|
39
|
-
* @param unfilteredRequests array of requests to filter
|
|
40
|
-
* @returns
|
|
41
|
-
*/
|
|
42
|
-
reduce(unfilteredRequests: RequestEntry<LuvioAdapterRequest<unknown>>[]): RequestEntry<Request>[];
|
|
43
|
-
/**
|
|
44
|
-
* Check if two requests can be combined.
|
|
45
|
-
*
|
|
46
|
-
* By default, requests are not combinable.
|
|
47
|
-
* @param reqA config of request A
|
|
48
|
-
* @param reqB config of request B
|
|
49
|
-
* @returns
|
|
50
|
-
*/
|
|
51
|
-
canCombine(_reqA: AdapterConfig, _reqB: AdapterConfig): boolean;
|
|
52
|
-
/**
|
|
53
|
-
* Takes two request configs and combines them into a single request config.
|
|
54
|
-
*
|
|
55
|
-
* @param reqA config of request A
|
|
56
|
-
* @param reqB config of request B
|
|
57
|
-
* @returns
|
|
58
|
-
*/
|
|
59
|
-
combineRequests(reqA: AdapterConfig, _reqB: AdapterConfig): AdapterConfig;
|
|
60
|
-
/**
|
|
61
|
-
* Checks adapter config against request context to determine if the request is context dependent.
|
|
62
|
-
*
|
|
63
|
-
* By default, requests are not context dependent.
|
|
64
|
-
* @param request
|
|
65
|
-
* @returns
|
|
66
|
-
*/
|
|
67
|
-
isContextDependent(_context: Context, _request: Request): boolean;
|
|
68
|
-
/**
|
|
69
|
-
* Builds request for saving,
|
|
70
|
-
* - transforming the request
|
|
71
|
-
* - handling the cases where the request is context dependent (this is homework for the subclass)
|
|
72
|
-
* @param _similarContext Context with at least one parameter as a wildcard '*'
|
|
73
|
-
* @param context Exact context for a given page
|
|
74
|
-
* @param request Request to build save request data for
|
|
75
|
-
* @returns Save request data
|
|
76
|
-
*/
|
|
77
|
-
buildSaveRequestData(similarContext: Context, context: Context, request: Request): {
|
|
78
|
-
request: Request;
|
|
79
|
-
context: Context;
|
|
80
|
-
}[];
|
|
81
|
-
/**
|
|
82
|
-
* Transforms the request for saving similar requests
|
|
83
|
-
* @param request Request to transform for saving similar requests
|
|
84
|
-
* @returns Transformed request
|
|
85
|
-
*/
|
|
86
|
-
protected transformForSaveSimilarRequest(request: Request): Request;
|
|
15
|
+
execute(config: AdapterConfig, requestContext?: AdapterRequestContext): Snapshot<any> | Promise<Snapshot<any>> | null;
|
|
87
16
|
}
|
|
@@ -1,7 +1,68 @@
|
|
|
1
|
-
import type { RequestEntry
|
|
2
|
-
export
|
|
3
|
-
|
|
1
|
+
import type { RequestEntry } from '../common';
|
|
2
|
+
export type BaseAdapterRequest<Config> = {
|
|
3
|
+
adapterName: string;
|
|
4
|
+
config: Config;
|
|
5
|
+
};
|
|
6
|
+
export declare abstract class RequestStrategy<Config, Request extends BaseAdapterRequest<Config>, Context> {
|
|
7
|
+
/**
|
|
8
|
+
* Name of the adapter used in this strategy.
|
|
9
|
+
*/
|
|
10
|
+
abstract adapterName: string;
|
|
11
|
+
abstract execute(config: Config): any;
|
|
4
12
|
abstract buildConcreteRequest(similarRequest: Request, context: Context): Request;
|
|
13
|
+
/**
|
|
14
|
+
* Perform any transformations required to prepare the request for saving.
|
|
15
|
+
*
|
|
16
|
+
* e.g. If the request is for a record, we move all fields in the fields array
|
|
17
|
+
* into the optionalFields array
|
|
18
|
+
*
|
|
19
|
+
* @param request - The request to transform
|
|
20
|
+
* @returns
|
|
21
|
+
*/
|
|
5
22
|
transformForSave(request: Request): Request;
|
|
6
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Transforms the request for saving similar requests
|
|
25
|
+
* @param request Request to transform for saving similar requests
|
|
26
|
+
* @returns Transformed request
|
|
27
|
+
*/
|
|
28
|
+
transformForSaveSimilarRequest(request: Request): Request;
|
|
29
|
+
/**
|
|
30
|
+
* Filter requests to only those that are for this strategy.
|
|
31
|
+
*
|
|
32
|
+
* @param unfilteredRequests array of requests to filter
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
protected filterRequests(unfilteredRequests: RequestEntry<any>[]): RequestEntry<Request>[];
|
|
36
|
+
/**
|
|
37
|
+
* Reduce requests by combining those based on a strategies implementations
|
|
38
|
+
* of canCombine and combineRequests.
|
|
39
|
+
* @param unfilteredRequests array of requests to filter
|
|
40
|
+
* @returns
|
|
41
|
+
*/
|
|
42
|
+
reduce(unfilteredRequests: RequestEntry<any>[]): RequestEntry<Request>[];
|
|
43
|
+
/**
|
|
44
|
+
* Check if two requests can be combined.
|
|
45
|
+
*
|
|
46
|
+
* By default, requests are not combinable.
|
|
47
|
+
* @param reqA config of request A
|
|
48
|
+
* @param reqB config of request B
|
|
49
|
+
* @returns
|
|
50
|
+
*/
|
|
51
|
+
canCombine(_reqA: Config, _reqB: Config): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Takes two request configs and combines them into a single request config.
|
|
54
|
+
*
|
|
55
|
+
* @param reqA config of request A
|
|
56
|
+
* @param reqB config of request B
|
|
57
|
+
* @returns
|
|
58
|
+
*/
|
|
59
|
+
combineRequests(reqA: Config, _reqB: Config): Config;
|
|
60
|
+
/**
|
|
61
|
+
* Checks adapter config against request context to determine if the request is context dependent.
|
|
62
|
+
*
|
|
63
|
+
* By default, requests are not context dependent.
|
|
64
|
+
* @param request
|
|
65
|
+
* @returns
|
|
66
|
+
*/
|
|
67
|
+
isContextDependent(_context: Context, _request: Request): boolean;
|
|
7
68
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type PrefetchStorage } from '.';
|
|
2
|
+
import { InMemoryPrefetchStorage } from './in-memory-prefetch-storage';
|
|
2
3
|
import { type AuraStorage, type AuraStorageConfig } from '@salesforce/lds-aura-storage';
|
|
3
4
|
export declare const DEFAULT_STORAGE_OPTIONS: {
|
|
4
5
|
name: string;
|