Skip to content

Commit a85e320

Browse files
committed
Add program link handling logic to linkOverrides
Introduce a helper function to handle program links in `definedTypeLinkNode`. This ensures program links are resolved correctly while preserving existing fallback behavior. TODO note added to evaluate and apply consistency across all similar node types.
1 parent 7088693 commit a85e320

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

packages/renderers-js/src/utils/linkOverrides.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,20 @@ export function getImportFromFactory(
4949
resolvers: overrides.resolvers ?? {},
5050
};
5151

52+
// todo: figure out if this logic makes sense, and if so apply to all the other 'ProgramNode-able" nodes
53+
const handleProgramLink = (node?: ProgramLinkNode): string | undefined => {
54+
if (!node) return;
55+
const programName = node.name;
56+
return linkOverrides.programs[programName];
57+
};
58+
5259
return (node: OverridableNodes) => {
5360
const kind = node.kind;
5461
switch (kind) {
5562
case 'accountLinkNode':
5663
return linkOverrides.accounts[node.name] ?? 'generatedAccounts';
5764
case 'definedTypeLinkNode':
58-
return linkOverrides.definedTypes[node.name] ?? 'generatedTypes';
65+
return handleProgramLink(node.program) ?? linkOverrides.definedTypes[node.name] ?? 'generatedTypes';
5966
case 'instructionLinkNode':
6067
return linkOverrides.instructions[node.name] ?? 'generatedInstructions';
6168
case 'pdaLinkNode':

0 commit comments

Comments
 (0)