Skip to content

Commit d938e04

Browse files
authored
Add getOrThrow implementation (#39)
* Add getOrThrow implementation * Add changeset * Fix lint * Update LinkableDictionary.ts
1 parent a866462 commit d938e04

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

.changeset/afraid-experts-give.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@kinobi-so/visitors-core": patch
3+
---
4+
5+
Add missing getOrThrow implementation

packages/visitors-core/src/LinkableDictionary.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,17 @@ export class LinkableDictionary {
4949
getOrThrow(linkNode: AccountLinkNode): AccountNode;
5050
getOrThrow(linkNode: DefinedTypeLinkNode): DefinedTypeNode;
5151
getOrThrow(linkNode: LinkNode): LinkableNode {
52-
throw new KinobiError(KINOBI_ERROR__LINKED_NODE_NOT_FOUND, {
53-
kind: linkNode.kind,
54-
linkNode,
55-
name: linkNode.name,
56-
});
52+
const node = this.get(linkNode as ProgramLinkNode) as LinkableNode;
53+
54+
if (!node) {
55+
throw new KinobiError(KINOBI_ERROR__LINKED_NODE_NOT_FOUND, {
56+
kind: linkNode.kind,
57+
linkNode,
58+
name: linkNode.name,
59+
});
60+
}
61+
62+
return node;
5763
}
5864

5965
get(linkNode: ProgramLinkNode): ProgramNode | undefined;

0 commit comments

Comments
 (0)