@effect/language-service 0.58.2 → 0.58.3

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.
@@ -1797,6 +1797,9 @@ function makeTypeScriptUtils(ts) {
1797
1797
  }
1798
1798
  return node;
1799
1799
  }
1800
+ function isDeclarationKind(kind) {
1801
+ return kind === ts.SyntaxKind.ArrowFunction || kind === ts.SyntaxKind.BindingElement || kind === ts.SyntaxKind.ClassDeclaration || kind === ts.SyntaxKind.ClassExpression || kind === ts.SyntaxKind.ClassStaticBlockDeclaration || kind === ts.SyntaxKind.Constructor || kind === ts.SyntaxKind.EnumDeclaration || kind === ts.SyntaxKind.EnumMember || kind === ts.SyntaxKind.ExportSpecifier || kind === ts.SyntaxKind.FunctionDeclaration || kind === ts.SyntaxKind.FunctionExpression || kind === ts.SyntaxKind.GetAccessor || kind === ts.SyntaxKind.ImportClause || kind === ts.SyntaxKind.ImportEqualsDeclaration || kind === ts.SyntaxKind.ImportSpecifier || kind === ts.SyntaxKind.InterfaceDeclaration || kind === ts.SyntaxKind.JsxAttribute || kind === ts.SyntaxKind.MethodDeclaration || kind === ts.SyntaxKind.MethodSignature || kind === ts.SyntaxKind.ModuleDeclaration || kind === ts.SyntaxKind.NamespaceExportDeclaration || kind === ts.SyntaxKind.NamespaceImport || kind === ts.SyntaxKind.NamespaceExport || kind === ts.SyntaxKind.Parameter || kind === ts.SyntaxKind.PropertyAssignment || kind === ts.SyntaxKind.PropertyDeclaration || kind === ts.SyntaxKind.PropertySignature || kind === ts.SyntaxKind.SetAccessor || kind === ts.SyntaxKind.ShorthandPropertyAssignment || kind === ts.SyntaxKind.TypeAliasDeclaration || kind === ts.SyntaxKind.TypeParameter || kind === ts.SyntaxKind.VariableDeclaration || kind === ts.SyntaxKind.JSDocTypedefTag || kind === ts.SyntaxKind.JSDocCallbackTag || kind === ts.SyntaxKind.JSDocPropertyTag || kind === ts.SyntaxKind.NamedTupleMember;
1802
+ }
1800
1803
  return {
1801
1804
  findNodeAtPositionIncludingTrivia,
1802
1805
  parsePackageContentNameAndVersionFromScope,
@@ -1819,7 +1822,8 @@ function makeTypeScriptUtils(ts) {
1819
1822
  parseAccessedExpressionForCompletion,
1820
1823
  getSourceFileOfNode,
1821
1824
  isOuterExpression,
1822
- skipOuterExpressions
1825
+ skipOuterExpressions,
1826
+ isDeclarationKind
1823
1827
  };
1824
1828
  }
1825
1829
 
@@ -5589,18 +5593,12 @@ var annotate = createCodegen({
5589
5593
  for (const variableDeclaration of variableDeclarations) {
5590
5594
  if (!variableDeclaration.initializer) continue;
5591
5595
  const initializerType = typeChecker.getTypeAtLocation(variableDeclaration.initializer);
5596
+ const enclosingNode = ts.findAncestor(variableDeclaration, (_) => tsUtils.isDeclarationKind(_.kind)) || sourceFile;
5592
5597
  const initializerTypeNode = fromNullable(typeCheckerUtils.typeToSimplifiedTypeNode(
5593
5598
  initializerType,
5594
- node,
5599
+ enclosingNode,
5595
5600
  ts.NodeBuilderFlags.NoTruncation
5596
5601
  )).pipe(
5597
- orElse(
5598
- () => fromNullable(typeCheckerUtils.typeToSimplifiedTypeNode(
5599
- initializerType,
5600
- void 0,
5601
- ts.NodeBuilderFlags.NoTruncation
5602
- ))
5603
- ),
5604
5602
  getOrUndefined
5605
5603
  );
5606
5604
  if (!initializerTypeNode) continue;