@suss/resolution 0.37.1 → 0.38.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/dist/index.cjs CHANGED
@@ -152,6 +152,9 @@ var ASKING_RELATIONS = [
152
152
  "wantedInputRead",
153
153
  "wantedMembers"
154
154
  ];
155
+ var QUESTION_SCOPED_RELATIONS = [
156
+ "callOriginImportAsked"
157
+ ];
155
158
  var NO_LANGUAGE_RULES = [];
156
159
  var programs = /* @__PURE__ */ new WeakMap();
157
160
  var underPrograms = /* @__PURE__ */ new WeakMap();
@@ -182,7 +185,11 @@ function queryFacts(program) {
182
185
  if (program.demandDriven.length === 0) {
183
186
  return [];
184
187
  }
185
- return [...program.demandDriven, ...ASKING_RELATIONS];
188
+ return [
189
+ ...program.demandDriven,
190
+ ...ASKING_RELATIONS,
191
+ ...QUESTION_SCOPED_RELATIONS
192
+ ];
186
193
  }
187
194
  var observersByDb = /* @__PURE__ */ new WeakMap();
188
195
  function noteKeyRead(db, key) {
@@ -5022,13 +5029,22 @@ var RESOLUTION_QUESTIONS = [
5022
5029
  ]
5023
5030
  ),
5024
5031
  // An import of a project barrel is an import of what the barrel
5025
- // forwards, so the pair surfaces the module behind the chain.
5032
+ // forwards, so the pair surfaces the module behind the chain. The
5033
+ // forwards meet only the imports this question's chains end at.
5034
+ (0, import_datalog6.rule)(
5035
+ "callOriginImportAsked",
5036
+ [(0, import_datalog6.variable)("m"), (0, import_datalog6.variable)("n"), (0, import_datalog6.variable)("x")],
5037
+ [
5038
+ (0, import_datalog6.lit)("callOriginChain", (0, import_datalog6.variable)("x"), (0, import_datalog6.variable)("y")),
5039
+ (0, import_datalog6.lit)("wantedCallOrigin", (0, import_datalog6.variable)("x")),
5040
+ (0, import_datalog6.lit)("imports", (0, import_datalog6.variable)("y"), (0, import_datalog6.variable)("m"), (0, import_datalog6.variable)("n"))
5041
+ ]
5042
+ ),
5026
5043
  (0, import_datalog6.rule)(
5027
5044
  "wantedCallOriginPair",
5028
5045
  [(0, import_datalog6.variable)("x"), (0, import_datalog6.variable)("m2"), (0, import_datalog6.variable)("n2")],
5029
5046
  [
5030
- (0, import_datalog6.lit)("callOriginChain", (0, import_datalog6.variable)("x"), (0, import_datalog6.variable)("y")),
5031
- (0, import_datalog6.lit)("imports", (0, import_datalog6.variable)("y"), (0, import_datalog6.variable)("m"), (0, import_datalog6.variable)("n")),
5047
+ (0, import_datalog6.lit)("callOriginImportAsked", (0, import_datalog6.variable)("m"), (0, import_datalog6.variable)("n"), (0, import_datalog6.variable)("x")),
5032
5048
  (0, import_datalog6.lit)("moduleForwards", (0, import_datalog6.variable)("m"), (0, import_datalog6.variable)("n"), (0, import_datalog6.variable)("m2"), (0, import_datalog6.variable)("n2"))
5033
5049
  ]
5034
5050
  ),
package/dist/index.js CHANGED
@@ -30,6 +30,9 @@ var ASKING_RELATIONS = [
30
30
  "wantedInputRead",
31
31
  "wantedMembers"
32
32
  ];
33
+ var QUESTION_SCOPED_RELATIONS = [
34
+ "callOriginImportAsked"
35
+ ];
33
36
  var NO_LANGUAGE_RULES = [];
34
37
  var programs = /* @__PURE__ */ new WeakMap();
35
38
  var underPrograms = /* @__PURE__ */ new WeakMap();
@@ -60,7 +63,11 @@ function queryFacts(program) {
60
63
  if (program.demandDriven.length === 0) {
61
64
  return [];
62
65
  }
63
- return [...program.demandDriven, ...ASKING_RELATIONS];
66
+ return [
67
+ ...program.demandDriven,
68
+ ...ASKING_RELATIONS,
69
+ ...QUESTION_SCOPED_RELATIONS
70
+ ];
64
71
  }
65
72
  var observersByDb = /* @__PURE__ */ new WeakMap();
66
73
  function noteKeyRead(db, key) {
@@ -4900,13 +4907,22 @@ var RESOLUTION_QUESTIONS = [
4900
4907
  ]
4901
4908
  ),
4902
4909
  // An import of a project barrel is an import of what the barrel
4903
- // forwards, so the pair surfaces the module behind the chain.
4910
+ // forwards, so the pair surfaces the module behind the chain. The
4911
+ // forwards meet only the imports this question's chains end at.
4912
+ rule3(
4913
+ "callOriginImportAsked",
4914
+ [v3("m"), v3("n"), v3("x")],
4915
+ [
4916
+ lit3("callOriginChain", v3("x"), v3("y")),
4917
+ lit3("wantedCallOrigin", v3("x")),
4918
+ lit3("imports", v3("y"), v3("m"), v3("n"))
4919
+ ]
4920
+ ),
4904
4921
  rule3(
4905
4922
  "wantedCallOriginPair",
4906
4923
  [v3("x"), v3("m2"), v3("n2")],
4907
4924
  [
4908
- lit3("callOriginChain", v3("x"), v3("y")),
4909
- lit3("imports", v3("y"), v3("m"), v3("n")),
4925
+ lit3("callOriginImportAsked", v3("m"), v3("n"), v3("x")),
4910
4926
  lit3("moduleForwards", v3("m"), v3("n"), v3("m2"), v3("n2"))
4911
4927
  ]
4912
4928
  ),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@suss/resolution",
3
- "version": "0.37.1",
3
+ "version": "0.38.0",
4
4
  "type": "module",
5
5
  "description": "The rules suss uses to follow a name in TypeScript, Python or Ruby to the function it comes down to.",
6
6
  "keywords": [
@@ -56,6 +56,6 @@
56
56
  "access": "public"
57
57
  },
58
58
  "dependencies": {
59
- "@suss/datalog": "0.37.1"
59
+ "@suss/datalog": "0.38.0"
60
60
  }
61
61
  }