lwc-convert 1.0.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.
Files changed (117) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +719 -0
  3. package/dist/cli/commands/aura.d.ts +6 -0
  4. package/dist/cli/commands/aura.d.ts.map +1 -0
  5. package/dist/cli/commands/aura.js +225 -0
  6. package/dist/cli/commands/aura.js.map +1 -0
  7. package/dist/cli/commands/vf.d.ts +6 -0
  8. package/dist/cli/commands/vf.d.ts.map +1 -0
  9. package/dist/cli/commands/vf.js +218 -0
  10. package/dist/cli/commands/vf.js.map +1 -0
  11. package/dist/cli/interactive.d.ts +20 -0
  12. package/dist/cli/interactive.d.ts.map +1 -0
  13. package/dist/cli/interactive.js +577 -0
  14. package/dist/cli/interactive.js.map +1 -0
  15. package/dist/cli/options.d.ts +21 -0
  16. package/dist/cli/options.d.ts.map +1 -0
  17. package/dist/cli/options.js +24 -0
  18. package/dist/cli/options.js.map +1 -0
  19. package/dist/generators/full-conversion.d.ts +41 -0
  20. package/dist/generators/full-conversion.d.ts.map +1 -0
  21. package/dist/generators/full-conversion.js +538 -0
  22. package/dist/generators/full-conversion.js.map +1 -0
  23. package/dist/generators/scaffolding.d.ts +40 -0
  24. package/dist/generators/scaffolding.d.ts.map +1 -0
  25. package/dist/generators/scaffolding.js +716 -0
  26. package/dist/generators/scaffolding.js.map +1 -0
  27. package/dist/generators/test-comparison.d.ts +47 -0
  28. package/dist/generators/test-comparison.d.ts.map +1 -0
  29. package/dist/generators/test-comparison.js +855 -0
  30. package/dist/generators/test-comparison.js.map +1 -0
  31. package/dist/generators/test-generator.d.ts +27 -0
  32. package/dist/generators/test-generator.d.ts.map +1 -0
  33. package/dist/generators/test-generator.js +385 -0
  34. package/dist/generators/test-generator.js.map +1 -0
  35. package/dist/index.d.ts +6 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +226 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/mappings/aura-to-lwc.json +321 -0
  40. package/dist/mappings/vf-to-lwc.json +354 -0
  41. package/dist/parsers/aura/controller-parser.d.ts +36 -0
  42. package/dist/parsers/aura/controller-parser.d.ts.map +1 -0
  43. package/dist/parsers/aura/controller-parser.js +269 -0
  44. package/dist/parsers/aura/controller-parser.js.map +1 -0
  45. package/dist/parsers/aura/helper-parser.d.ts +21 -0
  46. package/dist/parsers/aura/helper-parser.d.ts.map +1 -0
  47. package/dist/parsers/aura/helper-parser.js +173 -0
  48. package/dist/parsers/aura/helper-parser.js.map +1 -0
  49. package/dist/parsers/aura/markup-parser.d.ts +59 -0
  50. package/dist/parsers/aura/markup-parser.d.ts.map +1 -0
  51. package/dist/parsers/aura/markup-parser.js +279 -0
  52. package/dist/parsers/aura/markup-parser.js.map +1 -0
  53. package/dist/parsers/aura/style-parser.d.ts +37 -0
  54. package/dist/parsers/aura/style-parser.d.ts.map +1 -0
  55. package/dist/parsers/aura/style-parser.js +151 -0
  56. package/dist/parsers/aura/style-parser.js.map +1 -0
  57. package/dist/parsers/vf/apex-parser.d.ts +51 -0
  58. package/dist/parsers/vf/apex-parser.d.ts.map +1 -0
  59. package/dist/parsers/vf/apex-parser.js +251 -0
  60. package/dist/parsers/vf/apex-parser.js.map +1 -0
  61. package/dist/parsers/vf/page-parser.d.ts +61 -0
  62. package/dist/parsers/vf/page-parser.d.ts.map +1 -0
  63. package/dist/parsers/vf/page-parser.js +403 -0
  64. package/dist/parsers/vf/page-parser.js.map +1 -0
  65. package/dist/transformers/aura-to-lwc/controller.d.ts +36 -0
  66. package/dist/transformers/aura-to-lwc/controller.d.ts.map +1 -0
  67. package/dist/transformers/aura-to-lwc/controller.js +372 -0
  68. package/dist/transformers/aura-to-lwc/controller.js.map +1 -0
  69. package/dist/transformers/aura-to-lwc/events.d.ts +47 -0
  70. package/dist/transformers/aura-to-lwc/events.d.ts.map +1 -0
  71. package/dist/transformers/aura-to-lwc/events.js +262 -0
  72. package/dist/transformers/aura-to-lwc/events.js.map +1 -0
  73. package/dist/transformers/aura-to-lwc/markup.d.ts +51 -0
  74. package/dist/transformers/aura-to-lwc/markup.d.ts.map +1 -0
  75. package/dist/transformers/aura-to-lwc/markup.js +465 -0
  76. package/dist/transformers/aura-to-lwc/markup.js.map +1 -0
  77. package/dist/transformers/vf-to-lwc/components.d.ts +40 -0
  78. package/dist/transformers/vf-to-lwc/components.d.ts.map +1 -0
  79. package/dist/transformers/vf-to-lwc/components.js +374 -0
  80. package/dist/transformers/vf-to-lwc/components.js.map +1 -0
  81. package/dist/transformers/vf-to-lwc/data-binding.d.ts +53 -0
  82. package/dist/transformers/vf-to-lwc/data-binding.d.ts.map +1 -0
  83. package/dist/transformers/vf-to-lwc/data-binding.js +660 -0
  84. package/dist/transformers/vf-to-lwc/data-binding.js.map +1 -0
  85. package/dist/transformers/vf-to-lwc/markup.d.ts +44 -0
  86. package/dist/transformers/vf-to-lwc/markup.d.ts.map +1 -0
  87. package/dist/transformers/vf-to-lwc/markup.js +816 -0
  88. package/dist/transformers/vf-to-lwc/markup.js.map +1 -0
  89. package/dist/utils/confidence-scorer.d.ts +100 -0
  90. package/dist/utils/confidence-scorer.d.ts.map +1 -0
  91. package/dist/utils/confidence-scorer.js +358 -0
  92. package/dist/utils/confidence-scorer.js.map +1 -0
  93. package/dist/utils/file-io.d.ts +62 -0
  94. package/dist/utils/file-io.d.ts.map +1 -0
  95. package/dist/utils/file-io.js +248 -0
  96. package/dist/utils/file-io.js.map +1 -0
  97. package/dist/utils/logger.d.ts +34 -0
  98. package/dist/utils/logger.d.ts.map +1 -0
  99. package/dist/utils/logger.js +130 -0
  100. package/dist/utils/logger.js.map +1 -0
  101. package/dist/utils/open-folder.d.ts +9 -0
  102. package/dist/utils/open-folder.d.ts.map +1 -0
  103. package/dist/utils/open-folder.js +76 -0
  104. package/dist/utils/open-folder.js.map +1 -0
  105. package/dist/utils/path-resolver.d.ts +29 -0
  106. package/dist/utils/path-resolver.d.ts.map +1 -0
  107. package/dist/utils/path-resolver.js +240 -0
  108. package/dist/utils/path-resolver.js.map +1 -0
  109. package/dist/utils/session-store.d.ts +158 -0
  110. package/dist/utils/session-store.d.ts.map +1 -0
  111. package/dist/utils/session-store.js +518 -0
  112. package/dist/utils/session-store.js.map +1 -0
  113. package/dist/utils/vf-controller-resolver.d.ts +36 -0
  114. package/dist/utils/vf-controller-resolver.d.ts.map +1 -0
  115. package/dist/utils/vf-controller-resolver.js +162 -0
  116. package/dist/utils/vf-controller-resolver.js.map +1 -0
  117. package/package.json +81 -0
