@salesforce/lds-runtime-aura 0.1.0-dev1
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/LICENSE.txt +82 -0
- package/dist/ldsEngineCreator.js +7215 -0
- package/dist/types/__mocks__/@salesforce/lds-ads-bridge.d.ts +2 -0
- package/dist/types/__mocks__/@salesforce/lds-aura-storage.d.ts +1 -0
- package/dist/types/__mocks__/@salesforce/lds-instrumentation.d.ts +15 -0
- package/dist/types/__mocks__/@salesforce/lds-network-aura.d.ts +4 -0
- package/dist/types/__mocks__/@salesforce/lds-network-fetch.d.ts +2 -0
- package/dist/types/__mocks__/aura.d.ts +3 -0
- package/dist/types/__mocks__/force/ldsGraphqlParser.d.ts +3 -0
- package/dist/types/__mocks__/instrumentation/service.d.ts +33 -0
- package/dist/types/__mocks__/instrumentation:beaconLib.d.ts +7 -0
- package/dist/types/__mocks__/lwc.d.ts +6 -0
- package/dist/types/__mocks__/o11y/activity.d.ts +12 -0
- package/dist/types/__mocks__/o11y/client.d.ts +11 -0
- package/dist/types/__mocks__/o11y/idleDetector.d.ts +18 -0
- package/dist/types/__mocks__/o11y/instrumentation.d.ts +15 -0
- package/dist/types/__mocks__/o11y_schema/sf_lds.d.ts +1 -0
- package/dist/types/aura-instrumentation/main.d.ts +181 -0
- package/dist/types/aura-instrumentation/utils/observability.d.ts +36 -0
- package/dist/types/aura-instrumentation/utils/utils.d.ts +13 -0
- package/dist/types/jwt-authorized-fetch-service.d.ts +14 -0
- package/dist/types/language.d.ts +23 -0
- package/dist/types/lex-fetch-service.d.ts +3 -0
- package/dist/types/main.d.ts +63 -0
- package/dist/types/metadata.d.ts +5 -0
- package/dist/types/network-adapter.d.ts +2 -0
- package/dist/types/network-fetch.d.ts +7 -0
- package/dist/types/network-instrumentation.d.ts +2 -0
- package/dist/types/network-sfap.d.ts +17 -0
- package/dist/types/predictive-loading/common/index.d.ts +17 -0
- package/dist/types/predictive-loading/index.d.ts +7 -0
- package/dist/types/predictive-loading/lex/index.d.ts +17 -0
- package/dist/types/predictive-loading/lex/predictions-ready-manager.d.ts +32 -0
- package/dist/types/predictive-loading/pages/abstract-home-page.d.ts +17 -0
- package/dist/types/predictive-loading/pages/index.d.ts +4 -0
- package/dist/types/predictive-loading/pages/lex-default-page.d.ts +15 -0
- package/dist/types/predictive-loading/pages/object-home-page.d.ts +23 -0
- package/dist/types/predictive-loading/pages/predictive-prefetch-page.d.ts +12 -0
- package/dist/types/predictive-loading/pages/record-home-page.d.ts +26 -0
- package/dist/types/predictive-loading/prefetcher/index.d.ts +2 -0
- package/dist/types/predictive-loading/prefetcher/lex-predictive-prefetcher.d.ts +17 -0
- package/dist/types/predictive-loading/prefetcher/predictive-prefetcher.d.ts +34 -0
- package/dist/types/predictive-loading/prefetcher/utils.d.ts +52 -0
- package/dist/types/predictive-loading/repository/index.d.ts +2 -0
- package/dist/types/predictive-loading/repository/prefetch-repository.d.ts +31 -0
- package/dist/types/predictive-loading/repository/utils.d.ts +13 -0
- package/dist/types/predictive-loading/request-runner/index.d.ts +2 -0
- package/dist/types/predictive-loading/request-runner/lex-request-runner.d.ts +10 -0
- package/dist/types/predictive-loading/request-runner/request-runner.d.ts +5 -0
- package/dist/types/predictive-loading/request-strategy/get-apex-request-strategy.d.ts +30 -0
- package/dist/types/predictive-loading/request-strategy/get-components-request-strategy.d.ts +31 -0
- package/dist/types/predictive-loading/request-strategy/get-list-info-by-name-request-strategy.d.ts +19 -0
- package/dist/types/predictive-loading/request-strategy/get-list-infos-by-object-name-request-strategy.d.ts +19 -0
- package/dist/types/predictive-loading/request-strategy/get-list-object-info-request-strategy.d.ts +18 -0
- package/dist/types/predictive-loading/request-strategy/get-list-records-by-name-request-strategy.d.ts +19 -0
- package/dist/types/predictive-loading/request-strategy/get-object-info-request-strategy.d.ts +26 -0
- package/dist/types/predictive-loading/request-strategy/get-object-infos-request-strategy.d.ts +25 -0
- package/dist/types/predictive-loading/request-strategy/get-record-actions-request-strategy.d.ts +20 -0
- package/dist/types/predictive-loading/request-strategy/get-record-avatars-request-strategy.d.ts +20 -0
- package/dist/types/predictive-loading/request-strategy/get-record-request-strategy.d.ts +21 -0
- package/dist/types/predictive-loading/request-strategy/get-records-request-strategy.d.ts +18 -0
- package/dist/types/predictive-loading/request-strategy/get-related-list-actions-request-strategy.d.ts +21 -0
- package/dist/types/predictive-loading/request-strategy/get-related-list-info-batch-request-strategy.d.ts +24 -0
- package/dist/types/predictive-loading/request-strategy/get-related-list-info-request-strategy.d.ts +50 -0
- package/dist/types/predictive-loading/request-strategy/get-related-list-records-batch-request-strategy.d.ts +32 -0
- package/dist/types/predictive-loading/request-strategy/get-related-list-records-request-strategy.d.ts +34 -0
- package/dist/types/predictive-loading/request-strategy/get-related-lists-actions-request-strategy.d.ts +28 -0
- package/dist/types/predictive-loading/request-strategy/get-related-lists-info-strategy.d.ts +30 -0
- package/dist/types/predictive-loading/request-strategy/index.d.ts +21 -0
- package/dist/types/predictive-loading/request-strategy/lex-request-strategy.d.ts +13 -0
- package/dist/types/predictive-loading/request-strategy/luvio-adapter-request-strategy.d.ts +27 -0
- package/dist/types/predictive-loading/request-strategy/request-strategy.d.ts +79 -0
- package/dist/types/predictive-loading/request-strategy-manager/request-strategy-manager.d.ts +12 -0
- package/dist/types/predictive-loading/storage/aura-prefetch-storage.d.ts +25 -0
- package/dist/types/predictive-loading/storage/in-memory-prefetch-storage.d.ts +6 -0
- package/dist/types/predictive-loading/storage/index.d.ts +8 -0
- package/dist/types/predictive-loading/storage/local-prefetch-storage.d.ts +7 -0
- package/dist/types/response-interceptors/lex-runtime-5xx-status.d.ts +16 -0
- package/dist/types/response-interceptors/lex-runtime-auth-expiration-redirect.d.ts +3 -0
- package/package.json +92 -0
package/dist/types/predictive-loading/request-strategy/get-related-list-info-request-strategy.d.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { BaseAdapterRequest } from './request-strategy';
|
|
2
|
+
import type { GetRelatedListInfoConfig } from '@salesforce/lds-adapters-uiapi';
|
|
3
|
+
import type { RequestEntry } from '../common';
|
|
4
|
+
import { LuvioAdapterRequestStrategy } from './luvio-adapter-request-strategy';
|
|
5
|
+
export type GetRelatedListInfoRequest = {
|
|
6
|
+
adapterName: 'getRelatedListInfo';
|
|
7
|
+
config: GetRelatedListInfoConfig;
|
|
8
|
+
};
|
|
9
|
+
type GetRelatedListInfoContext = {
|
|
10
|
+
objectApiName: string;
|
|
11
|
+
recordTypeId: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const GET_RELATED_LIST_INFO_ADAPTER_NAME = "getRelatedListInfo";
|
|
14
|
+
export declare class GetRelatedListInfoRequestStrategy extends LuvioAdapterRequestStrategy<GetRelatedListInfoConfig, GetRelatedListInfoRequest, GetRelatedListInfoContext> {
|
|
15
|
+
adapterName: string;
|
|
16
|
+
adapterFactory: import("@luvio/engine").AdapterFactory<GetRelatedListInfoConfig, import("packages/lds-adapters-uiapi/dist/es/es2018/types/src/generated/types/RelatedListInfoRepresentation").RelatedListInfoRepresentation>;
|
|
17
|
+
/**
|
|
18
|
+
* @override
|
|
19
|
+
*/
|
|
20
|
+
isContextDependent(context: GetRelatedListInfoContext, request: GetRelatedListInfoRequest): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* @override
|
|
23
|
+
*/
|
|
24
|
+
buildConcreteRequest(similarRequest: GetRelatedListInfoRequest, _context: GetRelatedListInfoContext): GetRelatedListInfoRequest;
|
|
25
|
+
/**
|
|
26
|
+
* @override
|
|
27
|
+
*/
|
|
28
|
+
transformForSave(request: GetRelatedListInfoRequest): GetRelatedListInfoRequest;
|
|
29
|
+
/**
|
|
30
|
+
* For performance reasons (fear of over-fetching), we only want to predict single requests which either are not
|
|
31
|
+
* part of a batch request OR specify optional parameters (thus requiring data differing from that of a batch
|
|
32
|
+
* request).
|
|
33
|
+
*
|
|
34
|
+
* ADG currently handles the batching of getRelatedListInfo -> getRelatedListInfoBatch
|
|
35
|
+
* https://gitcore.soma.salesforce.com/core-2206/core-public/blob/p4/main/core/ui-laf-components/modules/laf/batchingPortable/reducers/RelatedListInfoBatchReducer.js
|
|
36
|
+
*
|
|
37
|
+
* @param unfilteredRequests
|
|
38
|
+
* @returns GetRelatedListInfoRequest[]
|
|
39
|
+
* @override
|
|
40
|
+
*/
|
|
41
|
+
reduce(unfilteredRequests: RequestEntry<BaseAdapterRequest<unknown>>[]): RequestEntry<GetRelatedListInfoRequest>[];
|
|
42
|
+
/**
|
|
43
|
+
* Return true if the request config doesn't specify values for any of the optional parameters.
|
|
44
|
+
*
|
|
45
|
+
* @param config
|
|
46
|
+
* @param ignoreRecordType
|
|
47
|
+
*/
|
|
48
|
+
isRequiredOnlyConfig(config: GetRelatedListInfoConfig, ignoreRecordType?: boolean): boolean;
|
|
49
|
+
}
|
|
50
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { GetRelatedListRecordsBatchConfig } from '@salesforce/lds-adapters-uiapi';
|
|
2
|
+
import { LuvioAdapterRequestStrategy } from './luvio-adapter-request-strategy';
|
|
3
|
+
export type GetRelatedListRecordsBatchRequest = {
|
|
4
|
+
adapterName: 'getRelatedListRecordsBatch';
|
|
5
|
+
config: GetRelatedListRecordsBatchConfig;
|
|
6
|
+
};
|
|
7
|
+
type GetRelatedListRecordsBatchContext = {
|
|
8
|
+
recordId: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const GET_RELATED_LIST_RECORDS_BATCH_ADAPTER_NAME = "getRelatedListRecordsBatch";
|
|
11
|
+
export declare class GetRelatedListRecordsBatchRequestStrategy extends LuvioAdapterRequestStrategy<GetRelatedListRecordsBatchConfig, GetRelatedListRecordsBatchRequest, GetRelatedListRecordsBatchContext> {
|
|
12
|
+
adapterName: string;
|
|
13
|
+
adapterFactory: import("@luvio/engine").AdapterFactory<GetRelatedListRecordsBatchConfig, import("@salesforce/lds-adapters-uiapi").RelatedListRecordCollectionBatchRepresentation>;
|
|
14
|
+
buildConcreteRequest(similarRequest: GetRelatedListRecordsBatchRequest, context: GetRelatedListRecordsBatchContext): GetRelatedListRecordsBatchRequest;
|
|
15
|
+
transformForSaveSimilarRequest(request: GetRelatedListRecordsBatchRequest): GetRelatedListRecordsBatchRequest;
|
|
16
|
+
isContextDependent(context: GetRelatedListRecordsBatchContext, request: GetRelatedListRecordsBatchRequest): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Can combine two seperate batch requests if the parentRecordId is the same.
|
|
19
|
+
* @param reqA The first GetRelatedListRecordsBatchConfig.
|
|
20
|
+
* @param reqB The first GetRelatedListRecordsBatchConfig.
|
|
21
|
+
* @returns true if the requests can be combined, otherwise false.
|
|
22
|
+
*/
|
|
23
|
+
canCombine(reqA: GetRelatedListRecordsBatchConfig, reqB: GetRelatedListRecordsBatchConfig): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Merge the relatedListParameters together between two combinable batch requests.
|
|
26
|
+
* @param reqA The first GetRelatedListRecordsBatchConfig.
|
|
27
|
+
* @param reqB The first GetRelatedListRecordsBatchConfig.
|
|
28
|
+
* @returns The combined request.
|
|
29
|
+
*/
|
|
30
|
+
combineRequests(reqA: GetRelatedListRecordsBatchConfig, reqB: GetRelatedListRecordsBatchConfig): GetRelatedListRecordsBatchConfig;
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { GetRelatedListRecordsConfig } from '@salesforce/lds-adapters-uiapi';
|
|
2
|
+
import { LuvioAdapterRequestStrategy } from './luvio-adapter-request-strategy';
|
|
3
|
+
import type { RequestEntry } from '../common';
|
|
4
|
+
import type { BaseAdapterRequest } from './request-strategy';
|
|
5
|
+
export type GetRelatedListRecordsRequest = {
|
|
6
|
+
adapterName: 'getRelatedListRecords';
|
|
7
|
+
config: GetRelatedListRecordsConfig;
|
|
8
|
+
};
|
|
9
|
+
type GetRelatedListRecordsContext = {
|
|
10
|
+
recordId: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const GET_RELATED_LIST_RECORDS_ADAPTER_NAME = "getRelatedListRecords";
|
|
13
|
+
export declare class GetRelatedListRecordsRequestStrategy extends LuvioAdapterRequestStrategy<GetRelatedListRecordsConfig, GetRelatedListRecordsRequest, GetRelatedListRecordsContext> {
|
|
14
|
+
adapterName: string;
|
|
15
|
+
adapterFactory: import("@luvio/engine").AdapterFactory<GetRelatedListRecordsConfig, import("@salesforce/lds-adapters-uiapi").RelatedListRecordCollectionRepresentation>;
|
|
16
|
+
buildConcreteRequest(similarRequest: GetRelatedListRecordsRequest, context: GetRelatedListRecordsContext): GetRelatedListRecordsRequest;
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* This method returns GetRelatedListRecordsRequest[] that won't be part of a batch request.
|
|
20
|
+
*
|
|
21
|
+
* ADG currently handles the batching of GetRelatedListRecords -> GetRelatedListRecordsBatch
|
|
22
|
+
* https://gitcore.soma.salesforce.com/core-2206/core-public/blob/p4/main/core/ui-laf-components/modules/laf/batchingPortable/reducers/RelatedListRecordsBatchReducer.js
|
|
23
|
+
*
|
|
24
|
+
* For performance reasons (fear to overfetch), we only check that the Single relatedListId is not present in any of the Batch requests,
|
|
25
|
+
* but we don't check for any other parameters.
|
|
26
|
+
*
|
|
27
|
+
* @param unfilteredRequests All of the request available for predictions.
|
|
28
|
+
* @returns GetRelatedListRecordsRequest[] That should be a prediction.
|
|
29
|
+
*/
|
|
30
|
+
reduce(unfilteredRequests: RequestEntry<BaseAdapterRequest<unknown>>[]): RequestEntry<GetRelatedListRecordsRequest>[];
|
|
31
|
+
transformForSaveSimilarRequest(request: GetRelatedListRecordsRequest): GetRelatedListRecordsRequest;
|
|
32
|
+
isContextDependent(context: GetRelatedListRecordsContext, request: GetRelatedListRecordsRequest): boolean;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { GetRelatedListsActionsConfig } from '@salesforce/lds-adapters-uiapi';
|
|
2
|
+
import { LuvioAdapterRequestStrategy } from './luvio-adapter-request-strategy';
|
|
3
|
+
export type GetRelatedListsActionsRequest = {
|
|
4
|
+
adapterName: 'getRelatedListsActions';
|
|
5
|
+
config: GetRelatedListsActionsConfig;
|
|
6
|
+
};
|
|
7
|
+
type GetRelatedListsActionsContext = {
|
|
8
|
+
recordId: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const GET_RELATED_LISTS_ACTIONS_ADAPTER_NAME = "getRelatedListsActions";
|
|
11
|
+
export declare class GetRelatedListsActionsRequestStrategy extends LuvioAdapterRequestStrategy<GetRelatedListsActionsConfig, GetRelatedListsActionsRequest, GetRelatedListsActionsContext> {
|
|
12
|
+
adapterName: string;
|
|
13
|
+
adapterFactory: import("@luvio/engine").AdapterFactory<GetRelatedListsActionsConfig, import("packages/lds-adapters-uiapi/dist/es/es2018/types/src/generated/types/ActionRelatedListsCollectionBatchRepresentation").ActionRelatedListsCollectionBatchRepresentation>;
|
|
14
|
+
buildConcreteRequest(similarRequest: GetRelatedListsActionsRequest, context: GetRelatedListsActionsContext): GetRelatedListsActionsRequest;
|
|
15
|
+
transformForSaveSimilarRequest(request: GetRelatedListsActionsRequest): GetRelatedListsActionsRequest;
|
|
16
|
+
isContextDependent(context: GetRelatedListsActionsContext, request: GetRelatedListsActionsRequest): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Can only reduce two requests when they have the same recordId, and
|
|
19
|
+
* the individual relatedListAction config only have relatedListId.
|
|
20
|
+
*
|
|
21
|
+
* @param reqA
|
|
22
|
+
* @param reqB
|
|
23
|
+
* @returns boolean
|
|
24
|
+
*/
|
|
25
|
+
canCombine(reqA: GetRelatedListsActionsConfig, reqB: GetRelatedListsActionsConfig): boolean;
|
|
26
|
+
combineRequests(reqA: GetRelatedListsActionsConfig, reqB: GetRelatedListsActionsConfig): GetRelatedListsActionsConfig;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { GetRelatedListsInfoConfig } from '@salesforce/lds-adapters-uiapi';
|
|
2
|
+
import { LuvioAdapterRequestStrategy } from './luvio-adapter-request-strategy';
|
|
3
|
+
export type GetRelatedListsInfoRequest = {
|
|
4
|
+
adapterName: 'getRelatedListsInfo';
|
|
5
|
+
config: GetRelatedListsInfoConfig;
|
|
6
|
+
};
|
|
7
|
+
type GetRelatedListsInfoContext = {
|
|
8
|
+
objectApiName: string;
|
|
9
|
+
recordTypeId: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const GET_RELATED_LISTS_INFO_ADAPTER_NAME = "getRelatedListsInfo";
|
|
12
|
+
export declare class GetRelatedListsInfoRequestStrategy extends LuvioAdapterRequestStrategy<GetRelatedListsInfoConfig, GetRelatedListsInfoRequest, GetRelatedListsInfoContext> {
|
|
13
|
+
adapterName: string;
|
|
14
|
+
adapterFactory: import("@luvio/engine").AdapterFactory<GetRelatedListsInfoConfig, import("packages/lds-adapters-uiapi/dist/es/es2018/types/src/generated/types/RelatedListSummaryInfoCollectionRepresentation").RelatedListSummaryInfoCollectionRepresentation>;
|
|
15
|
+
/**
|
|
16
|
+
* @override
|
|
17
|
+
*/
|
|
18
|
+
isContextDependent(context: GetRelatedListsInfoContext, request: GetRelatedListsInfoRequest): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* @override
|
|
21
|
+
*/
|
|
22
|
+
buildConcreteRequest(similarRequest: GetRelatedListsInfoRequest, _context: GetRelatedListsInfoContext): GetRelatedListsInfoRequest;
|
|
23
|
+
/**
|
|
24
|
+
* @override
|
|
25
|
+
*/
|
|
26
|
+
transformForSave(request: GetRelatedListsInfoRequest): GetRelatedListsInfoRequest;
|
|
27
|
+
canCombine(reqA: GetRelatedListsInfoConfig, reqB: GetRelatedListsInfoConfig): boolean;
|
|
28
|
+
combineRequests(reqA: GetRelatedListsInfoConfig, _reqB: GetRelatedListsInfoConfig): GetRelatedListsInfoConfig;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export * from './get-components-request-strategy';
|
|
2
|
+
export * from './get-record-avatars-request-strategy';
|
|
3
|
+
export * from './get-record-request-strategy';
|
|
4
|
+
export * from './get-records-request-strategy';
|
|
5
|
+
export * from './get-record-actions-request-strategy';
|
|
6
|
+
export * from './get-object-info-request-strategy';
|
|
7
|
+
export * from './get-object-infos-request-strategy';
|
|
8
|
+
export * from './get-related-lists-actions-request-strategy';
|
|
9
|
+
export * from './get-related-list-info-request-strategy';
|
|
10
|
+
export * from './get-related-list-info-batch-request-strategy';
|
|
11
|
+
export * from './get-related-list-records-request-strategy';
|
|
12
|
+
export * from './get-related-list-records-batch-request-strategy';
|
|
13
|
+
export * from './get-apex-request-strategy';
|
|
14
|
+
export * from './get-list-info-by-name-request-strategy';
|
|
15
|
+
export * from './luvio-adapter-request-strategy';
|
|
16
|
+
export * from './request-strategy';
|
|
17
|
+
export * from './get-list-infos-by-object-name-request-strategy';
|
|
18
|
+
export * from './get-list-records-by-name-request-strategy';
|
|
19
|
+
export * from './get-list-object-info-request-strategy';
|
|
20
|
+
export * from './get-related-lists-info-strategy';
|
|
21
|
+
export * from './get-related-list-actions-request-strategy';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RequestStrategy } from './request-strategy';
|
|
2
|
+
import type { LexContext, LexRequest, LexRequestOptions } from '../lex';
|
|
3
|
+
import type { DefaultPageContext } from '../pages';
|
|
4
|
+
export declare abstract class LexRequestStrategy<Config = unknown, Request extends LexRequest<Config> = LexRequest<Config>, Context extends LexContext = DefaultPageContext> extends RequestStrategy<Config, Request, Context, LexRequestOptions> {
|
|
5
|
+
/**
|
|
6
|
+
* Whether or not requests from this strategies can be boxcarred by Aura.
|
|
7
|
+
* If they are, the lex prefetcher will run predictions of this strategy with a limit,
|
|
8
|
+
* to avoid predictions being boxcared.
|
|
9
|
+
*
|
|
10
|
+
* @returns boolean
|
|
11
|
+
*/
|
|
12
|
+
get isBoxcarable(): boolean;
|
|
13
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { AdapterFactory, Luvio, Snapshot } from '@luvio/engine';
|
|
2
|
+
import { LexRequestStrategy } from './lex-request-strategy';
|
|
3
|
+
import type { LexContext, LexRequest, LexRequestOptions } from '../lex';
|
|
4
|
+
export declare const DEFAULT_RESOURCE_CONTEXT: {
|
|
5
|
+
sourceContext: {
|
|
6
|
+
tagName: string;
|
|
7
|
+
actionConfig: {
|
|
8
|
+
background: boolean;
|
|
9
|
+
hotspot: boolean;
|
|
10
|
+
longRunning: boolean;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export declare abstract class LuvioAdapterRequestStrategy<AdapterConfig, Request extends LexRequest<AdapterConfig>, Context extends LexContext> extends LexRequestStrategy<AdapterConfig, Request, Context> {
|
|
15
|
+
private luvio;
|
|
16
|
+
constructor(luvio: Luvio);
|
|
17
|
+
/**
|
|
18
|
+
* Name of the adapter used in this strategy.
|
|
19
|
+
*/
|
|
20
|
+
abstract adapterName: string;
|
|
21
|
+
/**
|
|
22
|
+
* Factory for the adapter used in this strategy.
|
|
23
|
+
*/
|
|
24
|
+
abstract adapterFactory: AdapterFactory<AdapterConfig, any>;
|
|
25
|
+
execute(config: AdapterConfig, options?: LexRequestOptions): Snapshot<any> | Promise<Snapshot<any>> | null;
|
|
26
|
+
protected createAdapterContext(options: LexRequestOptions): any;
|
|
27
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { RequestEntry } from '../common';
|
|
2
|
+
export type BaseAdapterRequest<Config = unknown> = {
|
|
3
|
+
adapterName: string;
|
|
4
|
+
config: Config;
|
|
5
|
+
};
|
|
6
|
+
export declare const enum RequestPriority {
|
|
7
|
+
LOW = 0,
|
|
8
|
+
NORMAL = 1,
|
|
9
|
+
HIGH = 2
|
|
10
|
+
}
|
|
11
|
+
export declare enum PdlRequestPriority {
|
|
12
|
+
LOW = 0,
|
|
13
|
+
NORMAL = 1,
|
|
14
|
+
HIGH = 2
|
|
15
|
+
}
|
|
16
|
+
export declare abstract class RequestStrategy<Config, Request extends BaseAdapterRequest<Config>, Context, Options extends Record<string, any>> {
|
|
17
|
+
/**
|
|
18
|
+
* Name of the adapter used in this strategy.
|
|
19
|
+
*/
|
|
20
|
+
abstract adapterName: string;
|
|
21
|
+
abstract execute(config: Config, options?: Options): any;
|
|
22
|
+
abstract buildConcreteRequest(similarRequest: Request, context: Context): Request;
|
|
23
|
+
getRequestPriority(_request: Request, _context: Context): RequestPriority;
|
|
24
|
+
/**
|
|
25
|
+
* Perform any transformations required to prepare the request for saving.
|
|
26
|
+
*
|
|
27
|
+
* e.g. If the request is for a record, we move all fields in the fields array
|
|
28
|
+
* into the optionalFields array
|
|
29
|
+
*
|
|
30
|
+
* @param request - The request to transform
|
|
31
|
+
* @returns
|
|
32
|
+
*/
|
|
33
|
+
transformForSave(request: Request, _context?: Context): Request;
|
|
34
|
+
/**
|
|
35
|
+
* Transforms the request for saving similar requests
|
|
36
|
+
* @param request Request to transform for saving similar requests
|
|
37
|
+
* @returns Transformed request
|
|
38
|
+
*/
|
|
39
|
+
transformForSaveSimilarRequest(request: Request, _context?: Context): Request;
|
|
40
|
+
/**
|
|
41
|
+
* Filter requests to only those that are for this strategy.
|
|
42
|
+
*
|
|
43
|
+
* @param unfilteredRequests array of requests to filter
|
|
44
|
+
* @returns
|
|
45
|
+
*/
|
|
46
|
+
protected filterRequests(unfilteredRequests: RequestEntry<any>[]): RequestEntry<Request>[];
|
|
47
|
+
/**
|
|
48
|
+
* Reduce requests by combining those based on a strategies implementations
|
|
49
|
+
* of canCombine and combineRequests.
|
|
50
|
+
* @param unfilteredRequests array of requests to filter
|
|
51
|
+
* @returns
|
|
52
|
+
*/
|
|
53
|
+
reduce(unfilteredRequests: RequestEntry<any>[]): RequestEntry<Request>[];
|
|
54
|
+
/**
|
|
55
|
+
* Check if two requests can be combined.
|
|
56
|
+
*
|
|
57
|
+
* By default, requests are not combinable.
|
|
58
|
+
* @param reqA config of request A
|
|
59
|
+
* @param reqB config of request B
|
|
60
|
+
* @returns
|
|
61
|
+
*/
|
|
62
|
+
canCombine(_reqA: Config, _reqB: Config): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Takes two request configs and combines them into a single request config.
|
|
65
|
+
*
|
|
66
|
+
* @param reqA config of request A
|
|
67
|
+
* @param reqB config of request B
|
|
68
|
+
* @returns
|
|
69
|
+
*/
|
|
70
|
+
combineRequests(reqA: Config, _reqB: Config): Config;
|
|
71
|
+
/**
|
|
72
|
+
* Checks adapter config against request context to determine if the request is context dependent.
|
|
73
|
+
*
|
|
74
|
+
* By default, requests are not context dependent.
|
|
75
|
+
* @param request
|
|
76
|
+
* @returns
|
|
77
|
+
*/
|
|
78
|
+
isContextDependent(_context: Context, _request: Request): boolean;
|
|
79
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { LexRequestStrategy } from '../request-strategy/lex-request-strategy';
|
|
2
|
+
export declare class RequestStrategyManager {
|
|
3
|
+
private requestStrategies;
|
|
4
|
+
private requestStrategiesByAdapterName;
|
|
5
|
+
constructor(requestStrategies?: LexRequestStrategy[]);
|
|
6
|
+
private setRequestStrategy;
|
|
7
|
+
private deleteRequestStrategy;
|
|
8
|
+
register(requestStrategies: LexRequestStrategy[]): boolean[];
|
|
9
|
+
unregister(requestStrategies: LexRequestStrategy[]): boolean[];
|
|
10
|
+
get(adapterName: string): LexRequestStrategy<unknown, import("../lex").LexRequest<unknown>, import("..").DefaultPageContext> | undefined;
|
|
11
|
+
getAll(): LexRequestStrategy<unknown, import("../lex").LexRequest<unknown>, import("..").DefaultPageContext>[];
|
|
12
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type PrefetchStorage } from '.';
|
|
2
|
+
import { InMemoryPrefetchStorage } from './in-memory-prefetch-storage';
|
|
3
|
+
import { type AuraStorage, type AuraStorageConfig } from '@salesforce/lds-aura-storage';
|
|
4
|
+
export declare const DEFAULT_STORAGE_OPTIONS: {
|
|
5
|
+
name: string;
|
|
6
|
+
persistent: boolean;
|
|
7
|
+
secure: boolean;
|
|
8
|
+
maxSize: number;
|
|
9
|
+
expiration: number;
|
|
10
|
+
clearOnInit: boolean;
|
|
11
|
+
debugLogging: boolean;
|
|
12
|
+
version: number;
|
|
13
|
+
};
|
|
14
|
+
export type StorageOptions = Partial<AuraStorageConfig> & {
|
|
15
|
+
onPredictionsReadyCallback?: () => void;
|
|
16
|
+
};
|
|
17
|
+
export declare function buildAuraPrefetchStorage(options?: StorageOptions): PrefetchStorage;
|
|
18
|
+
export declare function buildAuraLocalStoragePrefetchStorage(options?: StorageOptions): PrefetchStorage;
|
|
19
|
+
export declare class AuraPrefetchStorage implements PrefetchStorage {
|
|
20
|
+
private auraStorage;
|
|
21
|
+
private inMemoryStorage;
|
|
22
|
+
constructor(auraStorage: AuraStorage, inMemoryStorage: InMemoryPrefetchStorage, onPredictionsReadyCallback?: () => void);
|
|
23
|
+
set<T>(key: string, value: T): Promise<void>;
|
|
24
|
+
get<T>(key: string): T | undefined;
|
|
25
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { StorageOptions } from './aura-prefetch-storage';
|
|
2
|
+
export type PrefetchStorage = {
|
|
3
|
+
get<T>(key: string): T | undefined;
|
|
4
|
+
set<T>(key: string, value: T): Promise<void>;
|
|
5
|
+
};
|
|
6
|
+
export declare function buildPrefetchStorage(useLocalStorage: boolean, options: StorageOptions): PrefetchStorage;
|
|
7
|
+
export * from './in-memory-prefetch-storage';
|
|
8
|
+
export * from './local-prefetch-storage';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PrefetchStorage } from '.';
|
|
2
|
+
export declare class LocalPrefetchStorage implements PrefetchStorage {
|
|
3
|
+
private localStorage;
|
|
4
|
+
constructor(localStorage: typeof window.localStorage);
|
|
5
|
+
set<T>(key: string, value: T): Promise<void>;
|
|
6
|
+
get<T>(key: string): T | undefined;
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LoggerService } from '@luvio/utils';
|
|
2
|
+
import { ResponseInterceptor } from '@luvio/service-fetch-network/v1';
|
|
3
|
+
export type LexRuntimeError = {
|
|
4
|
+
message: string;
|
|
5
|
+
severity: string;
|
|
6
|
+
name: string;
|
|
7
|
+
stack: string | null;
|
|
8
|
+
handled: boolean;
|
|
9
|
+
reported: boolean;
|
|
10
|
+
};
|
|
11
|
+
export type LexErrorEventArgs = {
|
|
12
|
+
message: string;
|
|
13
|
+
error: string | null;
|
|
14
|
+
auraError: LexRuntimeError;
|
|
15
|
+
};
|
|
16
|
+
export declare function buildLexRuntime5xxStatusResponseInterceptor(logger: LoggerService): ResponseInterceptor;
|
package/package.json
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@salesforce/lds-runtime-aura",
|
|
3
|
+
"version": "0.1.0-dev1",
|
|
4
|
+
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
|
+
"description": "LDS engine for Aura runtime",
|
|
6
|
+
"main": "dist/ldsEngineCreator.js",
|
|
7
|
+
"module": "dist/ldsEngineCreator.js",
|
|
8
|
+
"types": "dist/types/main.d.ts",
|
|
9
|
+
"files": [
|
|
10
|
+
"dist"
|
|
11
|
+
],
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./dist/types/main.d.ts",
|
|
15
|
+
"import": "./dist/ldsEngineCreator.js",
|
|
16
|
+
"default": "./dist/ldsEngineCreator.js"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"sfdc": {
|
|
20
|
+
"path": "forcelds/ldsEngineCreator/",
|
|
21
|
+
"publishedFileName": "ldsEngineCreator.js",
|
|
22
|
+
"overrides": {
|
|
23
|
+
"artifactDirectory": "dist",
|
|
24
|
+
"outputModuleName": "ldsEngineCreator"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"scripts": {
|
|
28
|
+
"prepare": "yarn build",
|
|
29
|
+
"build": "rollup --bundleConfigAsCjs --config rollup.config.js",
|
|
30
|
+
"clean": "rm -rf dist",
|
|
31
|
+
"test:unit": "jest",
|
|
32
|
+
"test:debug": "node --inspect-brk ../../node_modules/.bin/jest --runInBand",
|
|
33
|
+
"test:size": "luvioBundlesize",
|
|
34
|
+
"release:corejar": "yarn build && ../core-build/scripts/core.js --name=lds-runtime-aura"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@luvio/service-provisioner": "5.61.0",
|
|
38
|
+
"@luvio/tools-core": "5.61.0",
|
|
39
|
+
"@salesforce/lds-adapters-apex": "^0.1.0-dev1",
|
|
40
|
+
"@salesforce/lds-adapters-uiapi": "^0.1.0-dev1",
|
|
41
|
+
"@salesforce/lds-ads-bridge": "^0.1.0-dev1",
|
|
42
|
+
"@salesforce/lds-aura-storage": "^0.1.0-dev1",
|
|
43
|
+
"@salesforce/lds-bindings": "^0.1.0-dev1",
|
|
44
|
+
"@salesforce/lds-instrumentation": "^0.1.0-dev1",
|
|
45
|
+
"@salesforce/lds-network-aura": "^0.1.0-dev1",
|
|
46
|
+
"@salesforce/lds-network-fetch": "^0.1.0-dev1",
|
|
47
|
+
"jwt-encode": "1.0.1"
|
|
48
|
+
},
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"@luvio/command-aura-graphql-normalized-cache-control": "5.61.0",
|
|
51
|
+
"@luvio/command-aura-network": "5.61.0",
|
|
52
|
+
"@luvio/command-aura-normalized-cache-control": "5.61.0",
|
|
53
|
+
"@luvio/command-aura-resource-cache-control": "5.61.0",
|
|
54
|
+
"@luvio/command-fetch-network": "5.61.0",
|
|
55
|
+
"@luvio/command-http-graphql-normalized-cache-control": "5.61.0",
|
|
56
|
+
"@luvio/command-http-normalized-cache-control": "5.61.0",
|
|
57
|
+
"@luvio/command-ndjson": "5.61.0",
|
|
58
|
+
"@luvio/command-network": "5.61.0",
|
|
59
|
+
"@luvio/command-sse": "5.61.0",
|
|
60
|
+
"@luvio/command-streaming": "5.61.0",
|
|
61
|
+
"@luvio/network-adapter-composable": "0.158.7",
|
|
62
|
+
"@luvio/network-adapter-fetch": "0.158.7",
|
|
63
|
+
"@luvio/service-aura-network": "5.61.0",
|
|
64
|
+
"@luvio/service-cache": "5.61.0",
|
|
65
|
+
"@luvio/service-cache-control": "5.61.0",
|
|
66
|
+
"@luvio/service-cache-inclusion-policy": "5.61.0",
|
|
67
|
+
"@luvio/service-feature-flags": "5.61.0",
|
|
68
|
+
"@luvio/service-fetch-network": "5.61.0",
|
|
69
|
+
"@luvio/service-instrument-command": "5.61.0",
|
|
70
|
+
"@luvio/service-pubsub": "5.61.0",
|
|
71
|
+
"@luvio/service-store": "5.61.0",
|
|
72
|
+
"@luvio/utils": "5.61.0",
|
|
73
|
+
"@lwc/state": "^0.23.0",
|
|
74
|
+
"@salesforce/lds-adapters-onestore-graphql": "^0.1.0-dev1",
|
|
75
|
+
"@salesforce/lds-adapters-uiapi-lex": "^0.1.0-dev1",
|
|
76
|
+
"@salesforce/lds-luvio-service": "^0.1.0-dev1",
|
|
77
|
+
"@salesforce/lds-luvio-uiapi-records-service": "^0.1.0-dev1"
|
|
78
|
+
},
|
|
79
|
+
"luvioBundlesize": [
|
|
80
|
+
{
|
|
81
|
+
"path": "./dist/ldsEngineCreator.js",
|
|
82
|
+
"maxSize": {
|
|
83
|
+
"none": "350 kB",
|
|
84
|
+
"min": "190 kB",
|
|
85
|
+
"compressed": "50 kB"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"volta": {
|
|
90
|
+
"extends": "../../package.json"
|
|
91
|
+
}
|
|
92
|
+
}
|