@komaci/static-analyzer 240.1.3 → 242.1.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/build/types.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { Adg, FunctionType, SourceLocation } from '@komaci/types';
2
+ import { ValidGetterContext, ValidTemplateContext } from '@komaci/common-shared';
2
3
  /** Representation of a source code file being analyzed, in format neeed by the VSCode language server */
3
4
  export declare type Uri = {
4
5
  path: string;
@@ -92,6 +93,22 @@ export declare type WireAdaptersMapping = {
92
93
  [identifier: string]: PrimingAdapterDefinition;
93
94
  };
94
95
  };
96
+ /**
97
+ * Internal type for a composition property
98
+ */
99
+ export declare type CompositionProperty = {
100
+ propertyName: string;
101
+ location?: SourceLocation;
102
+ diagnosticMessageAct: 'iterator iterates upon' | "image's src attribute is bound to" | 'child component references';
103
+ };
104
+ export declare type GetterDiagnosticsContext = {
105
+ getterFunctionDiagnostics: PrimingDiagnostic[];
106
+ validGetters: ValidGetterContext[];
107
+ };
108
+ export declare type TemplateDiagnosticsContext = {
109
+ templateDiagnostics: PrimingDiagnostic[];
110
+ validTemplates: ValidTemplateContext[];
111
+ };
95
112
  /**
96
113
  * Contextual info about the given contextual code block
97
114
  */
@@ -1,7 +1,7 @@
1
1
  import * as t from '@babel/types';
2
2
  import { NodePath } from '@babel/traverse';
3
3
  import { FunctionalContext, PrimingDiagnostic } from './types';
4
- import { ModuleContext } from '@komaci/common-shared';
4
+ import { ModuleContext, ModuleMetadata } from '@komaci/common-shared';
5
5
  /**
6
6
  * Run a series of checks against a functional node (currently class method or some form of template string) for "purity"
7
7
  *
@@ -12,7 +12,7 @@ import { ModuleContext } from '@komaci/common-shared';
12
12
  * @param functionalContext Contextual information about this functional code block
13
13
  * @returns An array of the problems identified
14
14
  */
15
- export declare function checkFunctionalPurity(path: NodePath<t.ClassMethod | t.ClassProperty>, moduleContext: ModuleContext, functionalContext: FunctionalContext): Array<PrimingDiagnostic>;
15
+ export declare function checkFunctionalPurity(path: NodePath<t.ClassMethod | t.ClassProperty>, adgIndex: number, moduleMetadata: ModuleMetadata, moduleContext: ModuleContext, functionalContext: FunctionalContext): Array<PrimingDiagnostic>;
16
16
  /**
17
17
  * Given a ClassMethod representing a getter method, it will run several invariant checks against its NodePath representation,
18
18
  * in order to determine if it adheres all designated invariants.
@@ -32,7 +32,7 @@ export declare function checkFunctionalPurity(path: NodePath<t.ClassMethod | t.C
32
32
  * Or, if returnSourceLocation is true AND a non-empty Array<InvariantDetail> is returned, that means at
33
33
  * least one invariant check failed. If no invariant checks failed, an empty Array<InvariantDetail> is returned.
34
34
  */
35
- export declare function validateGetter(getterMethodPath: NodePath<t.ClassMethod>, moduleContext: ModuleContext, returnSourceLocation?: boolean): boolean | Array<PrimingDiagnostic>;
35
+ export declare function validateGetter(getterMethodPath: NodePath<t.ClassMethod>, adgIndex: number, moduleMetadata: ModuleMetadata, moduleContext: ModuleContext, returnSourceLocation?: boolean): boolean | Array<PrimingDiagnostic>;
36
36
  /**
37
37
  * Validate template strings for purity. Variable declarations are not valid inside of a template expression so we do not have to support that use case here.
38
38
  * Template string processing is essentially a subset of what we do for getter functions. The only diff is that we don't have to do the extra "only a return statement"
@@ -42,5 +42,5 @@ export declare function validateGetter(getterMethodPath: NodePath<t.ClassMethod>
42
42
  * @param returnSourceLocation if we have to return the priming diagnostics or not
43
43
  * @returns Priming diagnostics or just a true/false if it's valid
44
44
  */