@@ -0,0 +1,374 @@
1
+ "use strict";
2
+ /**
3
+ * VF Component to LWC Component transformation utilities
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.convertFormField = convertFormField;
7
+ exports.suggestLwcComponents = suggestLwcComponents;
8
+ exports.generateDataTableColumns = generateDataTableColumns;
9
+ exports.generateFormHandler = generateFormHandler;
10
+ // import { logger } from '../../utils/logger';
11
+ const confidence_scorer_1 = require("../../utils/confidence-scorer");
12
+ /**
13
+ * Map of VF form components to LWC equivalents with code examples
14
+ */
15
+ const formComponentMappings = {
16
+ 'apex:inputtext': {
17
+ lwc: 'lightning-input',
18
+ codeGen: (attrs) => ({
19
+ vfField: { name: 'apex:inputText', attributes: attrs, children: [], location: {} },
20
+ lwcCode: `<lightning-input
21
+ type="text"
22
+ label="${attrs.label || 'Input'}"
23
+ value={${getPropertyName(attrs.value)}}
24
+ onchange={${getHandlerName(attrs.value)}}
25
+ ></lightning-input>`,
26
+ jsProperty: `${getPropertyName(attrs.value)} = '';`,
27
+ handlerCode: `${getHandlerName(attrs.value)}(event) {
28
+ this.${getPropertyName(attrs.value)} = event.target.value;
29
+ }`,
30
+ warnings: [],
31
+ }),
32
+ },
33
+ 'apex:inputtextarea': {
34
+ lwc: 'lightning-textarea',
35
+ codeGen: (attrs) => ({
36
+ vfField: { name: 'apex:inputTextarea', attributes: attrs, children: [], location: {} },
37
+ lwcCode: `<lightning-textarea
38
+ label="${attrs.label || 'Text Area'}"
39
+ value={${getPropertyName(attrs.value)}}
40
+ onchange={${getHandlerName(attrs.value)}}
41
+ ></lightning-textarea>`,
42
+ jsProperty: `${getPropertyName(attrs.value)} = '';`,
43
+ handlerCode: `${getHandlerName(attrs.value)}(event) {
44
+ this.${getPropertyName(attrs.value)} = event.target.value;
45
+ }`,
46
+ warnings: [],
47
+ }),
48
+ },
49
+ 'apex:inputcheckbox': {
50
+ lwc: 'lightning-input',
51
+ type: 'checkbox',
52
+ codeGen: (attrs) => ({
53
+ vfField: { name: 'apex:inputCheckbox', attributes: attrs, children: [], location: {} },
54
+ lwcCode: `<lightning-input
55
+ type="checkbox"
56
+ label="${attrs.label || 'Checkbox'}"
57
+ checked={${getPropertyName(attrs.value || attrs.selected)}}
58
+ onchange={${getHandlerName(attrs.value || attrs.selected)}}
59
+ ></lightning-input>`,
60
+ jsProperty: `${getPropertyName(attrs.value || attrs.selected)} = false;`,
61
+ handlerCode: `${getHandlerName(attrs.value || attrs.selected)}(event) {
62
+ this.${getPropertyName(attrs.value || attrs.selected)} = event.target.checked;
63
+ }`,
64
+ warnings: [],
65
+ }),
66
+ },
67
+ 'apex:selectlist': {
68
+ lwc: 'lightning-combobox',
69
+ codeGen: (attrs) => {
70
+ const isMultiple = attrs.multiselect === 'true';
71
+ return {
72
+ vfField: { name: 'apex:selectList', attributes: attrs, children: [], location: {} },
73
+ lwcCode: isMultiple
74
+ ? `<lightning-dual-listbox
75
+ label="${attrs.label || 'Select'}"
76
+ source-label="Available"
77
+ selected-label="Selected"
78
+ options={${getPropertyName(attrs.value)}Options}
79
+ value={${getPropertyName(attrs.value)}}
80
+ onchange={${getHandlerName(attrs.value)}}
81
+ ></lightning-dual-listbox>`
82
+ : `<lightning-combobox
83
+ label="${attrs.label || 'Select'}"
84
+ options={${getPropertyName(attrs.value)}Options}
85
+ value={${getPropertyName(attrs.value)}}
86
+ onchange={${getHandlerName(attrs.value)}}
87
+ ></lightning-combobox>`,
88
+ jsProperty: `${getPropertyName(attrs.value)} = '';
89
+ ${getPropertyName(attrs.value)}Options = []; // TODO: Populate with { label, value } objects`,
90
+ handlerCode: `${getHandlerName(attrs.value)}(event) {
91
+ this.${getPropertyName(attrs.value)} = event.detail.value;
92
+ }`,
93
+ warnings: isMultiple
94
+ ? ['Multi-select converted to lightning-dual-listbox']
95
+ : [],
96
+ };
97
+ },
98
+ },
99
+ 'apex:commandbutton': {
100
+ lwc: 'lightning-button',
101
+ codeGen: (attrs) => ({
102
+ vfField: { name: 'apex:commandButton', attributes: attrs, children: [], location: {} },
103
+ lwcCode: `<lightning-button
104
+ label="${attrs.value || 'Submit'}"
105
+ variant="${attrs.styleclass?.includes('btn-primary') ? 'brand' : 'neutral'}"
106
+ onclick={${getHandlerName(attrs.action)}}
107
+ ></lightning-button>`,
108
+ jsProperty: '',
109
+ handlerCode: `async ${getHandlerName(attrs.action)}() {
110
+ // TODO: Implement button action
111
+ // Original Apex action: ${attrs.action}
112
+ }`,
113
+ warnings: ['Button action needs conversion to imperative Apex call'],
114
+ }),
115
+ },
116
+ 'apex:outputtext': {
117
+ lwc: 'text-interpolation',
118
+ codeGen: (attrs) => ({
119
+ vfField: { name: 'apex:outputText', attributes: attrs, children: [], location: {} },
120
+ lwcCode: attrs.escape === 'false'
121
+ ? `<lightning-formatted-rich-text value={${getPropertyName(attrs.value)}}></lightning-formatted-rich-text>`
122
+ : `{${getPropertyName(attrs.value)}}`,
123
+ jsProperty: `${getPropertyName(attrs.value)} = '';`,
124
+ warnings: attrs.escape === 'false'
125
+ ? ['Unescaped HTML output - verify XSS safety']
126
+ : [],
127
+ }),
128
+ },
129
+ 'apex:outputfield': {
130
+ lwc: 'lightning-output-field',
131
+ codeGen: (attrs) => ({
132
+ vfField: { name: 'apex:outputField', attributes: attrs, children: [], location: {} },
133
+ lwcCode: `<lightning-output-field field-name="${getFieldName(attrs.value)}"></lightning-output-field>`,
134
+ jsProperty: '',
135
+ warnings: ['Must be inside lightning-record-view-form or lightning-record-form'],
136
+ }),
137
+ },
138
+ 'apex:inputfield': {
139
+ lwc: 'lightning-input-field',
140
+ codeGen: (attrs) => ({
141
+ vfField: { name: 'apex:inputField', attributes: attrs, children: [], location: {} },
142
+ lwcCode: `<lightning-input-field field-name="${getFieldName(attrs.value)}"></lightning-input-field>`,
143
+ jsProperty: '',
144
+ warnings: ['Must be inside lightning-record-edit-form'],
145
+ }),
146
+ },
147
+ };
148
+ /**
149
+ * Extract property name from VF expression
150
+ */
151
+ function getPropertyName(vfExpr = '') {
152
+ // {!record.Name} -> recordName
153
+ // {!accountName} -> accountName
154
+ const cleaned = vfExpr.replace(/\{!|\}/g, '');
155
+ if (cleaned.includes('.')) {
156
+ const parts = cleaned.split('.');
157
+ return parts.map((p, i) => (i === 0 ? p.toLowerCase() : capitalize(p))).join('');
158
+ }
159
+ return cleaned || 'value';
160
+ }
161
+ /**
162
+ * Extract field API name from VF expression
163
+ */
164
+ function getFieldName(vfExpr = '') {
165
+ const cleaned = vfExpr.replace(/\{!|\}/g, '');
166
+ if (cleaned.includes('.')) {
167
+ const parts = cleaned.split('.');
168
+ return parts[parts.length - 1];
169
+ }
170
+ return cleaned;
171
+ }
172
+ /**
173
+ * Generate handler method name
174
+ */
175
+ function getHandlerName(vfExpr = '') {
176
+ const propName = getPropertyName(vfExpr);
177
+ return `handle${capitalize(propName)}Change`;
178
+ }
179
+ /**
180
+ * Capitalize first letter
181
+ */
182
+ function capitalize(str) {
183
+ return str.charAt(0).toUpperCase() + str.slice(1);
184
+ }
185
+ /**
186
+ * Convert a VF form field component to LWC
187
+ */
188
+ function convertFormField(component) {
189
+ const compType = component.name.toLowerCase();
190
+ if (formComponentMappings[compType]) {
191
+ return formComponentMappings[compType].codeGen(component.attributes);
192
+ }
193
+ // Generic fallback
194
+ return {
195
+ vfField: component,
196
+ lwcCode: `<!-- TODO: Convert ${component.name} manually -->`,
197
+ jsProperty: '',
198
+ warnings: [`No automatic conversion available for ${component.name}`],
199
+ };
200
+ }
201
+ /**
202
+ * Suggest LWC components for VF components
203
+ */
204
+ function suggestLwcComponents(vfComponents) {
205
+ const suggestions = [];
206
+ for (const comp of vfComponents) {
207
+ const compType = comp.name.toLowerCase();
208
+ if (formComponentMappings[compType]) {
209
+ const mapping = formComponentMappings[compType];
210
+ const { score, reason } = (0, confidence_scorer_1.getComponentConfidence)(compType);
211
+ suggestions.push({
212
+ vfComponent: comp.name,
213
+ lwcComponent: mapping.lwc,
214
+ confidence: (0, confidence_scorer_1.getConfidenceLevel)(score),
215
+ confidenceScore: score,
216
+ confidenceFactors: [reason],
217
+ notes: `Direct mapping available`,
218
+ codeExample: mapping.codeGen(comp.attributes).lwcCode,
219
+ });
220
+ }
221
+ else if (compType.startsWith('apex:pageblock')) {
222
+ const { score, reason } = (0, confidence_scorer_1.getComponentConfidence)(compType);
223
+ suggestions.push({
224
+ vfComponent: comp.name,
225
+ lwcComponent: 'lightning-card',
226
+ confidence: (0, confidence_scorer_1.getConfidenceLevel)(score),
227
+ confidenceScore: score,
228
+ confidenceFactors: [reason],
229
+ notes: 'Page blocks can be replaced with lightning-card for similar visual grouping',
230
+ });
231
+ }
232
+ else if (compType === 'apex:detail') {
233
+ const { score, reason } = (0, confidence_scorer_1.getComponentConfidence)(compType);
234
+ suggestions.push({
235
+ vfComponent: comp.name,
236
+ lwcComponent: 'lightning-record-form',
237
+ confidence: (0, confidence_scorer_1.getConfidenceLevel)(score),
238
+ confidenceScore: score,
239
+ confidenceFactors: [reason],
240
+ notes: 'Use lightning-record-form with mode="view" or "edit"',
241
+ codeExample: `<lightning-record-form
242
+ record-id={recordId}
243
+ object-api-name="Account"
244
+ layout-type="Full"
245
+ mode="view">
246
+ </lightning-record-form>`,
247
+ });
248
+ }
249
+ else if (compType === 'apex:relatedlist') {
250
+ const { score, reason } = (0, confidence_scorer_1.getComponentConfidence)(compType);
251
+ suggestions.push({
252
+ vfComponent: comp.name,
253
+ lwcComponent: 'lightning-related-list-view',
254
+ confidence: (0, confidence_scorer_1.getConfidenceLevel)(score),
255
+ confidenceScore: score,
256
+ confidenceFactors: [reason],
257
+ notes: 'Direct LWC equivalent available',
258
+ codeExample: `<lightning-related-list-view
259
+ related-list-id="Contacts"
260
+ record-id={recordId}>
261
+ </lightning-related-list-view>`,
262
+ });
263
+ }
264
+ else if (compType === 'apex:iframe') {
265
+ const { score, reason } = (0, confidence_scorer_1.getComponentConfidence)(compType);
266
+ suggestions.push({
267
+ vfComponent: comp.name,
268
+ lwcComponent: 'iframe',
269
+ confidence: (0, confidence_scorer_1.getConfidenceLevel)(score),
270
+ confidenceScore: score,
271
+ confidenceFactors: [reason],
272
+ notes: 'Standard iframe works in LWC, but check CSP restrictions',
273
+ });
274
+ }
275
+ else if (compType.startsWith('apex:')) {
276
+ const { score, reason } = (0, confidence_scorer_1.getComponentConfidence)(compType);
277
+ suggestions.push({
278
+ vfComponent: comp.name,
279
+ lwcComponent: 'custom-implementation',
280
+ confidence: (0, confidence_scorer_1.getConfidenceLevel)(score),
281
+ confidenceScore: score,
282
+ confidenceFactors: [reason],
283
+ notes: 'No direct mapping - requires custom implementation',
284
+ });
285
+ }
286
+ }
287
+ return suggestions;
288
+ }
289
+ /**
290
+ * Generate lightning-datatable column definitions from VF pageBlockTable
291
+ */
292
+ function generateDataTableColumns(tableComponent) {
293
+ const warnings = [];
294
+ const columns = [];
295
+ for (const child of tableComponent.children) {
296
+ if (child.name.toLowerCase() === 'apex:column') {
297
+ const label = child.attributes.headerlabel ||
298
+ child.attributes.headervalue ||
299
+ child.attributes.value?.replace(/\{!|\}/g, '').split('.').pop() ||
300
+ 'Column';
301
+ const value = child.attributes.value || '';
302
+ const varName = tableComponent.attributes.var || 'item';
303
+ let fieldName = value.replace(/\{!|\}/g, '').replace(`${varName}.`, '');
304
+ // Handle action columns
305
+ if (child.children.some((c) => c.name.toLowerCase().includes('command'))) {
306
+ columns.push({
307
+ label,
308
+ fieldName,
309
+ type: 'action',
310
+ });
311
+ warnings.push(`Column with actions detected - implement row actions`);
312
+ }
313
+ else if (child.children.some((c) => c.name.toLowerCase().includes('link'))) {
314
+ columns.push({
315
+ label,
316
+ fieldName,
317
+ type: 'url',
318
+ });
319
+ }
320
+ else {
321
+ columns.push({
322
+ label,
323
+ fieldName,
324
+ });
325
+ }
326
+ }
327
+ }
328
+ const columnsCode = `columns = [
329
+ ${columns.map((col) => ` { label: '${col.label}', fieldName: '${col.fieldName}'${col.type ? `, type: '${col.type}'` : ''} }`).join(',\n')}
330
+ ];`;
331
+ return { columns: columnsCode, warnings };
332
+ }
333
+ /**
334
+ * Generate form submit handler for VF form conversion
335
+ */
336
+ function generateFormHandler(formComponent, _apexAction) {
337
+ const fields = formComponent.children.filter((c) => c.name.toLowerCase().includes('input') ||
338
+ c.name.toLowerCase().includes('select'));
339
+ const fieldAssignments = fields
340
+ .map((f) => {
341
+ const propName = getPropertyName(f.attributes.value);
342
+ return ` ${propName}: this.${propName}`;
343
+ })
344
+ .join(',\n');
345
+ return `async handleSubmit(event) {
346
+ event.preventDefault();
347
+
348
+ try {
349
+ const formData = {
350
+ ${fieldAssignments}
351
+ };
352
+
353
+ // TODO: Call Apex method
354
+ // const result = await saveRecord({ data: formData });
355
+
356
+ this.dispatchEvent(
357
+ new ShowToastEvent({
358
+ title: 'Success',
359
+ message: 'Record saved successfully',
360
+ variant: 'success'
361
+ })
362
+ );
363
+ } catch (error) {
364
+ this.dispatchEvent(
365
+ new ShowToastEvent({
366
+ title: 'Error',
367
+ message: error.body?.message || 'An error occurred',
368
+ variant: 'error'
369
+ })
370
+ );
371
+ }
372
+ }`;
373
+ }
374
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/transformers/vf-to-lwc/components.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Transform VF data binding patterns to LWC patterns
3
+ */
4
+ import { ParsedVfPage, VfExpression } from '../../parsers/vf/page-parser';
5
+ import { ParsedApexController, ApexProperty, ApexMethod } from '../../parsers/vf/apex-parser';
6
+ export interface DataBindingTransformation {
7
+ vfExpression: string;
8
+ lwcPattern: 'wire' | 'imperative' | 'property' | 'getter' | 'import';
9
+ code: string;
10
+ imports: string[];
11
+ warnings: string[];
12
+ }
13
+ export interface ControllerPropertyConversion {
14
+ property: ApexProperty;
15
+ lwcCode: string;
16
+ isWireCandidate: boolean;
17
+ warnings: string[];
18
+ }
19
+ export interface ControllerMethodConversion {
20
+ method: ApexMethod;
21
+ lwcCode: string;
22
+ importStatement: string;
23
+ isWireCandidate: boolean;
24
+ warnings: string[];
25
+ }
26
+ export interface LmsSubscriptionBinding {
27
+ channelName: string;
28
+ actionFunctionName: string;
29
+ messageProperty: string;
30
+ }
31
+ /**
32
+ * Convert VF global variable expression to LWC
33
+ */
34
+ export declare function convertGlobalVariable(expression: VfExpression, lmsBinding?: LmsSubscriptionBinding): DataBindingTransformation;
35
+ /**
36
+ * Convert Apex controller property to LWC
37
+ */
38
+ export declare function convertControllerProperty(property: ApexProperty, controllerName: string): ControllerPropertyConversion;
39
+ /**
40
+ * Convert Apex controller method to LWC
41
+ */
42
+ export declare function convertControllerMethod(method: ApexMethod, controllerName: string): ControllerMethodConversion;
43
+ /**
44
+ * Generate complete data access layer for VF page
45
+ */
46
+ export declare function generateDataAccessLayer(vfPage: ParsedVfPage, apexController?: ParsedApexController): {
47
+ imports: string[];
48
+ properties: string[];
49
+ methods: string[];
50
+ wireDeclarations: string[];
51
+ warnings: string[];
52
+ };
53
+ //# sourceMappingURL=data-binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-binding.d.ts","sourceRoot":"","sources":["../../../src/transformers/vf-to-lwc/data-binding.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoB,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG9F,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;CACzB;AAwHD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,YAAY,EACxB,UAAU,CAAC,EAAE,sBAAsB,GAClC,yBAAyB,CAuM3B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,MAAM,GACrB,4BAA4B,CAwC9B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,MAAM,GACrB,0BAA0B,CAyE5B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,YAAY,EACpB,cAAc,CAAC,EAAE,oBAAoB,GACpC;IACD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAkMA"}