@effect/language-service 0.58.2 → 0.58.4
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.
- package/cli.js +18 -11
- package/cli.js.map +1 -1
- package/effect-lsp-patch-utils.js +18 -11
- package/effect-lsp-patch-utils.js.map +1 -1
- package/index.js +24 -22
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/transform.js +18 -11
- package/transform.js.map +1 -1
package/package.json
CHANGED
package/transform.js
CHANGED
|
@@ -1798,6 +1798,9 @@ function makeTypeScriptUtils(ts) {
|
|
|
1798
1798
|
}
|
|
1799
1799
|
return node;
|
|
1800
1800
|
}
|
|
1801
|
+
function isDeclarationKind(kind) {
|
|
1802
|
+
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;
|
|
1803
|
+
}
|
|
1801
1804
|
return {
|
|
1802
1805
|
findNodeAtPositionIncludingTrivia,
|
|
1803
1806
|
parsePackageContentNameAndVersionFromScope,
|
|
@@ -1820,7 +1823,8 @@ function makeTypeScriptUtils(ts) {
|
|
|
1820
1823
|
parseAccessedExpressionForCompletion,
|
|
1821
1824
|
getSourceFileOfNode,
|
|
1822
1825
|
isOuterExpression,
|
|
1823
|
-
skipOuterExpressions
|
|
1826
|
+
skipOuterExpressions,
|
|
1827
|
+
isDeclarationKind
|
|
1824
1828
|
};
|
|
1825
1829
|
}
|
|
1826
1830
|
|
|
@@ -2572,7 +2576,16 @@ function make2(ts, tsUtils, typeChecker, typeCheckerUtils, program) {
|
|
|
2572
2576
|
const moduleSymbol = typeChecker.getSymbolAtLocation(sourceFile);
|
|
2573
2577
|
if (!moduleSymbol) continue;
|
|
2574
2578
|
const memberSymbol = typeChecker.tryGetMemberInModuleExports(memberName, moduleSymbol);
|
|
2575
|
-
if (memberSymbol
|
|
2579
|
+
if (memberSymbol) {
|
|
2580
|
+
if (memberSymbol === symbol3) {
|
|
2581
|
+
result.push({ memberSymbol, moduleSymbol, sourceFile });
|
|
2582
|
+
} else if (memberSymbol.flags & ts.SymbolFlags.Alias) {
|
|
2583
|
+
const aliased = typeChecker.getAliasedSymbol(memberSymbol);
|
|
2584
|
+
if (aliased === symbol3) {
|
|
2585
|
+
result.push({ memberSymbol, moduleSymbol, sourceFile });
|
|
2586
|
+
}
|
|
2587
|
+
}
|
|
2588
|
+
}
|
|
2576
2589
|
}
|
|
2577
2590
|
if (result.length > 0) {
|
|
2578
2591
|
return result;
|
|
@@ -5585,18 +5598,12 @@ var annotate = createCodegen({
|
|
|
5585
5598
|
for (const variableDeclaration of variableDeclarations) {
|
|
5586
5599
|
if (!variableDeclaration.initializer) continue;
|
|
5587
5600
|
const initializerType = typeChecker.getTypeAtLocation(variableDeclaration.initializer);
|
|
5601
|
+
const enclosingNode = ts.findAncestor(variableDeclaration, (_) => tsUtils.isDeclarationKind(_.kind)) || sourceFile;
|
|
5588
5602
|
const initializerTypeNode = fromNullable(typeCheckerUtils.typeToSimplifiedTypeNode(
|
|
5589
5603
|
initializerType,
|
|
5590
|
-
|
|
5591
|
-
ts.NodeBuilderFlags.NoTruncation
|
|
5604
|
+
enclosingNode,
|
|
5605
|
+
ts.NodeBuilderFlags.NoTruncation | ts.NodeBuilderFlags.IgnoreErrors
|
|
5592
5606
|
)).pipe(
|
|
5593
|
-
orElse(
|
|
5594
|
-
() => fromNullable(typeCheckerUtils.typeToSimplifiedTypeNode(
|
|
5595
|
-
initializerType,
|
|
5596
|
-
void 0,
|
|
5597
|
-
ts.NodeBuilderFlags.NoTruncation
|
|
5598
|
-
))
|
|
5599
|
-
),
|
|
5600
5607
|
getOrUndefined
|
|
5601
5608
|
);
|
|
5602
5609
|
if (!initializerTypeNode) continue;
|