joist-orm 1.179.1 → 1.181.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.
@@ -1,8 +1,8 @@
1
1
  import { Entity } from "./Entity";
2
2
  import { FieldsOf, IdOf, MaybeAbstractEntityConstructor, TaggedId } from "./EntityManager";
3
3
  import { EntityMetadata, PolymorphicField } from "./EntityMetadata";
4
- import { ColumnCondition, RawCondition } from "./QueryParser";
5
- import { ExpressionFilter } from "./index";
4
+ import { ColumnCondition } from "./QueryParser";
5
+ import { ExpressionCondition, ExpressionFilter } from "./index";
6
6
  /** Creates an alias for complex filtering against `T`. */
7
7
  export declare function alias<T extends Entity>(cstr: MaybeAbstractEntityConstructor<T>): Alias<T>;
8
8
  /** Creates multiple aliases for complex filtering. */
@@ -23,26 +23,26 @@ export type Alias<T extends Entity> = {
23
23
  } ? PolyReferenceAlias<U> : never;
24
24
  };
25
25
  export interface PrimitiveAlias<V, N extends null | never> {
26
- eq(value: V | N | undefined | PrimitiveAlias<V, any>): ColumnCondition | RawCondition;
27
- ne(value: V | N | undefined | PrimitiveAlias<V, any>): ColumnCondition | RawCondition;
28
- in(values: V[] | undefined): ColumnCondition;
29
- gt(value: V | undefined | PrimitiveAlias<V, any>): ColumnCondition | RawCondition;
30
- gte(value: V | undefined | PrimitiveAlias<V, any>): ColumnCondition | RawCondition;
31
- lt(value: V | undefined | PrimitiveAlias<V, any>): ColumnCondition | RawCondition;
32
- lte(value: V | undefined | PrimitiveAlias<V, any>): ColumnCondition | RawCondition;
33
- like(value: V | undefined): ColumnCondition;
34
- ilike(value: V | undefined): ColumnCondition;
35
- search(value: V | undefined): ColumnCondition;
36
- between(v1: V | undefined, v2: V | undefined): ColumnCondition;
37
- contains(value: V | N | undefined | PrimitiveAlias<V, any>): ColumnCondition | RawCondition;
38
- ncontains(value: V | N | undefined | PrimitiveAlias<V, any>): ColumnCondition | RawCondition;
39
- overlaps(value: V | N | undefined | PrimitiveAlias<V, any>): ColumnCondition | RawCondition;
40
- noverlaps(value: V | N | undefined | PrimitiveAlias<V, any>): ColumnCondition | RawCondition;
26
+ eq(value: V | N | undefined | PrimitiveAlias<V, any>): ExpressionCondition;
27
+ ne(value: V | N | undefined | PrimitiveAlias<V, any>): ExpressionCondition;
28
+ in(values: (V | null)[] | undefined): ExpressionCondition;
29
+ gt(value: V | undefined | PrimitiveAlias<V, any>): ExpressionCondition;
30
+ gte(value: V | undefined | PrimitiveAlias<V, any>): ExpressionCondition;
31
+ lt(value: V | undefined | PrimitiveAlias<V, any>): ExpressionCondition;
32
+ lte(value: V | undefined | PrimitiveAlias<V, any>): ExpressionCondition;
33
+ like(value: V | undefined): ExpressionCondition;
34
+ ilike(value: V | undefined): ExpressionCondition;
35
+ search(value: V | undefined): ExpressionCondition;
36
+ between(v1: V | undefined, v2: V | undefined): ExpressionCondition;
37
+ contains(value: V | N | undefined | PrimitiveAlias<V, any>): ExpressionCondition;
38
+ ncontains(value: V | N | undefined | PrimitiveAlias<V, any>): ExpressionCondition;
39
+ overlaps(value: V | N | undefined | PrimitiveAlias<V, any>): ExpressionCondition;
40
+ noverlaps(value: V | N | undefined | PrimitiveAlias<V, any>): ExpressionCondition;
41
41
  }
42
42
  export interface EntityAlias<T> {
43
- eq(value: T | IdOf<T> | null | undefined): ColumnCondition;
44
- ne(value: T | IdOf<T> | null | undefined): ColumnCondition;
45
- in(value: Array<T | IdOf<T>> | undefined): ColumnCondition;
43
+ eq(value: T | IdOf<T> | null | undefined): ExpressionCondition;
44
+ ne(value: T | IdOf<T> | null | undefined): ExpressionCondition;
45
+ in(value: Array<T | IdOf<T>> | undefined): ExpressionCondition;
46
46
  }
