@salesforce/lds-runtime-aura 1.248.0 → 1.250.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.
@@ -15,7 +15,7 @@
15
15
  import { HttpStatusCode, InMemoryStore, Environment, Luvio, InMemoryStoreQueryEvaluator } from 'force/luvioEngine';
16
16
  import ldsTrackedFieldsBehaviorGate from '@salesforce/gate/lds.useNewTrackedFieldBehavior';
17
17
  import usePredictiveLoading from '@salesforce/gate/lds.usePredictiveLoading';
18
- import { getRecordAvatarsAdapterFactory, getRecordAdapterFactory, getRecordsAdapterFactory, getRecordActionsAdapterFactory, instrument, configuration, InMemoryRecordRepresentationQueryEvaluator, UiApiNamespace, RecordRepresentationRepresentationType, registerPrefetcher } from 'force/ldsAdaptersUiapi';
18
+ import { getRecordAvatarsAdapterFactory, getRecordAdapterFactory, getRecordsAdapterFactory, getRecordActionsAdapterFactory, getObjectInfoAdapterFactory, getObjectInfosAdapterFactory, instrument, configuration, InMemoryRecordRepresentationQueryEvaluator, UiApiNamespace, RecordRepresentationRepresentationType, registerPrefetcher } from 'force/ldsAdaptersUiapi';
19
19
  import { createStorage, clearStorages } from 'force/ldsStorage';
20
20
  import { withRegistration, register, setDefaultLuvio } from 'force/ldsEngine';
21
21
  import { REFRESH_ADAPTER_EVENT, ADAPTER_UNFULFILLED_ERROR, instrument as instrument$2 } from 'force/ldsBindings';
@@ -68,6 +68,8 @@ class RecordHomePage extends PredictivePrefetchPage {
68
68
  return this.requestStrategies.getRecordActions.buildGetRecordActionsSaveRequestData(this.similarContext, this.context, request);
69
69
  case 'getRecordAvatars':
70
70
  return this.requestStrategies.getRecordAvatars.buildGetRecordAvatarsSaveRequestData(this.similarContext, this.context, request);
71
+ case 'getObjectInfo':
72
+ return this.requestStrategies.getObjectInfo.buildGetObjectInfoSaveRequestData(this.similarContext, this.context, request);
71
73
  default:
72
74
  return { request, context: this.context };
73
75
  }
@@ -105,7 +107,7 @@ class RecordHomePage extends PredictivePrefetchPage {
105
107
  ],
106
108
  },
107
109
  }),
108
- context: this.context,
110
+ context: this.similarContext,
109
111
  };
110
112
  }
111
113
  return {
@@ -134,6 +136,12 @@ class RecordHomePage extends PredictivePrefetchPage {
134
136
  if (similarRequest.adapterName === 'getRecordAvatars') {
135
137
  return this.requestStrategies.getRecordAvatars.buildConcreteRequest(similarRequest, this.context);
136
138
  }
139
+ if (similarRequest.adapterName === 'getObjectInfo') {
140
+ return this.requestStrategies.getObjectInfo.buildConcreteRequest(similarRequest, this.context);
141
+ }
142
+ if (similarRequest.adapterName === 'getObjectInfos') {
143
+ return this.requestStrategies.getObjectInfos.buildConcreteRequest(similarRequest);
144
+ }
137
145
  return similarRequest;
138
146
  }
139
147
  // Record Home performs best when we always do a minimal getRecord alongside the other requests.
@@ -642,6 +650,49 @@ class GetRecordActionsRequestStrategy extends LuvioAdapterRequestStrategy {
642
650
  }
643
651
  }
644
652
 
