@effect-app/infra 2.61.0 → 2.61.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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @effect-app/infra
2
2
 
3
+ ## 2.61.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 43dbb4d: support nested in memory
8
+
9
+ ## 2.61.1
10
+
11
+ ### Patch Changes
12
+
13
+ - 18ebe56: fix rel
14
+
3
15
  ## 2.61.0
4
16
 
5
17
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"codeFilter.d.ts","sourceRoot":"","sources":["../../src/Store/codeFilter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,MAAM,EAAE,MAAM,YAAY,CAAA;AAE1C,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAuD1C,eAAO,MAAM,mBAAmB,GAAI,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,EAAE,YAAY,OAAO,oBAE7D,GAAG,aAGjB,CAAA;AAsBD,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,OAAO,SAAS,YAAY,EAAE,MAAM,KAAK,CAAC,YAA6B,CAAA;AA0EtG,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,OAAO,SAAS,YAAY,EAAE,EAAE,KAAK,CAAC,KAAG,OAKxE,CAAA;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,IACpE,GAAG,CAAC,uCACb"}
1
+ {"version":3,"file":"codeFilter.d.ts","sourceRoot":"","sources":["../../src/Store/codeFilter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,MAAM,EAAE,MAAM,YAAY,CAAA;AAE1C,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAuD1C,eAAO,MAAM,mBAAmB,GAAI,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,EAAE,YAAY,OAAO,oBAE7D,GAAG,aAGjB,CAAA;AAyBD,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,OAAO,SAAS,YAAY,EAAE,MAAM,KAAK,CAAC,YAA6B,CAAA;AAwFtG,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,OAAO,SAAS,YAAY,EAAE,EAAE,KAAK,CAAC,KAAG,OAKxE,CAAA;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,IACpE,GAAG,CAAC,uCACb"}
@@ -59,14 +59,17 @@ export const codeFilterStatement = (p, x, isRelation) => {
59
59
  }
60
60
  return filterStatement(x, p);
61
61
  };
