@effect/language-service 0.51.0 → 0.51.1
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/index.js +22 -6
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -13935,11 +13935,20 @@ var extractLayerGraph = fn("extractLayerGraph")(function* (node, opts) {
|
|
|
13935
13935
|
});
|
|
13936
13936
|
var formatLayerGraph = fn("formatLayerGraph")(function* (layerGraph) {
|
|
13937
13937
|
const tsUtils = yield* service(TypeScriptUtils);
|
|
13938
|
+
const typeChecker = yield* service(TypeCheckerApi);
|
|
13939
|
+
const ts = yield* service(TypeScriptApi);
|
|
13938
13940
|
return toMermaid(layerGraph, {
|
|
13939
13941
|
edgeLabel: (edge) => JSON.stringify(edge),
|
|
13940
13942
|
nodeLabel: (graphNode) => {
|
|
13941
13943
|
const sourceFile = tsUtils.getSourceFileOfNode(graphNode.node);
|
|
13942
|
-
|
|
13944
|
+
let text = sourceFile.text.substring(graphNode.node.pos, graphNode.node.end).trim();
|
|
13945
|
+
text += "\nprovides: " + graphNode.provides.map((_) => typeChecker.typeToString(_, void 0, ts.TypeFormatFlags.NoTruncation)).join(
|
|
13946
|
+
", "
|
|
13947
|
+
);
|
|
13948
|
+
text += "\nrequires: " + graphNode.requires.map((_) => typeChecker.typeToString(_, void 0, ts.TypeFormatFlags.NoTruncation)).join(
|
|
13949
|
+
", "
|
|
13950
|
+
);
|
|
13951
|
+
return text;
|
|
13943
13952
|
}
|
|
13944
13953
|
});
|
|
13945
13954
|
});
|
|
@@ -14020,7 +14029,7 @@ var formatNestedLayerGraph = fn("formatNestedLayerGraph")(function* (layerGraph)
|
|
|
14020
14029
|
var extractOutlineGraph = fn("extractOutlineGraph")(function* (layerGraph) {
|
|
14021
14030
|
const typeChecker = yield* service(TypeCheckerApi);
|
|
14022
14031
|
const mutableGraph = beginMutation3(directed());
|
|
14023
|
-
const providers = /* @__PURE__ */ new
|
|
14032
|
+
const providers = /* @__PURE__ */ new Map();
|
|
14024
14033
|
const knownSymbols = /* @__PURE__ */ new WeakSet();
|
|
14025
14034
|
const leafNodes = values2(externals(layerGraph, { direction: "outgoing" }));
|
|
14026
14035
|
const dedupedLeafNodes = [];
|
|
@@ -14047,8 +14056,12 @@ var extractOutlineGraph = fn("extractOutlineGraph")(function* (layerGraph) {
|
|
|
14047
14056
|
}
|
|
14048
14057
|
for (const [nodeIndex, nodeInfo] of entries(nodes(mutableGraph))) {
|
|
14049
14058
|
for (const requiredType of nodeInfo.requires) {
|
|
14050
|
-
for (const
|
|
14051
|
-
|
|
14059
|
+
for (const [providedType, providerNodeIndexes] of providers.entries()) {
|
|
14060
|
+
if (requiredType === providedType || typeChecker.isTypeAssignableTo(requiredType, providedType)) {
|
|
14061
|
+
for (const providerNodeIndex of providerNodeIndexes) {
|
|
14062
|
+
addEdge(mutableGraph, nodeIndex, providerNodeIndex, {});
|
|
14063
|
+
}
|
|
14064
|
+
}
|
|
14052
14065
|
}
|
|
14053
14066
|
}
|
|
14054
14067
|
}
|
|
@@ -14135,7 +14148,8 @@ var walkLeavesMatching = (graph, predicate, config = {}) => {
|
|
|
14135
14148
|
var extractProvidersAndRequirers = fn("extractProvidersAndRequirers")(
|
|
14136
14149
|
function* (layerGraph) {
|
|
14137
14150
|
const typeCheckerUtils = yield* service(TypeCheckerUtils);
|
|
14138
|
-
const
|
|
14151
|
+
const typeChecker = yield* service(TypeCheckerApi);
|
|
14152
|
+
const rootWalker = externals(layerGraph, { direction: "incoming" });
|
|
14139
14153
|
const rootNodes = fromIterable(values2(rootWalker));
|
|
14140
14154
|
const rootNodeIndexes = fromIterable(indices(rootWalker));
|
|
14141
14155
|
const result = [];
|
|
@@ -14146,7 +14160,9 @@ var extractProvidersAndRequirers = fn("extractProvidersAndRequirers")(
|
|
|
14146
14160
|
for (const layerNode of values2(
|
|
14147
14161
|
walkLeavesMatching(
|
|
14148
14162
|
layerGraph,
|
|
14149
|
-
(_) => (kind === "provided" ? _.provides : _.requires).
|
|
14163
|
+
(_) => (kind === "provided" ? _.provides : _.requires).some(
|
|
14164
|
+
(_2) => _2 === layerType || typeChecker.isTypeAssignableTo(_2, layerType)
|
|
14165
|
+
),
|
|
14150
14166
|
{ start: rootNodeIndexes }
|
|
14151
14167
|
)
|
|
14152
14168
|
)) {
|