@effect/language-service 0.31.0 → 0.31.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/language-service",
3
- "version": "0.31.0",
3
+ "version": "0.31.2",
4
4
  "description": "A Language-Service Plugin to Refactor and Diagnostic effect-ts projects",
5
5
  "main": "index.cjs",
6
6
  "bin": {
package/transform.js CHANGED
@@ -2920,6 +2920,7 @@ function make2(ts, tsUtils, typeChecker) {
2920
2920
  className: atLocation.name,
2921
2921
  selfTypeNode,
2922
2922
  args: wholeCall.arguments,
2923
+ options: wholeCall.arguments[1],
2923
2924
  accessors: accessors2,
2924
2925
  dependencies
2925
2926
  };
@@ -3666,7 +3667,7 @@ var missingEffectServiceDependency = createDiagnostic({
3666
3667
  orElse2(() => void_)
3667
3668
  );
3668
3669
  if (serviceResult) {
3669
- const { className, dependencies } = serviceResult;
3670
+ const { className, options } = serviceResult;
3670
3671
  const classSymbol = typeChecker.getSymbolAtLocation(className);
3671
3672
  if (classSymbol) {
3672
3673
  const classType = typeChecker.getTypeOfSymbol(classSymbol);
@@ -3687,11 +3688,17 @@ var missingEffectServiceDependency = createDiagnostic({
3687
3688
  excludeNever
3688
3689
  );
3689
3690
  const providedIndexes = /* @__PURE__ */ new Set();
3690
- const dependenciesToProcess = dependencies || [];
3691
- for (const depExpression of dependenciesToProcess) {
3692
- const depType = typeChecker.getTypeAtLocation(depExpression);
3691
+ const optionsType = typeChecker.getTypeAtLocation(options);
3692
+ const dependenciesProperty = typeChecker.getPropertyOfType(optionsType, "dependencies");
3693
+ let types = [];
3694
+ if (dependenciesProperty) {
3695
+ const dependenciesTypes = typeChecker.getTypeOfSymbolAtLocation(dependenciesProperty, options);
3696
+ const numberIndexType = dependenciesTypes.getNumberIndexType();
3697
+ types = numberIndexType ? unrollUnionMembers(numberIndexType) : [];
3698
+ }
3699
+ for (const depType of types) {
3693
3700
  const depLayerResult = yield* pipe(
3694
- typeParser.layerType(depType, depExpression),
3701
+ typeParser.layerType(depType, options),
3695
3702
  orElse2(() => void_)
3696
3703
  );
3697
3704
  if (depLayerResult) {