62
- const isRelationCheck = (f) => {
63
- if (f.every((_) => "path" in _ && _.path.includes(".-1."))) {
62
+ const isRelationCheck = (f, isRelation) => {
63
+ if (f.filter((_) => "path" in _).every((_) => "path" in _ && _.path.includes(".-1."))) {
64
64
  const first = f[0];
65
65
  const rel = first.path.split(".-1.")[0];
66
- if (!f.every((_) => "path" in _ && _.path.startsWith(rel + ".-1."))) {
66
+ if (isRelation && rel !== isRelation) {
67
+ throw new Error(`expected ${isRelation} relation but found ${rel}`);
68
+ }
69
+ if (!f.filter((_) => "path" in _).every((_) => "path" in _ && _.path.startsWith(rel + ".-1."))) {
67
70
  throw new Error(`Cannot mix relation checks of different props, expected all to be "${rel}"`);
68
71
  }
69
- return true;
72
+ return rel;
70
73
  }
71
74
  if (f.some((_) => "path" in _ && _.path.includes(".-1."))) {
72
75
  throw new Error("Cannot mix relation checks with non-relation checks in the same filter scope. create a separate one");
@@ -74,7 +77,7 @@ const isRelationCheck = (f) => {
74
77
  return false;
75
78
  };
76
79
  export const codeFilter3 = (state) => (sut) => codeFilter3_(state, sut);
77
- const codeFilter3__ = (state, sut, statements, isRelation = false) => {
80
+ const codeFilter3__ = (state, sut, statements, isRelation = null) => {
78
81
  let s = "";
79
82
  let l = 0;
80
83
  const printN = (n) => {
@@ -102,36 +105,45 @@ const codeFilter3__ = (state, sut, statements, isRelation = false) => {
102
105
  break;
103
106
  case "or-scope": {
104
107
  ++l;
105
- if (isRelationCheck(e.result)) {
108
+ const rel = isRelationCheck(e.result, isRelation);
109
+ if (rel) {
106
110
  const rel = e.result[0].path.split(".-1.")[0];
107
- s += ` || (\n${printN(l + 1)}sut.${rel}.some(el => ${codeFilter3__(e.result, sut, statements, true)})\n${printN(l)})`;
111
+ s += isRelation
112
+ ? ` || (\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements, rel)}\n${printN(l)})`
113
+ : ` || (\n${printN(l + 1)}sut.${rel}.some(el => ${codeFilter3__(e.result, sut, statements, rel)})\n${printN(l)})`;
108
114
  }
109
115
  else {
110
- s += ` || (\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements, true)}\n${printN(l)})`;
116
+ s += ` || (\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements)}\n${printN(l)})`;
111
117
  }
112
118
  --l;
113
119
  break;
114
120
  }
115
121
  case "and-scope": {
116
122
  ++l;
117
- if (isRelationCheck(e.result)) {
123
+ const rel = isRelationCheck(e.result, isRelation);
124
+ if (rel) {
118
125
  const rel = e.result[0].path.split(".-1.")[0];
119
- s += ` && (\n${printN(l + 1)}sut.${rel}.some(el => ${codeFilter3__(e.result, sut, statements, true)})\n${printN(l)})`;
126
+ s += isRelation
127
+ ? ` && (\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements, rel)}\n${printN(l)})`
128
+ : ` && (\n${printN(l + 1)}sut.${rel}.some(el => ${codeFilter3__(e.result, sut, statements, rel)})\n${printN(l)})`;
120
129
  }
121
130
  else {
122
- s += ` && (\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements, true)}\n${printN(l)})`;
131
+ s += ` && (\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements)}\n${printN(l)})`;
123
132
  }
124
133
  --l;
125
134
  break;
126
135
  }
127
136
  case "where-scope": {
128
137
  // ;++l
129
- if (isRelationCheck(e.result)) {
138
+ const rel = isRelationCheck(e.result, isRelation);
139
+ if (rel) {
130
140
  const rel = e.result[0].path.split(".-1.")[0];
131
- s += `(\n${printN(l + 1)}sut.${rel}.some(el => ${codeFilter3__(e.result, sut, statements, true)})\n${printN(l)})`;
141
+ s += isRelation
142
+ ? `(\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements, rel)}\n${printN(l)})`
143
+ : `(\n${printN(l + 1)}sut.${rel}.some(el => ${codeFilter3__(e.result, sut, statements, rel)})\n${printN(l)})`;
132
144
  }
133
145
  else {
134
- s += `(\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements, true)}\n${printN(l)})`;
146
+ s += `(\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements)}\n${printN(l)})`;
135
147
  }
136
148
  // ;--l
137
149
  break;
@@ -149,4 +161,4 @@ export const codeFilter3_ = (state, sut) => {
149
161
  export function codeFilter(filter) {
150
162
  return (x) => codeFilter3_(filter, x) ? Option.some(x) : Option.none();
151
163
  }
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZUZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TdG9yZS9jb2RlRmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCwwREFBMEQ7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBSXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUV0RyxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsQ0FBcUIsQ0FBQTtBQUVuRCxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQU0sRUFBRSxDQUFVLEVBQUUsRUFBRTtJQUM3QyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QixRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNiLEtBQUssSUFBSTtZQUNQLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDNUIsS0FBSyxPQUFPO1lBQ1YsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzdCLEtBQUssSUFBSTtZQUNQLE9BQU8sU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDOUIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3ZDLEtBQUssSUFBSTtZQUNQLE9BQU8sV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDaEMsS0FBSyxLQUFLO1lBQ1IsT0FBTyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3pDLEtBQUssVUFBVTtZQUNiLE9BQVEsQ0FBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQy9DLEtBQUssYUFBYTtZQUNoQixPQUFPLENBQUUsQ0FBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2hELEtBQUssY0FBYztZQUNqQixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN6RSxLQUFLLGlCQUFpQjtZQUNwQixPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBRSxDQUFtQixFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzFFLEtBQUssY0FBYztZQUNqQixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUMxRSxLQUFLLGlCQUFpQjtZQUNwQixPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBRSxDQUFtQixFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzNFLEtBQUssVUFBVTtZQUNiLE9BQVEsQ0FBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7UUFDcEUsS0FBSyxVQUFVO1lBQ2IsT0FBUSxDQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtRQUNwRSxLQUFLLFlBQVk7WUFDZixPQUFRLENBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO1FBQ3RFLEtBQUssYUFBYTtZQUNoQixPQUFPLENBQUUsQ0FBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7UUFDckUsS0FBSyxhQUFhO1lBQ2hCLE9BQU8sQ0FBRSxDQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtRQUNyRSxLQUFLLGVBQWU7WUFDbEIsT0FBTyxDQUFFLENBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO1FBQ3ZFLEtBQUssS0FBSztZQUNSLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM3QixLQUFLLElBQUksQ0FBQztRQUNWLEtBQUssU0FBUztZQUNaLE9BQU8sT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDNUIsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNSLE9BQU8saUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBSSxDQUFVLEVBQUUsQ0FBSSxFQUFFLFVBQW1CLEVBQUUsRUFBRTtJQUM5RSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBQ0QsT0FBTyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQzlCLENBQUMsQ0FBQTtBQUVELE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBMEIsRUFBRSxFQUFFO0lBQ3JELElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDM0QsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBcUIsQ0FBQTtRQUN0QyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN2QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQ2Isc0VBQXNFLEdBQUcsR0FBRyxDQUM3RSxDQUFBO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUNELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDMUQsTUFBTSxJQUFJLEtBQUssQ0FDYixxR0FBcUcsQ0FDdEcsQ0FBQTtJQUNILENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFJLEtBQThCLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBTSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0FBQ3RHLE1BQU0sYUFBYSxHQUFHLENBQUksS0FBOEIsRUFBRSxHQUFNLEVBQUUsVUFBaUIsRUFBRSxVQUFVLEdBQUcsS0FBSyxFQUFVLEVBQUU7SUFDakgsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ1QsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFTLEVBQUUsRUFBRTtRQUMzQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUNsRSxDQUFDLENBQUE7SUFDRCx5QkFBeUI7SUFFekIsTUFBTSxPQUFPLEdBQUcsVUFBVTtRQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO1FBQzVHLENBQUMsQ0FBQyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN0RCxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FDckIsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFjLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGNBQWMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQTtJQUN0RyxLQUFLLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3RCLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1osS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNiLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ2pDLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQTtnQkFDaEIsTUFBSztZQUNQLENBQUM7WUFDRCxLQUFLLElBQUk7Z0JBQ1AsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDakMsQ0FBQyxJQUFJLE1BQU0sR0FBRyxTQUFTLEVBQUUsQ0FBQTtnQkFDekIsTUFBSztZQUNQLEtBQUssS0FBSztnQkFDUixVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUNqQyxDQUFDLElBQUksTUFBTSxHQUFHLFNBQVMsRUFBRSxDQUFBO2dCQUN6QixNQUFLO1lBQ1AsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUNoQixFQUFFLENBQUMsQ0FBQTtnQkFDSCxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztvQkFDOUIsTUFBTSxHQUFHLEdBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtvQkFDcEUsQ0FBQyxJQUFJLFVBQVUsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLGVBQWUsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFDakcsTUFBTSxDQUFDLENBQUMsQ0FDVixHQUFHLENBQUE7Z0JBQ0wsQ0FBQztxQkFBTSxDQUFDO29CQUNOLENBQUMsSUFBSSxVQUFVLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQTtnQkFDaEcsQ0FBQztnQkFDRCxFQUFFLENBQUMsQ0FBQTtnQkFDSCxNQUFLO1lBQ1AsQ0FBQztZQUNELEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDakIsRUFBRSxDQUFDLENBQUE7Z0JBQ0gsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7b0JBQzlCLE1BQU0sR0FBRyxHQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQ3BFLENBQUMsSUFBSSxVQUFVLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxlQUFlLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQ2pHLE1BQU0sQ0FBQyxDQUFDLENBQ1YsR0FBRyxDQUFBO2dCQUNMLENBQUM7cUJBQU0sQ0FBQztvQkFDTixDQUFDLElBQUksVUFBVSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUE7Z0JBQ2hHLENBQUM7Z0JBQ0QsRUFBRSxDQUFDLENBQUE7Z0JBRUgsTUFBSztZQUNQLENBQUM7WUFDRCxLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUM7Z0JBQ25CLE9BQU87Z0JBQ1AsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7b0JBQzlCLE1BQU0sR0FBRyxHQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQ3BFLENBQUMsSUFBSSxNQUFNLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxlQUFlLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQzdGLE1BQU0sQ0FBQyxDQUFDLENBQ1YsR0FBRyxDQUFBO2dCQUNMLENBQUM7cUJBQU0sQ0FBQztvQkFDTixDQUFDLElBQUksTUFBTSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUE7Z0JBQzVGLENBQUM7Z0JBQ0QsT0FBTztnQkFDUCxNQUFLO1lBQ1AsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxDQUFDLENBQUE7QUFDVixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBSSxLQUE4QixFQUFFLEdBQU0sRUFBVyxFQUFFO0lBQ2pGLE1BQU0sVUFBVSxHQUFVLEVBQUUsQ0FBQSxDQUFDLDJDQUEyQztJQUN4RSw2Q0FBNkM7SUFDN0MsTUFBTSxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQTtJQUMvRSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNoQixDQUFDLENBQUE7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFzQyxNQUFjO0lBQzVFLE9BQU8sQ0FBQyxDQUFJLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7QUFDNUYsQ0FBQyJ9
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZUZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TdG9yZS9jb2RlRmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCwwREFBMEQ7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBSXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUV0RyxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsQ0FBcUIsQ0FBQTtBQUVuRCxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQU0sRUFBRSxDQUFVLEVBQUUsRUFBRTtJQUM3QyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QixRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNiLEtBQUssSUFBSTtZQUNQLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDNUIsS0FBSyxPQUFPO1lBQ1YsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzdCLEtBQUssSUFBSTtZQUNQLE9BQU8sU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDOUIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3ZDLEtBQUssSUFBSTtZQUNQLE9BQU8sV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDaEMsS0FBSyxLQUFLO1lBQ1IsT0FBTyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3pDLEtBQUssVUFBVTtZQUNiLE9BQVEsQ0FBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQy9DLEtBQUssYUFBYTtZQUNoQixPQUFPLENBQUUsQ0FBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2hELEtBQUssY0FBYztZQUNqQixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN6RSxLQUFLLGlCQUFpQjtZQUNwQixPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBRSxDQUFtQixFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzFFLEtBQUssY0FBYztZQUNqQixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUMxRSxLQUFLLGlCQUFpQjtZQUNwQixPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBRSxDQUFtQixFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzNFLEtBQUssVUFBVTtZQUNiLE9BQVEsQ0FBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7UUFDcEUsS0FBSyxVQUFVO1lBQ2IsT0FBUSxDQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtRQUNwRSxLQUFLLFlBQVk7WUFDZixPQUFRLENBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO1FBQ3RFLEtBQUssYUFBYTtZQUNoQixPQUFPLENBQUUsQ0FBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7UUFDckUsS0FBSyxhQUFhO1lBQ2hCLE9BQU8sQ0FBRSxDQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtRQUNyRSxLQUFLLGVBQWU7WUFDbEIsT0FBTyxDQUFFLENBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO1FBQ3ZFLEtBQUssS0FBSztZQUNSLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM3QixLQUFLLElBQUksQ0FBQztRQUNWLEtBQUssU0FBUztZQUNaLE9BQU8sT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDNUIsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNSLE9BQU8saUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBSSxDQUFVLEVBQUUsQ0FBSSxFQUFFLFVBQW1CLEVBQUUsRUFBRTtJQUM5RSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBQ0QsT0FBTyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQzlCLENBQUMsQ0FBQTtBQUVELE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBMEIsRUFBRSxVQUF5QixFQUFFLEVBQUU7SUFDaEYsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN0RixNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFxQixDQUFBO1FBQ3RDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3ZDLElBQUksVUFBVSxJQUFJLEdBQUcsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksVUFBVSx1QkFBdUIsR0FBRyxFQUFFLENBQUMsQ0FBQTtRQUNyRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMvRixNQUFNLElBQUksS0FBSyxDQUNiLHNF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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/infra",
3
- "version": "2.61.0",
3
+ "version": "2.61.2",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -66,16 +66,19 @@ export const codeFilterStatement = <E>(p: FilterR, x: E, isRelation: boolean) =>
66
66
  return filterStatement(x, p)
67
67
  }
68
68
 
69
- const isRelationCheck = (f: readonly FilterResult[]) => {
70
- if (f.every((_) => "path" in _ && _.path.includes(".-1."))) {
69
+ const isRelationCheck = (f: readonly FilterResult[], isRelation: string | null) => {
70
+ if (f.filter((_) => "path" in _).every((_) => "path" in _ && _.path.includes(".-1."))) {
71
71
  const first = f[0] as { path: string }
72
72
  const rel = first.path.split(".-1.")[0]
73
- if (!f.every((_) => "path" in _ && _.path.startsWith(rel + ".-1."))) {
73
+ if (isRelation && rel !== isRelation) {
74
+ throw new Error(`expected ${isRelation} relation but found ${rel}`)
75
+ }
76
+ if (!f.filter((_) => "path" in _).every((_) => "path" in _ && _.path.startsWith(rel + ".-1."))) {
74
77
  throw new Error(
75
78
  `Cannot mix relation checks of different props, expected all to be "${rel}"`
76
79
  )
77
80
  }
78
- return true
81
+ return rel
79
82
  }
80
83
  if (f.some((_) => "path" in _ && _.path.includes(".-1."))) {
81
84
  throw new Error(
@@ -87,7 +90,12 @@ const isRelationCheck = (f: readonly FilterResult[]) => {
87
90
  }
88
91
 
89
92
  export const codeFilter3 = <E>(state: readonly FilterResult[]) => (sut: E) => codeFilter3_(state, sut)
90
- const codeFilter3__ = <E>(state: readonly FilterResult[], sut: E, statements: any[], isRelation = false): string => {
93
+ const codeFilter3__ = <E>(
94
+ state: readonly FilterResult[],
95
+ sut: E,
96
+ statements: any[],
97
+ isRelation: string | null = null
98
+ ): string => {
91
99
  let s = ""
92
100
  let l = 0
93
101
  const printN = (n: number) => {
@@ -117,26 +125,32 @@ const codeFilter3__ = <E>(state: readonly FilterResult[], sut: E, statements: an
117
125
  break
118
126
  case "or-scope": {
119
127
  ++l
120
- if (isRelationCheck(e.result)) {
128
+ const rel = isRelationCheck(e.result, isRelation)
129
+ if (rel) {
121
130
  const rel = (e.result[0]! as { path: string }).path.split(".-1.")[0]
122
- s += ` || (\n${printN(l + 1)}sut.${rel}.some(el => ${codeFilter3__(e.result, sut, statements, true)})\n${
123
- printN(l)
124
- })`
131
+ s += isRelation
132
+ ? ` || (\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements, rel)}\n${printN(l)})`
133
+ : ` || (\n${printN(l + 1)}sut.${rel}.some(el => ${codeFilter3__(e.result, sut, statements, rel)})\n${
134
+ printN(l)
135
+ })`
125
136
  } else {
126
- s += ` || (\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements, true)}\n${printN(l)})`
137
+ s += ` || (\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements)}\n${printN(l)})`
127
138
  }
128
139
  --l
129
140
  break
130
141
  }
131
142
  case "and-scope": {
132
143
  ++l
133
- if (isRelationCheck(e.result)) {
144
+ const rel = isRelationCheck(e.result, isRelation)
145
+ if (rel) {
134
146
  const rel = (e.result[0]! as { path: string }).path.split(".-1.")[0]
135
- s += ` && (\n${printN(l + 1)}sut.${rel}.some(el => ${codeFilter3__(e.result, sut, statements, true)})\n${
136
- printN(l)
137
- })`
147
+ s += isRelation
148
+ ? ` && (\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements, rel)}\n${printN(l)})`
149
+ : ` && (\n${printN(l + 1)}sut.${rel}.some(el => ${codeFilter3__(e.result, sut, statements, rel)})\n${
150
+ printN(l)
151
+ })`
138
152
  } else {
139
- s += ` && (\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements, true)}\n${printN(l)})`
153
+ s += ` && (\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements)}\n${printN(l)})`
140
154
  }
141
155
  --l
142
156
 
@@ -144,13 +158,16 @@ const codeFilter3__ = <E>(state: readonly FilterResult[], sut: E, statements: an
144
158
  }
145
159
  case "where-scope": {
146
160
  // ;++l
147
- if (isRelationCheck(e.result)) {
161
+ const rel = isRelationCheck(e.result, isRelation)
162
+ if (rel) {
148
163
  const rel = (e.result[0]! as { path: string }).path.split(".-1.")[0]
149
- s += `(\n${printN(l + 1)}sut.${rel}.some(el => ${codeFilter3__(e.result, sut, statements, true)})\n${
150
- printN(l)
151
- })`
164
+ s += isRelation
165
+ ? `(\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements, rel)}\n${printN(l)})`
166
+ : `(\n${printN(l + 1)}sut.${rel}.some(el => ${codeFilter3__(e.result, sut, statements, rel)})\n${
167
+ printN(l)
168
+ })`
152
169
  } else {
153
- s += `(\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements, true)}\n${printN(l)})`
170
+ s += `(\n${printN(l + 1)}${codeFilter3__(e.result, sut, statements)}\n${printN(l)})`
154
171
  }
155
172
  // ;--l
156
173
  break
@@ -201,6 +201,13 @@ describe("filter first-level array fields as groups", () => {
201
201
  project(projected)
202
202
  )
203
203
 
204
+ // mixing relation check with scoped relationcheck
205
+ const items3 = yield* repo.query(
206
+ where("items.-1.value", "gt", 20),
207
+ and(where("items.-1.description", "contains", "d item")),
208
+ project(projected)
209
+ )
210
+
204
211
  const expected = [
205
212
  {
206
213
  name: "Item 2",
@@ -213,6 +220,7 @@ describe("filter first-level array fields as groups", () => {
213
220
 
214
221
  expect(items).toStrictEqual(expected)
215
222
  expect(items2).toStrictEqual(expected)
223
+ expect(items3).toStrictEqual(expected)
216
224
  })
217
225
  .pipe(setupRequestContextFromCurrent())
218
226