Mirror: TypeScript LSP plugin that finds GraphQL documents in your code and provides diagnostics, auto-complete and hover-information.

fix(graphqlsp): Fix unexpected `undefined` when checking persisted call (#337)

Changed files
+9 -2
.changeset
packages
graphqlsp
src
ast
+5
.changeset/silent-falcons-explode.md
···
+
---
+
'@0no-co/graphqlsp': patch
+
---
+
+
Fix unexpected case of persisted calls resolving to `undefined` AST nodes.
+4 -2
packages/graphqlsp/src/ast/checks.ts
···
/** Checks if node is a gql.tada graphql.persisted() call */
export const isTadaPersistedCall = (
-
node: ts.Node,
+
node: ts.Node | undefined,
checker: ts.TypeChecker | undefined
): node is ts.CallExpression => {
-
if (!ts.isCallExpression(node)) {
+
if (!node) {
+
return false;
+
} else if (!ts.isCallExpression(node)) {
return false;
} else if (!ts.isPropertyAccessExpression(node.expression)) {
return false; // rejecting non property access calls: <expression>.<name>()