47
47
  export declare const aliasMgmt: unique symbol;
48
48
  /** Management interface for `QueryParser` to set Alias's canonical alias. */
@@ -1 +1 @@
1
- {"version":3,"file":"Aliases.d.ts","sourceRoot":"","sources":["../src/Aliases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Aliases.d.ts","sourceRoot":"","sources":["../src/Aliases.ts"],"names":[],"mappings":"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"}
package/build/Aliases.js CHANGED
@@ -78,6 +78,7 @@ class AbstractAliasColumn {
78
78
  dbType: this.column.dbType,
79
79
  cond: (0, QueryParser_1.mapToDb)(this.column, value),
80
80
  };
81
+ // Track the conditions we've created to re-write the alias when we're bound
81
82
  this.callbacks.push((newMeta, newAlias) => {
82
83
  cond.alias = getMaybeCtiAlias(this.meta, this.field, newMeta, newAlias);
83
84
  });
@@ -208,7 +209,14 @@ class PrimitiveAliasImpl extends AbstractAliasColumn {
208
209
  in(values) {
209
210
  if (values === undefined)
210
211
  return QueryParser_1.skipCondition;
211
- return this.addCondition({ kind: "in", value: values });
212
+ if (values.includes(null)) {
213
+ const isNull = this.addCondition({ kind: "is-null" });
214
+ const hasValue = this.addCondition({ kind: "in", value: values.filter((v) => v !== null) });
215
+ return { or: [isNull, hasValue] };
216
+ }
217
+ else {
218
+ return this.addCondition({ kind: "in", value: values });
219
+ }
212
220
  }
213
221
  // V will already be an array
214
222
  contains(v1) {
@@ -319,6 +327,7 @@ class PolyReferenceAlias {
319
327
  dbType: this.field.serde.columns[0].dbType,
320
328
  cond: (0, QueryParser_1.mapToDb)(column, value),
321
329
  };
330
+ // Track the conditions we've created to re-write the alias when we're bound
322
331
  this.callbacks.push((newMeta, newAlias) => {
323
332
  cond.alias = getMaybeCtiAlias(this.meta, this.field, newMeta, newAlias);
324
333
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Aliases.js","sourceRoot":"","sources":["../src/Aliases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Aliases.js","sourceRoot":"","sources":["../src/Aliases.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ export type ValueFilter<V, N> = V | readonly V[] | N | undefined | {
48
48
  } | {
49
49
  ne: V | N | undefined;
50
50
  } | {
51
- in: readonly (V | N)[] | undefined;
51
+ in: readonly (V | N | null)[] | undefined;
52
52
  } | {
53
53
  nin: readonly (V | N)[] | undefined;
54
54
  } | {
@@ -87,12 +87,14 @@ export type ValueFilter<V, N> = V | readonly V[] | N | undefined | {
87
87
  * This is the user-facing DSL that internally will be converted to `ParsedExpressionFilter.
88
88
  */
89
89
  export type ExpressionFilter = ({
90
- and: Array<ExpressionFilter | ColumnCondition | RawCondition | undefined>;
90
+ and: Array<ExpressionCondition | undefined>;
91
91
  or?: never;
92
92
  } | {
93
- or: Array<ExpressionFilter | ColumnCondition | RawCondition | undefined>;
93
+ or: Array<ExpressionCondition | undefined>;
94
94
  and?: never;
95
95
  }) & {
96
96
  pruneIfUndefined?: "any" | "all";
97
97
  };
98
+ /** A user-facing filter for maybe-nested/maybe-simple conditions. */
99
+ export type ExpressionCondition = ExpressionFilter | ColumnCondition | RawCondition;
98
100
  //# sourceMappingURL=EntityFilter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntityFilter.d.ts","sourceRoot":"","sources":["../src/EntityFilter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityFilter.d.ts","sourceRoot":"","sources":["../src/EntityFilter.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,10 @@ import { Column } from "./index";
5
5
  export interface ParsedExpressionFilter {
6
6
  kind: "exp";
7
7
  op: "and" | "or";
8
- conditions: (ParsedExpressionFilter | ColumnCondition | RawCondition)[];
8
+ conditions: ParsedExpressionCondition[];
9
9
  }
10
+ /** A condition or nested condition in a `ParsedExpressionFilter`. */
11
+ export type ParsedExpressionCondition = ParsedExpressionFilter | ColumnCondition | RawCondition;
10
12
  export interface ColumnCondition {
11
13
  kind: "column";
12
14
  alias: string;
@@ -152,13 +154,34 @@ export type ParsedValueFilter<V> = {
152
154
  value: [V, V];
153
155
  };
154
156
  /**
155
- * Parses the many/hodgepdoge (ergonomic!) patterns of value filters into a `ParsedValueFilter[]`.
157
+ * Parses the many/hodgepodge (ergonomic!) patterns of value filters into a `ParsedValueFilter[]`.
156
158
  *
157
159
  * Note we return an array because filter might be a `ValueGraphQLFilter` that is allowed to have
158
160
  * multiple conditions, i.e. `{ lt: 10, gt: 5 }`.
159
161
  */
160
162
  export declare function parseValueFilter<V>(filter: ValueFilter<V, any>): ParsedValueFilter<V>[];
161
163
  /** Converts domain-level values like string ids/enums into their db equivalent. */
164
+ export declare class ConditionBuilder {
165
+ /** Simple, single-column conditions, which will be AND-d together. */
166
+ private conditions;
167
+ /** Complex expressions, which will also be AND-d together with `conditions`. */
168
+ private expressions;
169
+ /** Accepts a raw user-facing DSL filter, and parses it into a `ParsedExpressionFilter`. */
170
+ maybeAddExpression(expression: ExpressionFilter): void;
171
+ /** Adds an already-db-level condition to the simple conditions list. */
172
+ addSimpleCondition(condition: ColumnCondition): void;
173
+ /** Adds an already-db-level expression to the expressions list. */
174
+ addParsedExpression(parsed: ParsedExpressionFilter): void;
175
+ /**
176
+ * Adds a user-facing `ParsedValueFilter` to the inline conditions.
177
+ *
178
+ * Unless it's something like `in: [a1, null]`, in which case we split it into two `is-null` and `in` conditions.
179
+ */
180
+ addValueFilter(alias: string, column: Column, filter: ParsedValueFilter<any>): void;
181
+ /** Combines our collected `conditions` & `expressions` into a single `ParsedExpressionFilter`. */
182
+ toExpressionFilter(): ParsedExpressionFilter | undefined;
183
+ }
184
+ /** Converts domain-level values like string ids/enums into their db equivalent. */
162
185
  export declare function mapToDb(column: Column, filter: ParsedValueFilter<any>): ParsedValueFilter<any>;
163
186
  /** Adds any user-configured default order, plus a "always order by id" for determinism. */
164
187
  export declare function maybeAddOrderBy(query: ParsedFindQuery, meta: EntityMetadata, alias: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryParser.d.ts","sourceRoot":"","sources":["../src/QueryParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryParser.d.ts","sourceRoot":"","sources":["../src/QueryParser.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.skipCondition = void 0;
3
+ exports.ConditionBuilder = exports.skipCondition = void 0;
4
4
  exports.parseFindQuery = parseFindQuery;
5
5
  exports.parseEntityFilter = parseEntityFilter;
6
6
  exports.parseValueFilter = parseValueFilter;
@@ -38,8 +38,7 @@ function parseFindQuery(meta, filter, opts = {}) {
38
38
  const orderBys = [];
39
39
  const query = { selects, tables, orderBys };
40
40
  const { orderBy = undefined, conditions: optsExpression = undefined, softDeletes = "exclude", pruneJoins = true, keepAliases = [], } = opts;
41
- const inlineConditions = [];
42
- const inlineExpressions = [];
41
+ const cb = new ConditionBuilder();
43
42
  const aliases = {};
44
43
  function getAlias(tableName) {
45
44
  const abbrev = (0, QueryBuilder_1.abbreviation)(tableName);
@@ -50,7 +49,7 @@ function parseFindQuery(meta, filter, opts = {}) {
50
49
  function maybeAddNotSoftDeleted(meta, alias) {
51
50
  if (filterSoftDeletes(meta, softDeletes)) {
52
51
  const column = meta.allFields[(0, EntityMetadata_1.getBaseMeta)(meta).timestampFields.deletedAt].serde?.columns[0];
53
- inlineConditions.push({
52
+ cb.addSimpleCondition({
54
53
  kind: "column",
55
54
  alias,
56
55
  column: column.columnName,
@@ -75,7 +74,7 @@ function parseFindQuery(meta, filter, opts = {}) {
75
74
  // Maybe only do this if we're the primary, or have a field that needs it?
76
75
  addTablePerClassJoinsAndClassTag(query, meta, alias, join === "primary");
77
76
  if (needsStiDiscriminator(meta)) {
78
- addStiSubtypeFilter(inlineConditions, meta, alias);
77
+ addStiSubtypeFilter(cb, meta, alias);
79
78
  }
80
79
  maybeAddNotSoftDeleted(meta, alias);
81
80
  // The user's locally declared aliases, i.e. `const [a, b] = aliases(Author, Book)`,
@@ -101,13 +100,7 @@ function parseFindQuery(meta, filter, opts = {}) {
101
100
  if (field.kind === "primitive" || field.kind === "primaryKey" || field.kind === "enum") {
102
101
  const column = field.serde.columns[0];
103
102
  parseValueFilter(ef.subFilter[key]).forEach((filter) => {
104
- inlineConditions.push({
105
- kind: "column",
106
- alias: fa,
107
- column: column.columnName,
108
- dbType: column.dbType,
109
- cond: mapToDb(column, filter),
110
- });
103
+ cb.addValueFilter(fa, column, filter);
111
104
  });
112
105
  }
113
106
  else if (field.kind === "m2o") {
@@ -128,13 +121,7 @@ function parseFindQuery(meta, filter, opts = {}) {
128
121
  addTable(field.otherMetadata(), a, joinKind, (0, keywords_1.kqDot)(fa, column.columnName), (0, keywords_1.kqDot)(a, "id"), sub);
129
122
  }
130
123
  else {
131
- inlineConditions.push({
132
- kind: "column",
133
- alias: fa,
134
- column: column.columnName,
135
- dbType: column.dbType,
136
- cond: mapToDb(column, f),
137
- });
124
+ cb.addValueFilter(fa, column, f);
138
125
  }
139
126
  }
140
127
  else if (field.kind === "poly") {
@@ -153,19 +140,13 @@ function parseFindQuery(meta, filter, opts = {}) {
153
140
  return;
154
141
  const comp = field.components.find((p) => p.otherMetadata().cstr === (0, index_1.getConstructorFromTaggedId)(f.value)) || (0, utils_1.fail)(`Could not find component for ${f.value}`);
155
142
  const column = field.serde.columns.find((c) => c.columnName === comp.columnName);
156
- inlineConditions.push({
157
- kind: "column",
158
- alias: fa,
159
- column: comp.columnName,
160
- dbType: column.dbType,
161
- cond: mapToDb(column, f),
162
- });
143
+ cb.addValueFilter(fa, column, f);
163
144
  }
164
145
  else if (f.kind === "is-null") {
165
146
  // Add a condition for every component--these can be AND-d with the rest of the simple/inline conditions
166
147
  field.components.forEach((comp) => {
167
148
  const column = field.serde.columns.find((c) => c.columnName === comp.columnName);
168
- inlineConditions.push({
149
+ cb.addSimpleCondition({
169
150
  kind: "column",
170
151
  alias: fa,
171
152
  column: comp.columnName,
@@ -185,12 +166,13 @@ function parseFindQuery(meta, filter, opts = {}) {
185
166
  cond: { kind: "not-null" },
186
167
  };
187
168
  });
188
- inlineExpressions.push({ kind: "exp", op: "or", conditions });
169
+ cb.addParsedExpression({ kind: "exp", op: "or", conditions });
189
170
  }
190
171
  else if (f.kind === "in") {
191
172
  // Split up the ids by constructor
192
173
  const idsByConstructor = (0, joist_utils_1.groupBy)(f.value, (id) => (0, index_1.getConstructorFromTaggedId)(id).name);
193
174
  // Or together `parent_book_id in (1,2,3) OR parent_author_id IN (4,5,6)`
175
+ // ...if there is a `parent IN [b:1, b:2, a:1, null]` we'd need to pull the `null` out and do an `OR (all columns are null)`...
194
176
  const conditions = Object.entries(idsByConstructor).map(([cstrName, ids]) => {
195
177
  const column = field.serde.columns.find((c) => c.otherMetadata().cstr.name === cstrName);
196
178
  return {
@@ -202,7 +184,7 @@ function parseFindQuery(meta, filter, opts = {}) {
202
184
  };
203
185
  });
204
186
  if (conditions.length > 0) {
205
- inlineExpressions.push({ kind: "exp", op: "or", conditions });
187
+ cb.addParsedExpression({ kind: "exp", op: "or", conditions });
206
188
  }
207
189
  }
208
190
  else {
@@ -259,6 +241,8 @@ function parseFindQuery(meta, filter, opts = {}) {
259
241
  // We normally don't have `columns` for m2m fields, b/c they don't go through normal serde
260
242
  // codepaths, so make one up to leverage the existing `mapToDb` function.
261
243
  const column = {
244
+ columnName: field.columnNames[1],
245
+ dbType: meta.idDbType,
262
246
  mapToDb(value) {
263
247
  // Check for `typeof value === number` in case this is a new entity, and we've been given the nilIdValue
264
248
  return value === null || isNilIdValue(value)
@@ -266,7 +250,7 @@ function parseFindQuery(meta, filter, opts = {}) {
266
250
  : (0, index_1.keyToNumber)(meta, (0, index_1.maybeResolveReferenceToId)(value));
267
251
  },
268
252
  };
269
- inlineConditions.push({
253
+ cb.addSimpleCondition({
270
254
  kind: "column",
271
255
  alias: ja,
272
256
  column: field.columnNames[1],
@@ -282,13 +266,7 @@ function parseFindQuery(meta, filter, opts = {}) {
282
266
  }
283
267
  else if (ef) {
284
268
  const column = meta.fields["id"].serde.columns[0];
285
- inlineConditions.push({
286
- kind: "column",
287
- alias,
288
- column: "id",
289
- dbType: meta.idDbType,
290
- cond: mapToDb(column, ef),
291
- });
269
+ cb.addValueFilter(alias, column, ef);
292
270
  }
293
271
  }
294
272
  function addOrderBy(meta, alias, orderBy) {
@@ -340,20 +318,11 @@ function parseFindQuery(meta, filter, opts = {}) {
340
318
  addTable(meta, alias, "primary", "n/a", "n/a", filter);
341
319
  // If they passed extra `conditions: ...`, parse that
342
320
  if (optsExpression) {
343
- const parsed = parseExpression(optsExpression);
344
- if (parsed)
345
- inlineExpressions.push(parsed);
346
- }
347
- if (inlineConditions.length === 0 && inlineExpressions.length === 1) {
348
- // If no inline conditions, and just 1 opt expression, just use that
349
- Object.assign(query, { condition: inlineExpressions[0] });
350
- }
351
- else if (inlineConditions.length > 0 || inlineExpressions.length > 0) {
352
- // Combine the conditions within the `em.find` join literal & the `conditions` as ANDs
353
- Object.assign(query, {
354
- condition: { op: "and", conditions: [...inlineConditions, ...inlineExpressions] },
355
- });
321
+ cb.maybeAddExpression(optsExpression);
356
322
  }
323
+ Object.assign(query, {
324
+ condition: cb.toExpressionFilter(),
325
+ });
357
326
  if (query.tables.some((t) => t.join === "outer")) {
358
327
  maybeAddIdNotNulls(query);
359
328
  }
@@ -598,7 +567,7 @@ function isNilIdValue(value) {
598
567
  return value === -1 || value === "00000000-0000-0000-0000-000000000000";
599
568
  }
600
569
  /**
601
- * Parses the many/hodgepdoge (ergonomic!) patterns of value filters into a `ParsedValueFilter[]`.
570
+ * Parses the many/hodgepodge (ergonomic!) patterns of value filters into a `ParsedValueFilter[]`.
602
571
  *
603
572
  * Note we return an array because filter might be a `ValueGraphQLFilter` that is allowed to have
604
573
  * multiple conditions, i.e. `{ lt: 10, gt: 5 }`.
@@ -687,7 +656,88 @@ function parseValueFilter(filter) {
687
656
  }
688
657
  }
689
658
  /** Converts domain-level values like string ids/enums into their db equivalent. */
659
+ class ConditionBuilder {
660
+ /** Simple, single-column conditions, which will be AND-d together. */
661
+ conditions = [];
662
+ /** Complex expressions, which will also be AND-d together with `conditions`. */
663
+ expressions = [];
664
+ /** Accepts a raw user-facing DSL filter, and parses it into a `ParsedExpressionFilter`. */
665
+ maybeAddExpression(expression) {
666
+ const parsed = parseExpression(expression);
667
+ if (parsed)
668
+ this.expressions.push(parsed);
669
+ }
670
+ /** Adds an already-db-level condition to the simple conditions list. */
671
+ addSimpleCondition(condition) {
672
+ this.conditions.push(condition);
673
+ }
674
+ /** Adds an already-db-level expression to the expressions list. */
675
+ addParsedExpression(parsed) {
676
+ this.expressions.push(parsed);
677
+ }
678
+ /**
679
+ * Adds a user-facing `ParsedValueFilter` to the inline conditions.
680
+ *
681
+ * Unless it's something like `in: [a1, null]`, in which case we split it into two `is-null` and `in` conditions.
682
+ */
683
+ addValueFilter(alias, column, filter) {
684
+ if (filter.kind === "in" && filter.value.includes(null)) {
685
+ // If the filter contains a null, we need to split it into an `is-null` and `in` condition
686
+ const isNull = {
687
+ kind: "column",
688
+ alias,
689
+ column: column.columnName,
690
+ dbType: column.dbType,
691
+ cond: { kind: "is-null" },
692
+ };
693
+ const inValues = {
694
+ kind: "column",
695
+ alias,
696
+ column: column.columnName,
697
+ dbType: column.dbType,
698
+ cond: {
699
+ kind: "in",
700
+ // Filter out the nulls from the in condition
701
+ value: filter.value.filter((v) => v !== null).map((v) => column.mapToDb(v)),
702
+ },
703
+ };
704
+ // Now OR them back together
705
+ this.expressions.push({ kind: "exp", op: "or", conditions: [isNull, inValues] });
706
+ }
707
+ else {
708
+ const cond = {
709
+ kind: "column",
710
+ alias,
711
+ column: column.columnName,
712
+ dbType: column.dbType,
713
+ // Rewrite the user-facing domain values to db values
714
+ cond: mapToDb(column, filter),
715
+ };
716
+ this.conditions.push(cond);
717
+ }
718
+ }
719
+ /** Combines our collected `conditions` & `expressions` into a single `ParsedExpressionFilter`. */
720
+ toExpressionFilter() {
721
+ const { expressions, conditions } = this;
722
+ if (conditions.length === 0 && expressions.length === 1) {
723
+ // If no inline conditions, and just 1 opt expression, just use that
724
+ return expressions[0];
725
+ }
726
+ else if (conditions.length > 0 || expressions.length > 0) {
727
+ // Combine the conditions within the `em.find` join literal & the `conditions` as ANDs
728
+ return { kind: "exp", op: "and", conditions: [...conditions, ...expressions] };
729
+ }
730
+ return undefined;
731
+ }
732
+ }
733
+ exports.ConditionBuilder = ConditionBuilder;
734
+ /** Converts domain-level values like string ids/enums into their db equivalent. */
690
735
  function mapToDb(column, filter) {
736
+ // ...to teach this `mapToDb` function to handle/rewrite `in: [1, null]` handling, we'd need to:
737
+ // 1. return a maybe-simple/maybe-nested condition, so basically a `ParsedExpressionCondition`, because
738
+ // this would let `in` return an `{ or: ... }` to all the callers.
739
+ // 2. also return `{ parsed: ParsedExpressionCondition, simples: SimpleCondition[] }` tuple, for the
740
+ // alias `addCondition` processing to track the `simples` and rewrite their alias when later bound.
691
741
  switch (filter.kind) {
692
742
  case "eq":
693
743
  case "gt":
@@ -877,10 +927,10 @@ function needsClassPerTableJoins(meta) {
877
927
  function needsStiDiscriminator(meta) {
878
928
  return meta.inheritanceType === "sti" && !meta.stiDiscriminatorField;
879
929
  }
880
- function addStiSubtypeFilter(conditions, subtypeMeta, alias) {
930
+ function addStiSubtypeFilter(cb, subtypeMeta, alias) {
881
931
  const baseMeta = (0, EntityMetadata_1.getBaseMeta)(subtypeMeta);
882
932
  const column = baseMeta.fields[baseMeta.stiDiscriminatorField].serde?.columns[0];
883
- conditions.push({
933
+ cb.addSimpleCondition({
884
934
  kind: "column",
885
935
  alias,
886
936
  column: column.columnName,