@effect/language-service 0.84.1 → 0.84.2

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.
@@ -3122,10 +3122,42 @@ function makeTypeCheckerUtils(ts, typeChecker, tsUtils) {
3122
3122
  if (node.parent && ts.isJsxOpeningElement(node.parent) && node.parent.tagName === node) return;
3123
3123
  if (node.parent && ts.isJsxClosingElement(node.parent) && node.parent.tagName === node) return;
3124
3124
  if (node.parent && ts.isJsxAttribute(node.parent) && node.parent.name === node) return;
3125
+ if (isInsideTypeOnlyHeritageExpression(node)) return;
3125
3126
  if (ts.isExpression(node) || ts.isTypeNode(node)) {
3126
3127
  return typeChecker.getTypeAtLocation(node);
3127
3128
  }
3128
3129
  }
3130
+ function isInsideTypeOnlyHeritageExpression(node) {
3131
+ if (ts.isExpressionWithTypeArguments(node)) {
3132
+ return isTypeOnlyHeritageClause(node.parent);
3133
+ }
3134
+ if (!ts.isIdentifier(node) && !ts.isPropertyAccessExpression(node)) {
3135
+ return false;
3136
+ }
3137
+ for (let current = node.parent; current; current = current.parent) {
3138
+ if (ts.isPropertyAccessExpression(current)) {
3139
+ continue;
3140
+ }
3141
+ if (ts.isExpressionWithTypeArguments(current)) {
3142
+ return isTypeOnlyHeritageClause(current.parent);
3143
+ }
3144
+ return false;
3145
+ }
3146
+ return false;
3147
+ }
3148
+ function isTypeOnlyHeritageClause(node) {
3149
+ if (!node || !ts.isHeritageClause(node)) {
3150
+ return false;
3151
+ }
3152
+ const container = node.parent;
3153
+ if (!container) {
3154
+ return false;
3155
+ }
3156
+ if (ts.isInterfaceDeclaration(container)) {
3157
+ return true;
3158
+ }
3159
+ return ts.isClassLike(container) && node.token === ts.SyntaxKind.ImplementsKeyword;
3160
+ }
3129
3161
  function resolveToGlobalSymbol(symbol3) {
3130
3162
  if (symbol3.flags & ts.SymbolFlags.Alias) {
3131
3163
  symbol3 = typeChecker.getAliasedSymbol(symbol3);