@effect/language-service 0.47.3 → 0.48.0
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/README.md +4 -0
- package/cli.js +12 -7
- package/cli.js.map +1 -1
- package/effect-lsp-patch-utils.js +12 -7
- package/effect-lsp-patch-utils.js.map +1 -1
- package/index.js +78 -76
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/transform.js +12 -7
- package/transform.js.map +1 -1
|
@@ -1205,7 +1205,7 @@ function parseKeyPatterns(patterns) {
|
|
|
1205
1205
|
if (!isObject(entry)) continue;
|
|
1206
1206
|
result.push({
|
|
1207
1207
|
target: hasProperty(entry, "target") && isString(entry.target) && ["service", "error", "custom"].includes(entry.target.toLowerCase()) ? entry.target.toLowerCase() : "service",
|
|
1208
|
-
pattern: hasProperty(entry, "pattern") && isString(entry.pattern) && ["package-identifier", "default"].includes(entry.pattern.toLowerCase()) ? entry.pattern.toLowerCase() : "default",
|
|
1208
|
+
pattern: hasProperty(entry, "pattern") && isString(entry.pattern) && ["package-identifier", "default", "default-hashed"].includes(entry.pattern.toLowerCase()) ? entry.pattern.toLowerCase() : "default",
|
|
1209
1209
|
skipLeadingPath: hasProperty(entry, "skipLeadingPath") && isArray(entry.skipLeadingPath) && entry.skipLeadingPath.every(isString) ? entry.skipLeadingPath : ["src/"]
|
|
1210
1210
|
});
|
|
1211
1211
|
}
|
|
@@ -2361,17 +2361,21 @@ function makeTypeCheckerUtils(ts, typeChecker, tsUtils) {
|
|
|
2361
2361
|
return result;
|
|
2362
2362
|
};
|
|
2363
2363
|
function typeToSimplifiedTypeNode(type, enclosingNode, flags) {
|
|
2364
|
+
return typeToSimplifiedTypeNodeWorker(type, enclosingNode, flags, 0);
|
|
2365
|
+
}
|
|
2366
|
+
function typeToSimplifiedTypeNodeWorker(type, enclosingNode, flags, depth) {
|
|
2364
2367
|
const fallbackStandard = () => {
|
|
2365
2368
|
const typeNode = typeChecker.typeToTypeNode(type, enclosingNode, flags);
|
|
2366
2369
|
if (!typeNode) return void 0;
|
|
2367
2370
|
return tsUtils.simplifyTypeNode(typeNode);
|
|
2368
2371
|
};
|
|
2372
|
+
if (depth > 20) return fallbackStandard();
|
|
2369
2373
|
const members = unrollUnionMembers(type);
|
|
2370
|
-
if (members.length > 1) {
|
|
2374
|
+
if (members.length > 1 && !(type.flags & ts.TypeFlags.Boolean)) {
|
|
2371
2375
|
const typeNodes = [];
|
|
2372
2376
|
members.sort(deterministicTypeOrder);
|
|
2373
2377
|
for (const member of members) {
|
|
2374
|
-
const memberNode =
|
|
2378
|
+
const memberNode = typeToSimplifiedTypeNodeWorker(member, enclosingNode, flags, depth + 1);
|
|
2375
2379
|
if (!memberNode) return fallbackStandard();
|
|
2376
2380
|
typeNodes.push(memberNode);
|
|
2377
2381
|
}
|
|
@@ -2381,7 +2385,7 @@ function makeTypeCheckerUtils(ts, typeChecker, tsUtils) {
|
|
|
2381
2385
|
const intersectionType = type;
|
|
2382
2386
|
const typeNodes = [];
|
|
2383
2387
|
for (const member of intersectionType.types) {
|
|
2384
|
-
const memberNode =
|
|
2388
|
+
const memberNode = typeToSimplifiedTypeNodeWorker(member, enclosingNode, flags, depth + 1);
|
|
2385
2389
|
if (!memberNode) return fallbackStandard();
|
|
2386
2390
|
typeNodes.push(memberNode);
|
|
2387
2391
|
}
|
|
@@ -2417,7 +2421,7 @@ function makeTypeCheckerUtils(ts, typeChecker, tsUtils) {
|
|
|
2417
2421
|
if (signatures.length !== 1) return standard2;
|
|
2418
2422
|
const returnType = typeChecker.getReturnTypeOfSignature(signatures[0]);
|
|
2419
2423
|
if (!returnType) return standard2;
|
|
2420
|
-
const returnTypeNode =
|
|
2424
|
+
const returnTypeNode = typeToSimplifiedTypeNodeWorker(returnType, enclosingNode, flags, depth + 1);
|
|
2421
2425
|
if (!returnTypeNode) return standard2;
|
|
2422
2426
|
return tsUtils.simplifyTypeNode(ts.factory.updateFunctionTypeNode(
|
|
2423
2427
|
standard2,
|
|
@@ -3616,7 +3620,8 @@ var makeKeyBuilder = fn("KeyBuilder")(
|
|
|
3616
3620
|
parts = parts.map((part) => part.startsWith("/") ? part.slice(1) : part).map(
|
|
3617
3621
|
(part) => part.endsWith("/") ? part.slice(0, -1) : part
|
|
3618
3622
|
);
|
|
3619
|
-
|
|
3623
|
+
const fullKey = parts.filter((_) => String(_).trim().length > 0).join("/");
|
|
3624
|
+
return keyPattern.pattern === "default-hashed" ? cyrb53(fullKey) : fullKey;
|
|
3620
3625
|
}
|
|
3621
3626
|
}
|
|
3622
3627
|
return {
|
|
@@ -5562,7 +5567,7 @@ var tryCatchInEffectGen = createDiagnostic({
|
|
|
5562
5567
|
while (nodeToVisit.length > 0) {
|
|
5563
5568
|
const node = nodeToVisit.shift();
|
|
5564
5569
|
ts.forEachChild(node, appendNodeToVisit);
|
|
5565
|
-
if (ts.isTryStatement(node)) {
|
|
5570
|
+
if (ts.isTryStatement(node) && node.catchClause) {
|
|
5566
5571
|
const generatorOrRegularFunction = ts.findAncestor(
|
|
5567
5572
|
node,
|
|
5568
5573
|
(_) => ts.isFunctionExpression(_) || ts.isFunctionDeclaration(_) || ts.isMethodDeclaration(_) || ts.isArrowFunction(_) || ts.isGetAccessor(_) || ts.isFunctionLike(_)
|