653
+ class GetObjectInfoRequestStrategy extends LuvioAdapterRequestStrategy {
654
+ constructor() {
655
+ super(...arguments);
656
+ this.adapterName = 'getObjectInfo';
657
+ this.adapterFactory = getObjectInfoAdapterFactory;
658
+ }
659
+ buildConcreteRequest(similarRequest, context) {
660
+ return {
661
+ ...similarRequest,
662
+ config: {
663
+ ...similarRequest.config,
664
+ objectApiName: context.objectApiName,
665
+ },
666
+ };
667
+ }
668
+ buildGetObjectInfoSaveRequestData(similarContext, context, request) {
669
+ if (this.isGetObjectInfoContextDependent(context, request)) {
670
+ return {
671
+ request: this.transformForSave(request),
672
+ context: similarContext,
673
+ };
674
+ }
675
+ return {
676
+ request: this.transformForSave(request),
677
+ context,
678
+ };
679
+ }
680
+ isGetObjectInfoContextDependent(context, request) {
681
+ return (request.config.objectApiName && context.objectApiName === request.config.objectApiName);
682
+ }
683
+ }
684
+
685
+ class GetObjectInfosRequestStrategy extends LuvioAdapterRequestStrategy {
686
+ constructor() {
687
+ super(...arguments);
688
+ this.adapterName = 'getObjectInfos';
689
+ this.adapterFactory = getObjectInfosAdapterFactory;
690
+ }
691
+ buildConcreteRequest(similarRequest) {
692
+ return similarRequest;
693
+ }
694
+ }
695
+
645
696
  class LexRequestRunner {
646
697
  constructor(luvio) {
647
698
  this.luvio = luvio;
@@ -650,6 +701,8 @@ class LexRequestRunner {
650
701
  getRecords: new GetRecordsRequestStrategy(),
651
702
  getRecordActions: new GetRecordActionsRequestStrategy(),
652
703
  getRecordAvatars: new GetRecordAvatarsRequestStrategy(),
704
+ getObjectInfo: new GetObjectInfoRequestStrategy(),
705
+ getObjectInfos: new GetObjectInfosRequestStrategy(),
653
706
  };
654
707
  }
655
708
  reduceRequests(requests) {
@@ -1448,6 +1501,8 @@ function setupPredictivePrefetcher(luvio) {
1448
1501
  getRecords: new GetRecordsRequestStrategy(),
1449
1502
  getRecordActions: new GetRecordActionsRequestStrategy(),
1450
1503
  getRecordAvatars: new GetRecordAvatarsRequestStrategy(),
1504
+ getObjectInfo: new GetObjectInfoRequestStrategy(),
1505
+ getObjectInfos: new GetObjectInfosRequestStrategy(),
1451
1506
  });
1452
1507
  registerPrefetcher(luvio, prefetcher);
1453
1508
  __lexPrefetcher = prefetcher;
@@ -1500,4 +1555,4 @@ function ldsEngineCreator() {
1500
1555
  }
1501
1556
 
1502
1557
  export { ldsEngineCreator as default, initializeLDS, predictiveLoadPage };
1503
- // version: 1.248.0-1f7f01112
1558
+ // version: 1.250.0-9df9bc3d1
@@ -1,5 +1,5 @@
1
1
  import type { LexContext } from '../prefetcher';
2
- import type { GetRecordRequest, GetRecordsRequest, GetRecordRequestStrategy, GetRecordsRequestStrategy, GetRecordActionsRequestStrategy, GetRecordActionsRequest, GetRecordAvatarsRequest, GetRecordAvatarsRequestStrategy } from '../request-strategy';
2
+ import type { GetRecordRequest, GetRecordsRequest, GetRecordRequestStrategy, GetRecordsRequestStrategy, GetRecordActionsRequestStrategy, GetRecordActionsRequest, GetRecordAvatarsRequest, GetRecordAvatarsRequestStrategy, GetObjectInfoRequest, GetObjectInfosRequest, GetObjectInfoRequestStrategy, GetObjectInfosRequestStrategy } from '../request-strategy';
3
3
  import { PredictivePrefetchPage } from './predictive-prefetch-page';
4
4
  export type RecordHomePageContext = {
5
5
  objectApiName: string;
@@ -7,7 +7,7 @@ export type RecordHomePageContext = {
7
7
  actionName: string;
8
8
  type: 'recordPage';
9
9
  };
10
- export type RecordHomePageRequest = GetRecordRequest | GetRecordsRequest | GetRecordActionsRequest | GetRecordAvatarsRequest;
10
+ export type RecordHomePageRequest = GetRecordRequest | GetRecordsRequest | GetRecordActionsRequest | GetRecordAvatarsRequest | GetObjectInfoRequest | GetObjectInfosRequest;
11
11
  export declare class RecordHomePage extends PredictivePrefetchPage<RecordHomePageRequest, RecordHomePageContext> {
12
12
  private requestStrategies;
13
13
  similarContext: RecordHomePageContext;
@@ -16,6 +16,8 @@ export declare class RecordHomePage extends PredictivePrefetchPage<RecordHomePag
16
16
  getRecords: GetRecordsRequestStrategy;
17
17
  getRecordActions: GetRecordActionsRequestStrategy;
18
18
  getRecordAvatars: GetRecordAvatarsRequestStrategy;
19
+ getObjectInfo: GetObjectInfoRequestStrategy;
20
+ getObjectInfos: GetObjectInfosRequestStrategy;
19
21
  });
20
22
  buildSaveRequestData(request: RecordHomePageRequest): {
21
23
  request: GetRecordRequest;
@@ -29,6 +31,12 @@ export declare class RecordHomePage extends PredictivePrefetchPage<RecordHomePag
29
31
  } | {
30
32
  request: GetRecordAvatarsRequest;
31
33
  context: RecordHomePageContext;
34
+ } | {
35
+ request: GetObjectInfoRequest;
36
+ context: RecordHomePageContext;
37
+ } | {
38
+ request: GetObjectInfosRequest;
39
+ context: RecordHomePageContext;
32
40
  };
33
41
  buildGetRecordSaveRequestData(request: GetRecordRequest): {
34
42
  request: GetRecordRequest;
@@ -1,6 +1,6 @@
1
1
  import type { DefaultPageContext, PredictivePrefetchPage } from '../pages';
2
2
  import { ApplicationPredictivePrefetcher } from './predictive-prefetcher';
3
- import type { GetRecordActionsRequestStrategy, GetRecordAvatarsRequestStrategy, GetRecordRequestStrategy, GetRecordsRequestStrategy } from '../request-strategy';
3
+ import type { GetRecordActionsRequestStrategy, GetRecordAvatarsRequestStrategy, GetRecordRequestStrategy, GetRecordsRequestStrategy, GetObjectInfoRequestStrategy, GetObjectInfosRequestStrategy } from '../request-strategy';
4
4
  import type { RequestRunner } from '../request-runner';
5
5
  import type { PrefetchRepository } from '../repository/prefetch-repository';
6
6
  import type { RecordHomePageContext, RecordHomePageRequest } from '../pages/record-home-page';
@@ -13,6 +13,8 @@ export declare class LexPredictivePrefetcher extends ApplicationPredictivePrefet
13
13
  getRecords: GetRecordsRequestStrategy;
14
14
  getRecordActions: GetRecordActionsRequestStrategy;
15
15
  getRecordAvatars: GetRecordAvatarsRequestStrategy;
16
+ getObjectInfo: GetObjectInfoRequestStrategy;
17
+ getObjectInfos: GetObjectInfosRequestStrategy;
16
18
  });