45
- export declare function validateTemplateString(node: NodePath<t.ClassProperty>, moduleContext: ModuleContext, returnSourceLocation?: boolean): boolean | Array<PrimingDiagnostic>;
45
+ export declare function validateTemplateString(node: NodePath<t.ClassProperty>, adgIndex: number, moduleMetadata: ModuleMetadata, moduleContext: ModuleContext, returnSourceLocation?: boolean): boolean | Array<PrimingDiagnostic>;
46
46
  //# sourceMappingURL=validateGetter.d.ts.map
@@ -19,64 +19,68 @@ const taggedTemplateExpressionInvariantFunctions_1 = require("./invariantFunctio
19
19
  * @param functionalContext Contextual information about this functional code block
20
20
  * @returns An array of the problems identified
21
21
  */
22
- function checkFunctionalPurity(path, moduleContext, functionalContext) {
22
+ function checkFunctionalPurity(path, adgIndex, moduleMetadata, moduleContext, functionalContext) {
23
23
  let primingDiagnostics = [];
24
- const Visitors = {
25
- // visitor for each type
26
- MemberExpression(path) {
27
- primingDiagnostics = processLocationInfo(primingDiagnostics, [
28
- (0, memberExpressionInvariantFunctions_1.checkNoUsageOfDocumentOrWindow)(path),
29
- (0, memberExpressionInvariantFunctions_1.checkForNonSupportedMemberRefs)(path, moduleContext.astContext.classProperties),
30
- (0, memberExpressionInvariantFunctions_1.checkForNonExistentMemberRefs)(path, moduleContext.astContext.classProperties, functionalContext.thisAliases),
31
- (0, memberExpressionInvariantFunctions_1.checkMemberExpressionForNonSupportedNamespaceRefs)(path, moduleContext.astContext.importDeclarations),
32
- (0, memberExpressionInvariantFunctions_1.checkForNoUseOfSuper)(path),
33
- (0, memberExpressionInvariantFunctions_1.checkForUnsupportedGlobalRef)(path, moduleContext.astContext, functionalContext.declaredVariables),
34
- ]);
35
- },
36
- CallExpression(path) {
37
- primingDiagnostics = processLocationInfo(primingDiagnostics, [
38
- (0, callExpressionInvariantFunctions_1.checkNoUsageOfEval)(path),
39
- (0, callExpressionInvariantFunctions_1.checkCallExpressionForNonSupportedNamespaceRefs)(path, moduleContext.astContext.importDeclarations),
40
- (0, callExpressionInvariantFunctions_1.checkForNoReferenceToClassFunctions)(path, moduleContext.astContext.classFunctions),
41
- (0, callExpressionInvariantFunctions_1.checkForNoReferenceToModuleFunctions)(path, moduleContext.astContext.moduleFunctions),
42
- ]);
43
- },
44
- AssignmentExpression(path) {
45
- const functionCallArr = [(0, assignmentExpressionInvariantFunctions_1.checkForNoMemberVariableAssignments)(path)];
46
- if (moduleContext.isExternal) {
47
- functionCallArr.push((0, assignmentExpressionInvariantFunctions_1.checkExternalComponentForAssignmentExpr)(path));
48
- }
49
- primingDiagnostics = processLocationInfo(primingDiagnostics, functionCallArr);
50
- },
51
- FunctionExpression(path) {
52
- primingDiagnostics = processLocationInfo(primingDiagnostics, [
53
- (0, functionExpressionInvariantFunctions_1.checkForFunctionExpressionIfExternalComponent)(moduleContext, path),
54
- ]);
55
- },
56
- ArrowFunctionExpression(path) {
57
- primingDiagnostics = processLocationInfo(primingDiagnostics, [
58
- (0, functionExpressionInvariantFunctions_1.checkForFunctionExpressionIfExternalComponent)(moduleContext, path),
59
- ]);
60
- },
61
- ObjectMethod(path) {
62
- primingDiagnostics = processLocationInfo(primingDiagnostics, [
63
- (0, functionExpressionInvariantFunctions_1.checkForObjectMethodFunctionDeclarations)(moduleContext, path),
64
- ]);
65
- },
66
- Identifier(path) {
67
- primingDiagnostics = processLocationInfo(primingDiagnostics, [
68
- (0, identifierInvariantFunctions_1.checkForNoReferenceToModuleVariables)(path, moduleContext.astContext.moduleVariables, functionalContext.declaredVariables),
69
- (0, identifierInvariantFunctions_1.checkIdentifierForNonSupportedNamespaceRefs)(path, moduleContext.astContext.importDeclarations, functionalContext.declaredVariables),
70
- ]);
71
- },
72
- TaggedTemplateExpression(path) {
73
- primingDiagnostics = processLocationInfo(primingDiagnostics, [
74
- (0, taggedTemplateExpressionInvariantFunctions_1.checkTaggedTemplateExprForNonSupportedNamespaceRefs)(path, moduleContext.astContext.importDeclarations),
75
- ]);
76
- },
77
- };
78
- // traverse the getter method NodePath, checking the logic in the visitors for each corresponding type of node to check
79
- path.traverse(Visitors);
24
+ const adg = moduleMetadata.adgs.get(adgIndex);
25
+ if (adg) {
26
+ const properties = adg.properties;
27
+ const Visitors = {
28
+ // visitor for each type
29
+ MemberExpression(path) {
30
+ primingDiagnostics = processLocationInfo(primingDiagnostics, [
31
+ (0, memberExpressionInvariantFunctions_1.checkNoUsageOfDocumentOrWindow)(path),
32
+ (0, memberExpressionInvariantFunctions_1.checkForNonSupportedMemberRefs)(path, properties),
33
+ (0, memberExpressionInvariantFunctions_1.checkForNonExistentMemberRefs)(path, properties, functionalContext.thisAliases),
34
+ (0, memberExpressionInvariantFunctions_1.checkMemberExpressionForNonSupportedNamespaceRefs)(path, moduleMetadata.importsByName),
35
+ (0, memberExpressionInvariantFunctions_1.checkForNoUseOfSuper)(path),
36
+ (0, memberExpressionInvariantFunctions_1.checkForUnsupportedGlobalRef)(path, moduleContext.astContext, moduleMetadata.importsByName, adg.properties, functionalContext.declaredVariables),
37
+ ]);
38
+ },
39
+ CallExpression(path) {
40
+ primingDiagnostics = processLocationInfo(primingDiagnostics, [
41
+ (0, callExpressionInvariantFunctions_1.checkNoUsageOfEval)(path),
42
+ (0, callExpressionInvariantFunctions_1.checkCallExpressionForNonSupportedNamespaceRefs)(path, moduleMetadata.importsByName),
43
+ (0, callExpressionInvariantFunctions_1.checkForNoReferenceToClassFunctions)(path, moduleContext.astContext.classFunctions),
44
+ (0, callExpressionInvariantFunctions_1.checkForNoReferenceToModuleFunctions)(path, moduleContext.astContext.moduleFunctions),
45
+ ]);
46
+ },
47
+ AssignmentExpression(path) {
48
+ const functionCallArr = [(0, assignmentExpressionInvariantFunctions_1.checkForNoMemberVariableAssignments)(path)];
49
+ if (moduleContext.isExternal) {
50
+ functionCallArr.push((0, assignmentExpressionInvariantFunctions_1.checkExternalComponentForAssignmentExpr)(path));
51
+ }
52
+ primingDiagnostics = processLocationInfo(primingDiagnostics, functionCallArr);
53
+ },
54
+ FunctionExpression(path) {
55
+ primingDiagnostics = processLocationInfo(primingDiagnostics, [
56
+ (0, functionExpressionInvariantFunctions_1.checkForFunctionExpressionIfExternalComponent)(moduleContext, path),
57
+ ]);
58
+ },
59
+ ArrowFunctionExpression(path) {
60
+ primingDiagnostics = processLocationInfo(primingDiagnostics, [
61
+ (0, functionExpressionInvariantFunctions_1.checkForFunctionExpressionIfExternalComponent)(moduleContext, path),
62
+ ]);
63
+ },
64
+ ObjectMethod(path) {
65
+ primingDiagnostics = processLocationInfo(primingDiagnostics, [
66
+ (0, functionExpressionInvariantFunctions_1.checkForObjectMethodFunctionDeclarations)(moduleContext, path),
67
+ ]);
68
+ },
69
+ Identifier(path) {
70
+ primingDiagnostics = processLocationInfo(primingDiagnostics, [
71
+ (0, identifierInvariantFunctions_1.checkForNoReferenceToModuleVariables)(path, moduleContext.astContext.moduleVariables, functionalContext.declaredVariables),
72
+ (0, identifierInvariantFunctions_1.checkIdentifierForNonSupportedNamespaceRefs)(path, moduleMetadata.importsByName, functionalContext.declaredVariables),
73
+ ]);
74
+ },
75
+ TaggedTemplateExpression(path) {
76
+ primingDiagnostics = processLocationInfo(primingDiagnostics, [
77
+ (0, taggedTemplateExpressionInvariantFunctions_1.checkTaggedTemplateExprForNonSupportedNamespaceRefs)(path, moduleMetadata.importsByName),
78
+ ]);
79
+ },
80
+ };
81
+ // traverse the getter method NodePath, checking the logic in the visitors for each corresponding type of node to check
82
+ path.traverse(Visitors);
83
+ }
80
84
  return primingDiagnostics;
81
85
  }
82
86
  exports.checkFunctionalPurity = checkFunctionalPurity;
@@ -99,10 +103,10 @@ exports.checkFunctionalPurity = checkFunctionalPurity;
99
103
  * Or, if returnSourceLocation is true AND a non-empty Array<InvariantDetail> is returned, that means at
100
104
  * least one invariant check failed. If no invariant checks failed, an empty Array<InvariantDetail> is returned.
101
105
  */
102
- function validateGetter(getterMethodPath, moduleContext, returnSourceLocation = false) {
106
+ function validateGetter(getterMethodPath, adgIndex, moduleMetadata, moduleContext, returnSourceLocation = false) {
103
107
  const getterDeclaredVars = (0, common_shared_1.getVariablesDeclaredInGetter)(getterMethodPath);
104
108
  const thisAliases = (0, common_shared_1.getThisAliasDeclaredInGetter)(getterMethodPath);
105
- let primingDiagnostics = checkFunctionalPurity(getterMethodPath, moduleContext, {
109
+ let primingDiagnostics = checkFunctionalPurity(getterMethodPath, adgIndex, moduleMetadata, moduleContext, {
106
110
  thisAliases,
107
111
  declaredVariables: getterDeclaredVars,
108
112
  });
@@ -143,8 +147,8 @@ function processLocationInfo(allInvalidLocations, results) {
143
147
  * @param returnSourceLocation if we have to return the priming diagnostics or not
144
148
  * @returns Priming diagnostics or just a true/false if it's valid
145
149
  */
146
- function validateTemplateString(node, moduleContext, returnSourceLocation = false) {
147
- const diagnostics = checkFunctionalPurity(node, moduleContext, {
150
+ function validateTemplateString(node, adgIndex, moduleMetadata, moduleContext, returnSourceLocation = false) {
151
+ const diagnostics = checkFunctionalPurity(node, adgIndex, moduleMetadata, moduleContext, {
148
152
  declaredVariables: [],
149
153
  thisAliases: new Set(),
150
154
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@komaci/static-analyzer",
3
- "version": "240.1.3",
3
+ "version": "242.1.0",
4
4
  "description": "Komaci Diagnostics API",
5
5
  "homepage": "https://komaci.dev/",
6
6
  "repository": {
@@ -23,17 +23,15 @@
23
23
  },
24
24
  "files": [
25
25
  "build/**/*.js",
26
- "build/**/*.d.ts",
27
- "build/komaci-mapping.json"
26
+ "build/**/*.d.ts"
28
27
  ],
29
- "peerDependencies": {
30
- "@lwc-platform/lwc-metadata-next": "^2.18.0-240.2"
31
- },
32
28
  "dependencies": {
33
- "@komaci/common-shared": "240.1.3"
29
+ "@komaci/common-shared": "242.1.0",
30
+ "@lwc/metadata": "2.22.0-0",
31
+ "@lwc/sfdc-compiler-utils": "2.22.0-0"
34
32
  },
35
33
  "devDependencies": {
36
34
  "@babel/types": "^7.9.0",
37
- "@komaci/types": "240.1.3"
35
+ "@komaci/types": "242.1.0"
38
36
  }
39
37
  }
@@ -1,3 +0,0 @@
1
- import { WireAdaptersMapping } from './types';
2
- export declare const wireAdaptersMap: WireAdaptersMapping;
3
- //# sourceMappingURL=adaptersMapping.d.ts.map
@@ -1,25 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.wireAdaptersMap = void 0;
23
- const wireAdapterImport = __importStar(require("./komaci-mapping.json"));
24
- exports.wireAdaptersMap = wireAdapterImport;
25
- //# sourceMappingURL=adaptersMapping.js.map
@@ -1,6 +0,0 @@
1
- export declare const allowlistAdapters: {
2
- [key: string]: string[];
3
- };
4
- export declare const allowlistResourceNamesStartsWith: string[];
5
- export declare const allowlistResourceNamesExact: string[];
6
- //# sourceMappingURL=allowlistAdapters.d.ts.map
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.allowlistResourceNamesExact = exports.allowlistResourceNamesStartsWith = exports.allowlistAdapters = void 0;
4
- exports.allowlistAdapters = {
5
- 'lightning/navigation': ['CurrentPageReference'],
6
- }; // these must match the resourceName and one or more of the wire adapter names (export names), exactly
7
- // these can have any wire adapter name (export name)
8
- exports.allowlistResourceNamesStartsWith = ['@salesforce/apex']; // resourceName can start with
9
- exports.allowlistResourceNamesExact = ['laf/transformWire']; // resourceName must exactly match this
10
- //# sourceMappingURL=allowlistAdapters.js.map
@@ -1,288 +0,0 @@
1
- {
2
- "lightning/uiRecordActionsApi": {
3
- "getRecordActions": {
4
- "prime": {
5
- "importPath": "lightning/unstable_uiRecordActionsApi",
6
- "identifier": "unstable_getRecordActions_imperative"
7
- }
8
- },
9
- "getRelatedListsActions": {
10
- "prime": {
11
- "importPath": "lightning/unstable_uiRecordActionsApi",
12
- "identifier": "unstable_getRelatedListsActions_imperative"
13
- }
14
- },
15
- "getRelatedListActions": {
16
- "prime": {
17
- "importPath": "lightning/unstable_uiRecordActionsApi",
18
- "identifier": "unstable_getRelatedListActions_imperative"
19
- },
20
- "batch": {
21
- "prime": {
22
- "importPath": "lightning/unstable_uiRecordActionsApi",
23
- "identifier": "unstable_getRelatedListsActions_imperative"
24
- },
25
- "reducer": {
26
- "importPath": "laf/batchingPortable",
27
- "identifier": "RelatedListActionsBatchReducer"
28
- }
29
- }
30
- }
31
- },
32
- "lightning/uiLayoutApi": {
33
- "getLayout": {
34
- "prime": {
35
- "importPath": "lightning/unstable_uiLayoutApi",
36
- "identifier": "unstable_getLayout_imperative"
37
- }
38
- },
39
- "getLayoutUserState": {
40
- "prime": {
41
- "importPath": "lightning/unstable_uiLayoutApi",
42
- "identifier": "unstable_getLayoutUserState_imperative"
43
- }
44
- }
45
- },
46
- "lightning/uiListsApi": {
47
- "getListInfoByName": {
48
- "prime": {
49
- "importPath": "lightning/unstable_uiListsApi",
50
- "identifier": "unstable_getListInfoByName_imperative"
51
- }
52
- }
53
- },
54
- "lightning/uiAppsApi": {
55
- "getNavItems": {
56
- "prime": {
57
- "importPath": "lightning/unstable_uiAppsApi",
58
- "identifier": "unstable_getNavItems_imperative"
59
- }
60
- }
61
- },
62
- "lightning/uiObjectInfoApi": {
63
- "getObjectInfos": {
64
- "prime": {
65
- "importPath": "lightning/unstable_uiObjectInfoApi",
66
- "identifier": "unstable_getObjectInfos_imperative"
67
- },
68
- "batch": {
69
- "prime": {
70
- "importPath": "lightning/unstable_uiObjectInfoApi",
71
- "identifier": "unstable_getObjectInfos_imperative"
72
- },
73
- "reducer": {
74
- "importPath": "laf/batchingPortable",
75
- "identifier": "ObjectInfosBatchReducer"
76
- }
77
- }
78
- },
79
- "getObjectInfo": {
80
- "prime": {
81
- "importPath": "lightning/unstable_uiObjectInfoApi",
82
- "identifier": "unstable_getObjectInfo_imperative"
83
- },
84
- "batch": {
85
- "prime": {
86
- "importPath": "lightning/unstable_uiObjectInfoApi",
87
- "identifier": "unstable_getObjectInfos_imperative"
88
- },
89
- "reducer": {
90
- "importPath": "laf/batchingPortable",
91
- "identifier": "ObjectInfoBatchReducer"
92
- }
93
- }
94
- },
95
- "getPicklistValuesByRecordType": {
96
- "prime": {
97
- "importPath": "lightning/unstable_uiObjectInfoApi",
98
- "identifier": "unstable_getPicklistValuesByRecordType_imperative"
99
- }
100
- },
101
- "getPicklistValues": {
102
- "prime": {
103
- "importPath": "lightning/unstable_uiObjectInfoApi",
104
- "identifier": "unstable_getPicklistValues_imperative"
105
- }
106
- }
107
- },
108
- "lightning/uiRecordAvatarApi": {
109
- "getRecordAvatars": {
110
- "prime": {
111
- "importPath": "lightning/unstable_uiRecordAvatarApi",
112
- "identifier": "unstable_getRecordAvatars_imperative"
113
- },
114
- "batch": {
115
- "prime": {
116
- "importPath": "lightning/unstable_uiRecordAvatarApi",
117
- "identifier": "unstable_getRecordAvatars_imperative"
118
- },
119
- "reducer": {
120
- "importPath": "laf/batchingPortable",
121
- "identifier": "RecordAvatarBatchReducer"
122
- }
123
- }
124
- }
125
- },
126
- "lightning/uiRecordApi": {
127
- "getRecordCreateDefaults": {
128
- "prime": {
129
- "importPath": "lightning/unstable_uiRecordApi",
130
- "identifier": "unstable_getRecordCreateDefaults_imperative"
131
- }
132
- },
133
- "getRecordUi": {
134
- "prime": {
135
- "importPath": "lightning/unstable_uiRecordApi",
136
- "identifier": "unstable_getRecordUi_imperative"
137
- }
138
- },
139
- "getRecords": {
140
- "prime": {
141
- "importPath": "lightning/unstable_uiRecordApi",
142
- "identifier": "unstable_getRecords_imperative"
143
- }
144
- },
145
- "getRecord": {
146
- "prime": {
147
- "importPath": "lightning/unstable_uiRecordApi",
148
- "identifier": "unstable_getRecord_imperative"
149
- },
150
- "batch": {
151
- "prime": {
152
- "importPath": "lightning/unstable_uiRecordApi",
153
- "identifier": "unstable_getRecords_imperative"
154
- },
155
- "reducer": {
156
- "importPath": "laf/batchingPortable",
157
- "identifier": "GetRecordBatchReducer"
158
- }
159
- }
160
- }
161
- },
162
- "lightning/uiRelatedListApi": {
163
- "getRelatedListsCount": {
164
- "prime": {
165
- "importPath": "lightning/unstable_uiRelatedListApi",
166
- "identifier": "unstable_getRelatedListsCount_imperative"
167
- }
168
- },
169
- "getRelatedListCount": {
170
- "prime": {
171
- "importPath": "lightning/unstable_uiRelatedListApi",
172
- "identifier": "unstable_getRelatedListCount_imperative"
173
- }
174
- },
175
- "getRelatedListInfoBatch": {
176
- "prime": {
177
- "importPath": "lightning/unstable_uiRelatedListApi",
178
- "identifier": "unstable_getRelatedListInfoBatch_imperative"
179
- }
180
- },
181
- "getRelatedListsInfo": {
182
- "prime": {
183
- "importPath": "lightning/unstable_uiRelatedListApi",
184
- "identifier": "unstable_getRelatedListsInfo_imperative"
185
- }
186
- },
187
- "getRelatedListInfo": {
188
- "prime": {
189
- "importPath": "lightning/unstable_uiRelatedListApi",
190
- "identifier": "unstable_getRelatedListInfo_imperative"
191
- },
192
- "batch": {
193
- "prime": {
194
- "importPath": "lightning/unstable_uiRelatedListApi",
195
- "identifier": "unstable_getRelatedListInfoBatch_imperative"
196
- },
197
- "reducer": {
198
- "importPath": "laf/batchingPortable",
199
- "identifier": "RelatedListInfoBatchReducer"
200
- }
201
- }
202
- },
203
- "getRelatedListRecordsBatch": {
204
- "prime": {
205
- "importPath": "lightning/unstable_uiRelatedListApi",
206
- "identifier": "unstable_getRelatedListRecordsBatch_imperative"
207
- }
208
- },
209
- "getRelatedListRecords": {
210
- "prime": {
211
- "importPath": "lightning/unstable_uiRelatedListApi",
212
- "identifier": "unstable_getRelatedListRecords_imperative"
213
- },
214
- "batch": {
215
- "prime": {
216
- "importPath": "lightning/unstable_uiRelatedListApi",
217
- "identifier": "unstable_getRelatedListRecordsBatch_imperative"
218
- },
219
- "reducer": {
220
- "importPath": "laf/batchingPortable",
221
- "identifier": "RelatedListRecordsBatchReducer"
222
- }
223
- }
224
- }
225
- },
226
- "lightning/unstable_uiRelatedListApi": {
227
- "unstable_getRelatedListInfoBatch": {
228
- "prime": {
229
- "importPath": "lightning/unstable_uiRelatedListApi",
230
- "identifier": "unstable_getRelatedListInfoBatch_imperative"
231
- }
232
- },
233
- "unstable_getRelatedListRecordsBatch": {
234
- "prime": {
235
- "importPath": "lightning/unstable_uiRelatedListApi",
236
- "identifier": "unstable_getRelatedListRecordsBatch_imperative"
237
- }
238
- }
239
- },
240
- "lightning/uiSearchApi": {
241
- "getSearchFilterOptions": {
242
- "prime": {
243
- "importPath": "lightning/unstable_uiSearchApi",
244
- "identifier": "unstable_getSearchFilterOptions_imperative"
245
- }
246
- },
247
- "getSearchResults": {
248
- "prime": {
249
- "importPath": "lightning/unstable_uiSearchApi",
250
- "identifier": "unstable_getSearchResults_imperative"
251
- }
252
- },
253
- "getKeywordSearchResults": {
254
- "prime": {
255
- "importPath": "lightning/unstable_uiSearchApi",
256
- "identifier": "unstable_getKeywordSearchResults_imperative"
257
- }
258
- }
259
- },
260
- "lightning/unstable_uiSearchApi": {
261
- "unstable_getSearchFilterOptions": {
262
- "prime": {
263
- "importPath": "lightning/unstable_uiSearchApi",
264
- "identifier": "unstable_getSearchFilterOptions_imperative"
265
- }
266
- },
267
- "unstable_getSearchResults": {
268
- "prime": {
269
- "importPath": "lightning/unstable_uiSearchApi",
270
- "identifier": "unstable_getSearchResults_imperative"
271
- }
272
- },
273
- "unstable_getKeywordSearchResults": {
274
- "prime": {
275
- "importPath": "lightning/unstable_uiSearchApi",
276
- "identifier": "unstable_getKeywordSearchResults_imperative"
277
- }
278
- }
279
- },
280
- "lightning/unstable_uiGraphQLApi": {
281
- "graphQL": {
282
- "prime": {
283
- "importPath": "lightning/unstable_uiGraphQLApi",
284
- "identifier": "unstable_graphQL_imperative"
285
- }
286
- }
287
- }
288
- }