17
19
  getPage(): PredictivePrefetchPage<LexRequest, LexContext>;
18
20
  }
@@ -0,0 +1,19 @@
1
+ import type { GetObjectInfoConfig } from '@salesforce/lds-adapters-uiapi';
2
+ import { LuvioAdapterRequestStrategy } from './luvio-adapter-request-strategy';
3
+ export type GetObjectInfoRequest = {
4
+ adapterName: 'getObjectInfo';
5
+ config: GetObjectInfoConfig;
6
+ };
7
+ export type GetObjectInfoContext = {
8
+ objectApiName: string;
9
+ };
10
+ export declare class GetObjectInfoRequestStrategy extends LuvioAdapterRequestStrategy<GetObjectInfoConfig, GetObjectInfoRequest, GetObjectInfoContext> {
11
+ adapterName: string;
12
+ adapterFactory: import("@luvio/engine").AdapterFactory<GetObjectInfoConfig, import("@salesforce/lds-adapters-uiapi").ObjectInfoRepresentation>;
13
+ buildConcreteRequest(similarRequest: GetObjectInfoRequest, context: GetObjectInfoContext): GetObjectInfoRequest;
14
+ buildGetObjectInfoSaveRequestData<C extends GetObjectInfoContext>(similarContext: C, context: C, request: GetObjectInfoRequest): {
15
+ request: GetObjectInfoRequest;
16
+ context: C;
17
+ };
18
+ private isGetObjectInfoContextDependent;
19
+ }
@@ -0,0 +1,11 @@
1
+ import type { GetObjectInfosConfig } from '@salesforce/lds-adapters-uiapi';
2
+ import { LuvioAdapterRequestStrategy } from './luvio-adapter-request-strategy';
3
+ export type GetObjectInfosRequest = {
4
+ adapterName: 'getObjectInfos';
5
+ config: GetObjectInfosConfig;
6
+ };
7
+ export declare class GetObjectInfosRequestStrategy extends LuvioAdapterRequestStrategy<GetObjectInfosConfig, GetObjectInfosRequest, unknown> {
8
+ adapterName: string;
9
+ adapterFactory: import("@luvio/engine").AdapterFactory<GetObjectInfosConfig, import("@salesforce/lds-adapters-uiapi").SimplifiedBatchRepresentation>;
10
+ buildConcreteRequest(similarRequest: GetObjectInfosRequest): GetObjectInfosRequest;
11
+ }
@@ -2,6 +2,8 @@ export * from './get-record-avatars-request-strategy';
2
2
  export * from './get-record-request-strategy';
3
3
  export * from './get-records-request-strategy';
4
4
  export * from './get-record-actions-request-strategy';
5
+ export * from './get-object-info-request-strategy';
6
+ export * from './get-object-infos-request-strategy';
5
7
  export * from './luvio-adapter-request-strategy';
6
8
  export * from './luvio-adapter-request';
7
9
  export * from './request-strategy';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/lds-runtime-aura",
3
- "version": "1.248.0",
3
+ "version": "1.250.0",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "description": "LDS engine for Aura runtime",
6
6
  "main": "dist/ldsEngineCreator.js",
@@ -43,13 +43,13 @@
43
43
  "@salesforce/lds-network-fetch-with-jwt": "*"
44
44
  },
45
45
  "dependencies": {
46
- "@luvio/network-adapter-composable": "0.151.1"
46
+ "@luvio/network-adapter-composable": "0.152.2"
47
47
  },
48
48
  "luvioBundlesize": [
49
49
  {
50
50
  "path": "./dist/ldsEngineCreator.js",
51
51
  "maxSize": {
52
- "none": "60 kB",
52
+ "none": "63 kB",
53
53
  "min": "28 kB",
54
54
  "compressed": "12 kB"
55
55
  }