uql-orm 0.18.0 → 0.20.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.
Files changed (149) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/README.md +3 -3
  3. package/dist/browser/querier/httpQuerier.d.ts +10 -10
  4. package/dist/browser/querier/httpQuerier.d.ts.map +1 -1
  5. package/dist/browser/querier/httpQuerier.js.map +1 -1
  6. package/dist/browser/type/clientQuerier.d.ts +9 -9
  7. package/dist/browser/type/clientQuerier.d.ts.map +1 -1
  8. package/dist/browser/uql-browser.min.js +2 -2
  9. package/dist/browser/uql-browser.min.js.map +4 -4
  10. package/dist/bunSql/bunSqlCockroachDialect.d.ts +1 -1
  11. package/dist/bunSql/bunSqlCockroachDialect.js +1 -1
  12. package/dist/dialect/abstractSqlDialect.d.ts +113 -51
  13. package/dist/dialect/abstractSqlDialect.d.ts.map +1 -1
  14. package/dist/dialect/abstractSqlDialect.js +186 -123
  15. package/dist/dialect/abstractSqlDialect.js.map +1 -1
  16. package/dist/dialect/jsonArrayElemMatchUtils.d.ts +5 -6
  17. package/dist/dialect/jsonArrayElemMatchUtils.d.ts.map +1 -1
  18. package/dist/dialect/jsonArrayElemMatchUtils.js +9 -19
  19. package/dist/dialect/jsonArrayElemMatchUtils.js.map +1 -1
  20. package/dist/dialect/jsonSql.d.ts +24 -0
  21. package/dist/dialect/jsonSql.d.ts.map +1 -0
  22. package/dist/dialect/jsonSql.js +37 -0
  23. package/dist/dialect/jsonSql.js.map +1 -0
  24. package/dist/dialect/mysqlLikeSqlDialect.d.ts +35 -3
  25. package/dist/dialect/mysqlLikeSqlDialect.d.ts.map +1 -1
  26. package/dist/dialect/mysqlLikeSqlDialect.js +64 -18
  27. package/dist/dialect/mysqlLikeSqlDialect.js.map +1 -1
  28. package/dist/dialect/pgLikeSqlDialect.d.ts +24 -5
  29. package/dist/dialect/pgLikeSqlDialect.d.ts.map +1 -1
  30. package/dist/dialect/pgLikeSqlDialect.js +50 -37
  31. package/dist/dialect/pgLikeSqlDialect.js.map +1 -1
  32. package/dist/dialect/vectorSqlDialect.d.ts +54 -0
  33. package/dist/dialect/vectorSqlDialect.d.ts.map +1 -0
  34. package/dist/dialect/vectorSqlDialect.js +73 -0
  35. package/dist/dialect/vectorSqlDialect.js.map +1 -0
  36. package/dist/entity/decorator/index-decorator.d.ts +6 -13
  37. package/dist/entity/decorator/index-decorator.d.ts.map +1 -1
  38. package/dist/entity/decorator/index-decorator.js.map +1 -1
  39. package/dist/maria/mariaDialect.d.ts +15 -3
  40. package/dist/maria/mariaDialect.d.ts.map +1 -1
  41. package/dist/maria/mariaDialect.js +25 -12
  42. package/dist/maria/mariaDialect.js.map +1 -1
  43. package/dist/migrate/generator/mongoSchemaGenerator.d.ts +1 -1
  44. package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -1
  45. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts +2 -1
  46. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts.map +1 -1
  47. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js +5 -0
  48. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js.map +1 -1
  49. package/dist/migrate/introspection/baseSqlIntrospector.js +1 -1
  50. package/dist/migrate/introspection/baseSqlIntrospector.js.map +1 -1
  51. package/dist/migrate/introspection/mysqlIntrospector.d.ts +1 -3
  52. package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +1 -1
  53. package/dist/migrate/introspection/mysqlIntrospector.js +0 -5
  54. package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -1
  55. package/dist/migrate/introspection/postgresIntrospector.d.ts +1 -3
  56. package/dist/migrate/introspection/postgresIntrospector.d.ts.map +1 -1
  57. package/dist/migrate/introspection/postgresIntrospector.js +0 -5
  58. package/dist/migrate/introspection/postgresIntrospector.js.map +1 -1
  59. package/dist/migrate/introspection/sqliteIntrospector.d.ts +1 -3
  60. package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +1 -1
  61. package/dist/migrate/introspection/sqliteIntrospector.js +0 -5
  62. package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -1
  63. package/dist/migrate/schemaGenerator.js +1 -1
  64. package/dist/migrate/schemaGenerator.js.map +1 -1
  65. package/dist/mongo/mongoDialect.d.ts +29 -8
  66. package/dist/mongo/mongoDialect.d.ts.map +1 -1
  67. package/dist/mongo/mongoDialect.js +101 -12
  68. package/dist/mongo/mongoDialect.js.map +1 -1
  69. package/dist/mongo/mongodbQuerier.d.ts +2 -2
  70. package/dist/mongo/mongodbQuerier.d.ts.map +1 -1
  71. package/dist/mongo/mongodbQuerier.js +5 -4
  72. package/dist/mongo/mongodbQuerier.js.map +1 -1
  73. package/dist/postgres/postgresWireDriverCapabilities.d.ts +1 -1
  74. package/dist/postgres/postgresWireDriverCapabilities.js +1 -1
  75. package/dist/querier/abstractQuerier.d.ts +2 -2
  76. package/dist/querier/abstractQuerier.d.ts.map +1 -1
  77. package/dist/querier/abstractQuerier.js +6 -5
  78. package/dist/querier/abstractQuerier.js.map +1 -1
  79. package/dist/querier/abstractQuerierPool.d.ts +1 -1
  80. package/dist/querier/abstractQuerierPool.d.ts.map +1 -1
  81. package/dist/querier/abstractQuerierPool.js.map +1 -1
  82. package/dist/querier/abstractSqlQuerier.d.ts +2 -2
  83. package/dist/querier/abstractSqlQuerier.d.ts.map +1 -1
  84. package/dist/querier/abstractSqlQuerier.js.map +1 -1
  85. package/dist/querier/decorator/injectQuerier.d.ts +2 -2
  86. package/dist/querier/decorator/injectQuerier.d.ts.map +1 -1
  87. package/dist/querier/decorator/injectQuerier.js.map +1 -1
  88. package/dist/schema/schemaAST.d.ts.map +1 -1
  89. package/dist/schema/schemaAST.js +7 -19
  90. package/dist/schema/schemaAST.js.map +1 -1
  91. package/dist/schema/types.d.ts +1 -1
  92. package/dist/sqlite/sqliteDialect.d.ts +29 -8
  93. package/dist/sqlite/sqliteDialect.d.ts.map +1 -1
  94. package/dist/sqlite/sqliteDialect.js +59 -74
  95. package/dist/sqlite/sqliteDialect.js.map +1 -1
  96. package/dist/type/dialect.d.ts +192 -0
  97. package/dist/type/dialect.d.ts.map +1 -0
  98. package/dist/type/dialect.js +2 -0
  99. package/dist/type/dialect.js.map +1 -0
  100. package/dist/type/entity.d.ts +97 -45
  101. package/dist/type/entity.d.ts.map +1 -1
  102. package/dist/type/entity.js.map +1 -1
  103. package/dist/type/index.d.ts +5 -0
  104. package/dist/type/index.d.ts.map +1 -1
  105. package/dist/type/index.js +5 -0
  106. package/dist/type/index.js.map +1 -1
  107. package/dist/type/querier.d.ts +4 -3
  108. package/dist/type/querier.d.ts.map +1 -1
  109. package/dist/type/querier.js +1 -1
  110. package/dist/type/querier.js.map +1 -1
  111. package/dist/type/query.d.ts +19 -668
  112. package/dist/type/query.d.ts.map +1 -1
  113. package/dist/type/query.js +1 -51
  114. package/dist/type/query.js.map +1 -1
  115. package/dist/type/queryAggregate.d.ts +191 -0
  116. package/dist/type/queryAggregate.d.ts.map +1 -0
  117. package/dist/type/queryAggregate.js +39 -0
  118. package/dist/type/queryAggregate.js.map +1 -0
  119. package/dist/type/queryRaw.d.ts +35 -0
  120. package/dist/type/queryRaw.d.ts.map +1 -0
  121. package/dist/type/queryRaw.js +11 -0
  122. package/dist/type/queryRaw.js.map +1 -0
  123. package/dist/type/queryWhere.d.ts +271 -0
  124. package/dist/type/queryWhere.d.ts.map +1 -0
  125. package/dist/type/queryWhere.js +2 -0
  126. package/dist/type/queryWhere.js.map +1 -0
  127. package/dist/type/universalQuerier.d.ts +3 -2
  128. package/dist/type/universalQuerier.d.ts.map +1 -1
  129. package/dist/type/utility.d.ts +16 -2
  130. package/dist/type/utility.d.ts.map +1 -1
  131. package/dist/type/vector.d.ts +55 -0
  132. package/dist/type/vector.d.ts.map +1 -0
  133. package/dist/type/vector.js +2 -0
  134. package/dist/type/vector.js.map +1 -0
  135. package/dist/util/ansiSqlLiteral.d.ts +2 -0
  136. package/dist/util/ansiSqlLiteral.d.ts.map +1 -1
  137. package/dist/util/ansiSqlLiteral.js +5 -1
  138. package/dist/util/ansiSqlLiteral.js.map +1 -1
  139. package/dist/util/dialect.util.d.ts +14 -2
  140. package/dist/util/dialect.util.d.ts.map +1 -1
  141. package/dist/util/dialect.util.js +23 -0
  142. package/dist/util/dialect.util.js.map +1 -1
  143. package/dist/util/object.util.d.ts +12 -1
  144. package/dist/util/object.util.d.ts.map +1 -1
  145. package/dist/util/object.util.js +18 -0
  146. package/dist/util/object.util.js.map +1 -1
  147. package/dist/util/relationQuery.util.js +1 -1
  148. package/dist/util/relationQuery.util.js.map +1 -1
  149. package/package.json +2 -2
@@ -0,0 +1,271 @@
1
+ import type { FieldKey, IdValue, JsonFieldPaths, JsonFieldPathValue, RelationKey } from './entity.js';
2
+ import type { QueryRaw } from './queryRaw.js';
3
+ import type { ExpandScalar, QueryComparableScalar, Scalar, Unpacked } from './utility.js';
4
+ /**
5
+ * options for full-text-search operator.
6
+ */
7
+ export type QueryTextSearchOptions<E> = {
8
+ /**
9
+ * text to search for.
10
+ */
11
+ $value: string;
12
+ /**
13
+ * list of fields to search on.
14
+ */
15
+ $fields?: FieldKey<E>[];
16
+ /**
17
+ * Postgres text-search configuration (e.g. `'english'`), applied to both the document and the
18
+ * query. Defaults to the server's `default_text_search_config`. Ignored by other dialects.
19
+ */
20
+ $config?: string;
21
+ };
22
+ /**
23
+ * comparison by fields.
24
+ */
25
+ export type QueryWhereFieldMap<E> = {
26
+ [K in FieldKey<E>]?: QueryWhereFieldValue<E[K]>;
27
+ };
28
+ /**
29
+ * Field comparison, JSON dot-path access, and relation filtering - all fully typed.
30
+ * JSON dot-paths are restricted to real JSON fields, and typed payloads type each path's value
31
+ * (untyped `Json` payloads accept any `field.suffix` path with a permissive value). Relations are
32
+ * filtered via nested typed objects; dotted relation paths are not supported (the dialects throw
33
+ * for non-JSON dotted keys).
34
+ */
35
+ export type QueryWhereMap<E> = QueryWhereFieldMap<E> & QueryWhereRootOperator<E> & {
36
+ [P in JsonFieldPaths<E>]?: QueryWhereFieldValue<JsonFieldPathValue<E, P>>;
37
+ } & {
38
+ [K in RelationKey<E>]?: QueryWhereMap<Unpacked<NonNullable<E[K]>>> | QueryRelationSizeFilter;
39
+ };
40
+ /**
41
+ * Filter a to-many relation by its row count.
42
+ * @example { users: { $size: 2 } }
43
+ * @example { users: { $size: { $gte: 2 } } }
44
+ */
45
+ export type QueryRelationSizeFilter = {
46
+ readonly $size: number | QuerySizeComparisonOps;
47
+ };
48
+ export type QueryWhereRootOperator<E> = {
49
+ /**
50
+ * joins query clauses with a logical `AND`, returns records that match all the clauses.
51
+ */
52
+ $and?: QueryWhereArray<E>;
53
+ /**
54
+ * joins query clauses with a logical `OR`, returns records that match any of the clauses.
55
+ */
56
+ $or?: QueryWhereArray<E>;
57
+ /**
58
+ * joins query clauses with a logical `AND`, returns records that do not match all the clauses.
59
+ * @see {@link QueryWhereFieldOperatorMap.$not} for per-field negation.
60
+ */
61
+ $not?: QueryWhereArray<E>;
62
+ /**
63
+ * joins query clauses with a logical `OR`, returns records that do not match any of the clauses.
64
+ */
65
+ $nor?: QueryWhereArray<E>;
66
+ /**
67
+ * whether the specified fields match against a full-text search of the given string.
68
+ */
69
+ $text?: QueryTextSearchOptions<E>;
70
+ /**
71
+ * whether the record exists in the given sub-query.
72
+ */
73
+ $exists?: QueryRaw;
74
+ /**
75
+ * whether the record does not exists in the given sub-query.
76
+ */
77
+ $nexists?: QueryRaw;
78
+ };
79
+ /**
80
+ * Per-field negation operators. `Pick`'s constraint ties this back to
81
+ * {@link QueryWhereRootOperator} so a rename there breaks this union at compile time.
82
+ */
83
+ export type QueryNegateOp = keyof Pick<QueryWhereRootOperator<unknown>, '$not' | '$nor'>;
84
+ /**
85
+ * Comparison operators accepted by `$size` for range queries: {@link QueryHavingOp} plus `$between`.
86
+ * Strips `null` from picked operators since array size is always numeric.
87
+ */
88
+ export type QuerySizeComparisonOps = {
89
+ [K in QueryHavingOp | '$between']?: NonNullable<QueryWhereFieldOperatorMap<number>[K]>;
90
+ };
91
+ export type QueryWhereFieldOperatorMap<T> = {
92
+ /**
93
+ * whether a value is equal to the given value.
94
+ */
95
+ $eq?: ExpandScalar<T> | null;
96
+ /**
97
+ * whether a value is not equal to the given value.
98
+ */
99
+ $ne?: ExpandScalar<T> | null;
100
+ /**
101
+ * negates the given comparison for a single field.
102
+ * @see {@link QueryWhereRootOperator.$not} for root-level clause negation.
103
+ */
104
+ $not?: QueryWhereFieldValue<T>;
105
+ /**
106
+ * whether a value is less than the given value.
107
+ */
108
+ $lt?: ExpandScalar<T>;
109
+ /**
110
+ * whether a value is less than or equal to the given value.
111
+ */
112
+ $lte?: ExpandScalar<T>;
113
+ /**
114
+ * whether a value is greater than the given value.
115
+ */
116
+ $gt?: ExpandScalar<T>;
117
+ /**
118
+ * whether a value is greater than or equal to the given value.
119
+ */
120
+ $gte?: ExpandScalar<T>;
121
+ /**
122
+ * whether a value is between two values (inclusive). Shorthand for $gte + $lte.
123
+ * @example { age: { $between: [18, 65] } }
124
+ */
125
+ $between?: [ExpandScalar<T>, ExpandScalar<T>];
126
+ /**
127
+ * whether a string begins with the given string (case sensitive).
128
+ */
129
+ $startsWith?: string;
130
+ /**
131
+ * whether a string begins with the given string (case insensitive).
132
+ */
133
+ $istartsWith?: string;
134
+ /**
135
+ * whether a string ends with the given string (case sensitive).
136
+ */
137
+ $endsWith?: string;
138
+ /**
139
+ * whether a string ends with the given string (case insensitive).
140
+ */
141
+ $iendsWith?: string;
142
+ /**
143
+ * whether a string is contained within the given string (case sensitive).
144
+ */
145
+ $includes?: string;
146
+ /**
147
+ * whether a string is contained within the given string (case insensitive).
148
+ */
149
+ $iincludes?: string;
150
+ /**
151
+ * whether a string fulfills the given pattern (case sensitive).
152
+ */
153
+ $like?: string;
154
+ /**
155
+ * whether a string fulfills the given pattern (case insensitive).
156
+ */
157
+ $ilike?: string;
158
+ /**
159
+ * whether a string matches the given regular expression.
160
+ */
161
+ $regex?: string;
162
+ /**
163
+ * whether a value matches any of the given values.
164
+ */
165
+ $in?: ExpandScalar<T>[];
166
+ /**
167
+ * whether a value does not match any of the given values.
168
+ */
169
+ $nin?: ExpandScalar<T>[];
170
+ /**
171
+ * whether a value is null.
172
+ * @example { deletedAt: { $isNull: true } }
173
+ */
174
+ $isNull?: boolean;
175
+ /**
176
+ * whether a value is not null.
177
+ * @example { email: { $isNotNull: true } }
178
+ */
179
+ $isNotNull?: boolean;
180
+ /**
181
+ * whether an array contains all the specified values.
182
+ * @example { tags: { $all: ['typescript', 'orm'] } }
183
+ */
184
+ $all?: unknown extends T ? unknown[] : NonNullable<T> extends readonly (infer U)[] ? ExpandScalar<U>[] : never;
185
+ /**
186
+ * whether an array has the specified length.
187
+ * Accepts a number for exact match, or a comparison operator object for range queries.
188
+ * @example { roles: { $size: 3 } }
189
+ * @example { roles: { $size: { $gte: 2 } } }
190
+ * @example { roles: { $size: { $gt: 0, $lte: 5 } } }
191
+ */
192
+ $size?: number | QuerySizeComparisonOps;
193
+ /**
194
+ * whether an array contains at least one element matching all specified conditions.
195
+ * Each key of the element type maps to a value or an operator map for that key.
196
+ * @example { addresses: { $elemMatch: { city: 'NYC', zip: '10001' } } }
197
+ * @example { addresses: { $elemMatch: { city: { $like: 'New%' } } } }
198
+ */
199
+ $elemMatch?: unknown extends T ? QueryWhereElemMatch<unknown> : NonNullable<T> extends readonly (infer U)[] ? QueryWhereElemMatch<U> : never;
200
+ };
201
+ /**
202
+ * Element-level conditions for `$elemMatch`. Scalar elements take an operator map for the element
203
+ * itself (`{ tags: { $elemMatch: { $startsWith: 'ad' } } }`); object elements map each key to a
204
+ * field comparison. An untyped element (`unknown`) accepts any keys but still requires the
205
+ * object-of-conditions shape (a bare scalar is rejected).
206
+ */
207
+ export type QueryWhereElemMatch<U> = unknown extends U ? {
208
+ [key: string]: QueryWhereFieldValue<unknown> | undefined;
209
+ } : NonNullable<U> extends Scalar ? QueryWhereFieldOperators<NonNullable<U>> : {
210
+ [K in keyof NonNullable<U>]?: QueryWhereFieldValue<NonNullable<U>[K]>;
211
+ };
212
+ /**
213
+ * Simple relational comparison operators. `Pick`'s constraint ties this back to
214
+ * {@link QueryWhereFieldOperatorMap} so a rename there breaks this union at compile time.
215
+ */
216
+ export type QueryCompareOp = keyof Pick<QueryWhereFieldOperatorMap<unknown>, '$gt' | '$gte' | '$lt' | '$lte'>;
217
+ /**
218
+ * String pattern-matching operators. `Pick`'s constraint ties this back to
219
+ * {@link QueryWhereFieldOperatorMap} so a rename there breaks this union at compile time.
220
+ */
221
+ export type QueryLikeOp = keyof Pick<QueryWhereFieldOperatorMap<unknown>, '$startsWith' | '$istartsWith' | '$endsWith' | '$iendsWith' | '$includes' | '$iincludes' | '$like' | '$ilike'>;
222
+ /**
223
+ * `HAVING` clause operators: {@link QueryCompareOp} plus `$eq`/`$ne`. `Pick`'s constraint ties the
224
+ * latter back to {@link QueryWhereFieldOperatorMap} so a rename there breaks this union at compile time.
225
+ */
226
+ export type QueryHavingOp = QueryCompareOp | keyof Pick<QueryWhereFieldOperatorMap<number>, '$eq' | '$ne'>;
227
+ /**
228
+ * String pattern-matching operators: {@link QueryLikeOp} plus `$regex`. `Pick`'s constraint ties
229
+ * the latter back to {@link QueryWhereFieldOperatorMap} so a rename there breaks this union.
230
+ */
231
+ type QueryStringOp = QueryLikeOp | keyof Pick<QueryWhereFieldOperatorMap<unknown>, '$regex'>;
232
+ /**
233
+ * Array-only operators. `Pick`'s constraint ties this back to {@link QueryWhereFieldOperatorMap}
234
+ * so a rename there breaks this union at compile time.
235
+ */
236
+ type QueryArrayOp = keyof Pick<QueryWhereFieldOperatorMap<unknown>, '$all' | '$size' | '$elemMatch'>;
237
+ /**
238
+ * Ordering operators: {@link QueryCompareOp} plus `$between`.
239
+ */
240
+ type QueryOrderedOp = QueryCompareOp | keyof Pick<QueryWhereFieldOperatorMap<unknown>, '$between'>;
241
+ /**
242
+ * Operators applicable to every field type: equality, membership, negation, and null checks.
243
+ */
244
+ type QueryCommonOp = Exclude<keyof QueryWhereFieldOperatorMap<unknown>, QueryStringOp | QueryArrayOp | QueryOrderedOp>;
245
+ /**
246
+ * Operator keys applicable to a field of type `T`. Brackets prevent union distribution so an
247
+ * optional field (`string | undefined`) or a literal union (`'a' | 'b'`) gates as one type.
248
+ */
249
+ type QueryAllowedOp<T> = QueryCommonOp | ([NonNullable<T>] extends [QueryComparableScalar] ? QueryOrderedOp : never) | ([NonNullable<T>] extends [string] ? QueryStringOp : never) | ([NonNullable<T>] extends [readonly unknown[]] ? QueryArrayOp : never);
250
+ /**
251
+ * Operators applicable to a field of type `T`: string operators require string fields, ordering
252
+ * operators comparable fields, array operators array fields. `unknown` stays fully permissive
253
+ * (untyped JSON dot-paths, erased dialect shapes).
254
+ */
255
+ export type QueryWhereFieldOperators<T> = unknown extends T ? QueryWhereFieldOperatorMap<T> : Pick<QueryWhereFieldOperatorMap<T>, QueryAllowedOp<T>>;
256
+ /**
257
+ * Value for a field comparison. A bare array is an implicit `$in` for scalar fields only:
258
+ * on array-typed fields (e.g. a vector `number[]`) an array of arrays is ambiguous, so
259
+ * membership there requires an explicit operator.
260
+ */
261
+ export type QueryWhereFieldValue<T> = T | ([NonNullable<T>] extends [readonly unknown[]] ? never : T[]) | QueryWhereFieldOperators<T> | QueryRaw;
262
+ /**
263
+ * query filter array - used for `$and`, `$or`, `$not`, `$nor` operators.
264
+ */
265
+ export type QueryWhereArray<E> = (QueryWhereMap<E> | QueryRaw)[];
266
+ /**
267
+ * query filter.
268
+ */
269
+ export type QueryWhere<E> = IdValue<E> | IdValue<E>[] | QueryWhereMap<E> | QueryWhereArray<E> | QueryRaw;
270
+ export {};
271
+ //# sourceMappingURL=queryWhere.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryWhere.d.ts","sourceRoot":"","sources":["../../src/type/queryWhere.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=queryWhere.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryWhere.js","sourceRoot":"","sources":["../../src/type/queryWhere.ts"],"names":[],"mappings":""}
@@ -1,5 +1,6 @@
1
1
  import type { IdValue, UpdatePayload } from './entity.js';
2
- import type { Query, QueryAggMap, QueryAggregate, QueryAggregateResult, QueryConflictPaths, QueryGroupMap, QueryOne, QueryOptions, QuerySearch, QueryUpdateResult } from './query.js';
2
+ import type { Query, QueryConflictPaths, QueryOne, QueryOptions, QuerySearch, QueryUpdateResult } from './query.js';
3
+ import type { QueryAggMap, QueryAggregate, QueryAggregateResult, QueryGroupMap } from './queryAggregate.js';
3
4
  import type { Type } from './utility.js';
4
5
  /**
5
6
  * A `querier` allows to interact with the datasource to perform persistence operations on any entity.
@@ -50,7 +51,7 @@ export interface UniversalQuerier {
50
51
  * @param q the search options
51
52
  * @return the count
52
53
  */
53
- count<E extends object>(entity: Type<E>, q: QuerySearch<E>, opts?: QueryOptions): Promise<number>;
54
+ count<E extends object>(entity: Type<E>, q?: QuerySearch<E>, opts?: QueryOptions): Promise<number>;
54
55
  /**
55
56
  * inserts a record.
56
57
  * @param entity the entity to persist on
@@ -1 +1 @@
1
- {"version":3,"file":"universalQuerier.d.ts","sourceRoot":"","sources":["../../src/type/universalQuerier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"universalQuerier.d.ts","sourceRoot":"","sources":["../../src/type/universalQuerier.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,15 @@ export type BooleanLike = boolean | 0 | 1;
3
3
  export type MongoId = {
4
4
  toHexString: () => string;
5
5
  };
6
+ /**
7
+ * Every value type storable in an entity column. Superset of {@link QueryComparableScalar}
8
+ * and {@link PrimaryKey}.
9
+ */
6
10
  export type Scalar = string | number | boolean | bigint | Date | RegExp | Buffer | MongoId;
7
- export type Primitive = string | number | symbol;
11
+ /**
12
+ * Scalar types with a meaningful ordering, accepted by `$lt`/`$lte`/`$gt`/`$gte`/`$between`.
13
+ */
14
+ export type QueryComparableScalar = string | number | bigint | Date;
8
15
  /**
9
16
  * Represents a database primary key value.
10
17
  */
@@ -33,5 +40,12 @@ export interface RawRow {
33
40
  export type Writable<T> = {
34
41
  -readonly [K in keyof T]: T[K];
35
42
  };
36
- export type Unpacked<T> = T extends (infer U)[] ? U : T extends (...args: unknown[]) => infer U ? U : T extends Promise<infer U> ? U : T;
43
+ /**
44
+ * `Omit`, but distributed over `T`'s union members before recombining. Plain `Omit<T, K>` computes
45
+ * `keyof T` up front, which for a union takes the intersection of each member's keys and flattens
46
+ * their property types together - collapsing a discriminated union (e.g. `EntityIndexMeta`'s
47
+ * `type`/`distance` pairing) into a single, non-discriminated shape.
48
+ */
49
+ export type DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
50
+ export type Unpacked<T> = T extends readonly (infer U)[] ? U : T extends (...args: unknown[]) => infer U ? U : T extends Promise<infer U> ? U : T;
37
51
  //# sourceMappingURL=utility.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../src/type/utility.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAEjG,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AAE1C,MAAM,MAAM,OAAO,GAAG;IACpB,WAAW,EAAE,MAAM,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3F,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhE,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE7D,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC3C,CAAC,GACD,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC,GACvC,CAAC,GACD,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GACxB,CAAC,GACD,CAAC,CAAC"}
1
+ {"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../src/type/utility.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAEjG,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AAE1C,MAAM,MAAM,OAAO,GAAG;IACpB,WAAW,EAAE,MAAM,MAAM,CAAC;CAC3B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3F;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhE,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,OAAO,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;AAEhG,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACpD,CAAC,GACD,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC,GACvC,CAAC,GACD,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GACxB,CAAC,GACD,CAAC,CAAC"}
@@ -0,0 +1,55 @@
1
+ import type { IndexType } from '../schema/types.js';
2
+ /**
3
+ * Distance metrics supported by vector similarity search.
4
+ * - `cosine` - best for text/LLM embeddings (default)
5
+ * - `l2` - Euclidean distance
6
+ * - `inner` - inner (dot) product
7
+ * - `l1` - Manhattan distance
8
+ * - `hamming` - for binary vectors
9
+ */
10
+ export type VectorDistance = 'cosine' | 'l2' | 'inner' | 'l1' | 'hamming';
11
+ /**
12
+ * Vector similarity search options - used inside `$sort` on vector fields.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * querier.findMany(Article, {
17
+ * $sort: { embedding: { $vector: queryVec } },
18
+ * $limit: 10,
19
+ * });
20
+ * ```
21
+ */
22
+ export interface QueryVectorSearch {
23
+ /** The query vector to compare against. */
24
+ readonly $vector: readonly number[];
25
+ /** Distance metric. Overrides entity-level default. Falls back to `'cosine'`. */
26
+ readonly $distance?: VectorDistance;
27
+ /** Project the computed distance as a named field in the result. */
28
+ readonly $project?: string;
29
+ }
30
+ /**
31
+ * Augments an entity with the distance field projected by a vector-search `$sort.$project`. The
32
+ * find methods return the plain entity, so annotate the result with this when you project a score:
33
+ * ```ts
34
+ * const results = (await querier.findMany(Article, {
35
+ * $sort: { embedding: { $vector: queryVec, $project: 'similarity' } },
36
+ * })) as WithDistance<Article, 'similarity'>[];
37
+ * ```
38
+ */
39
+ export type WithDistance<E, K extends string = '_distance'> = E & Record<K, number>;
40
+ /**
41
+ * Vector-specific tuning options shared by `@Index` decorator, entity metadata, and migration schema.
42
+ */
43
+ export type VectorIndexOptions = {
44
+ /** Distance metric for vector indexes - maps to operator class. */
45
+ distance?: VectorDistance;
46
+ /** HNSW: max connections per node. */
47
+ m?: number;
48
+ /** HNSW: construction search depth. */
49
+ efConstruction?: number;
50
+ /** IVFFlat: number of inverted lists. */
51
+ lists?: number;
52
+ };
53
+ /** Index types whose emitted DDL depends on the distance metric. */
54
+ export type VectorIndexType = Extract<IndexType, 'hnsw' | 'ivfflat' | 'vector'>;
55
+ //# sourceMappingURL=vector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../src/type/vector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE1E;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,WAAW,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAEpF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,sCAAsC;IACtC,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oEAAoE;AACpE,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=vector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector.js","sourceRoot":"","sources":["../../src/type/vector.ts"],"names":[],"mappings":""}
@@ -13,6 +13,8 @@
13
13
  * are separate from this helper; see {@link PostgresDialect} (array text format when
14
14
  * `nativeArrays` is false) - do not "unify" that path with this function.
15
15
  */
16
+ /** Doubles every single quote in `val`, the ANSI escaping shared by string literals and JSON path keys. */
17
+ export declare function escapeSingleQuotes(val: string): string;
16
18
  /**
17
19
  * Escape `value` as an SQL literal (or `NULL`). Throws on unsupported types so callers cannot
18
20
  * accidentally stringify attacker-controlled objects into SQL.
@@ -1 +1 @@
1
- {"version":3,"file":"ansiSqlLiteral.d.ts","sourceRoot":"","sources":["../../src/util/ansiSqlLiteral.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoDH;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAsC3D"}
1
+ {"version":3,"file":"ansiSqlLiteral.d.ts","sourceRoot":"","sources":["../../src/util/ansiSqlLiteral.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,2GAA2G;AAC3G,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAkDD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAsC3D"}
@@ -14,8 +14,12 @@
14
14
  * `nativeArrays` is false) - do not "unify" that path with this function.
15
15
  */
16
16
  const SINGLE_QUOTE = /'/g;
17
+ /** Doubles every single quote in `val`, the ANSI escaping shared by string literals and JSON path keys. */
18
+ export function escapeSingleQuotes(val) {
19
+ return val.replace(SINGLE_QUOTE, "''");
20
+ }
17
21
  function escapeStringLiteral(val) {
18
- return `'${val.replace(SINGLE_QUOTE, "''")}'`;
22
+ return `'${escapeSingleQuotes(val)}'`;
19
23
  }
20
24
  function zeroPad(n, len) {
21
25
  let s = String(n);
@@ -1 +1 @@
1
- {"version":3,"file":"ansiSqlLiteral.js","sourceRoot":"","sources":["../../src/util/ansiSqlLiteral.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ansiSqlLiteral.js","sourceRoot":"","sources":["../../src/util/ansiSqlLiteral.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type CascadeType, type EntityMeta, type FieldKey, type FieldOptions, type OnFieldCallback, type QueryAggMap, type QueryAggregateOp, type QueryExclude, type QueryGroupMap, type QueryOptions, QueryRaw, type QuerySelect, type QuerySortMap, type QueryVectorSearch, type QueryWhere, type QueryWhereMap, type RelationKey } from '../type/index.js';
1
+ import { type CascadeType, type EntityMeta, type FieldKey, type FieldOptions, type JsonUpdateOp, type OnFieldCallback, type QueryAggMap, type QueryAggregateOp, type QueryExclude, type QueryGroupMap, type QueryOptions, QueryRaw, type QuerySelect, type QuerySelectValue, type QuerySortMap, type QueryVectorSearch, type QueryWhere, type QueryWhereMap, type RelationKey } from '../type/index.js';
2
2
  export type CallbackKey = keyof Pick<FieldOptions, 'onInsert' | 'onUpdate'>;
3
3
  export declare function filterFieldKeys<E>(meta: EntityMeta<E>, payload: E, callbackKey: CallbackKey): FieldKey<E>[];
4
4
  /**
@@ -23,12 +23,24 @@ export declare function getFieldCallbackValue(val: OnFieldCallback): QueryRaw |
23
23
  */
24
24
  export declare function getSoftDeleteValue(field: FieldOptions): QueryRaw | import("../type/utility.js").Scalar;
25
25
  export declare function fillOnFields<E>(meta: EntityMeta<E>, payload: E | E[], callbackKey: CallbackKey): E[];
26
- export declare function filterPersistableRelationKeys<E>(meta: EntityMeta<E>, payload: E, action: CascadeType): RelationKey<E>[];
26
+ /**
27
+ * The relation keys present in `payload` whose cascade configuration allows `action`. Only
28
+ * `payload`'s keys are read, so any keys-bearing object works (an entity, an update payload,
29
+ * or `meta.relations` itself to enumerate every cascadable relation).
30
+ */
31
+ export declare function filterPersistableRelationKeys<E>(meta: EntityMeta<E>, payload: object, action: CascadeType): RelationKey<E>[];
27
32
  export declare function isCascadable(action: CascadeType, configuration?: boolean | CascadeType): boolean;
33
+ /**
34
+ * The map form of a `$select` value, or `undefined` for the raw-array form. Centralizes the one
35
+ * narrowing cast: `Array.isArray` does not narrow `readonly` arrays out of a union.
36
+ */
37
+ export declare function asSelectMap<E>(select: QuerySelectValue<E> | undefined): QuerySelect<E> | undefined;
28
38
  export declare function normalizeScalarFieldSelection<E>(meta: EntityMeta<E>, select?: QuerySelect<E>, exclude?: QueryExclude<E>): FieldKey<E>[];
29
39
  export declare function buildSortMap<E>(sort: QuerySortMap<E> | undefined): QuerySortMap<E>;
30
40
  /** Type guard: checks whether a sort value is a vector similarity search. */
31
41
  export declare function isVectorSearch(value: unknown): value is QueryVectorSearch;
42
+ /** Type guard: checks whether an update payload value is a JSON operator object. */
43
+ export declare function isJsonUpdateOp(value: unknown): value is JsonUpdateOp;
32
44
  export declare function augmentWhere<E>(meta: EntityMeta<E>, target?: QueryWhere<E>, source?: QueryWhere<E>): QueryWhere<E>;
33
45
  /**
34
46
  * Normalizes any `$where` shape (id, id[], raw, or map) to a `QueryWhereMap`. Read-only: for a map
@@ -1 +1 @@
1
- {"version":3,"file":"dialect.util.d.ts","sourceRoot":"","sources":["../../src/util/dialect.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dialect.util.d.ts","sourceRoot":"","sources":["../../src/util/dialect.util.ts"],"names":[],"mappings":"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"}
@@ -77,6 +77,11 @@ export function fillOnFields(meta, payload, callbackKey) {
77
77
  }
78
78
  return payloads;
79
79
  }
80
+ /**
81
+ * The relation keys present in `payload` whose cascade configuration allows `action`. Only
82
+ * `payload`'s keys are read, so any keys-bearing object works (an entity, an update payload,
83
+ * or `meta.relations` itself to enumerate every cascadable relation).
84
+ */
80
85
  export function filterPersistableRelationKeys(meta, payload, action) {
81
86
  const keys = getKeys(payload);
82
87
  return keys.filter((key) => {
@@ -90,6 +95,13 @@ export function isCascadable(action, configuration) {
90
95
  }
91
96
  return configuration === action;
92
97
  }
98
+ /**
99
+ * The map form of a `$select` value, or `undefined` for the raw-array form. Centralizes the one
100
+ * narrowing cast: `Array.isArray` does not narrow `readonly` arrays out of a union.
101
+ */
102
+ export function asSelectMap(select) {
103
+ return Array.isArray(select) ? undefined : select;
104
+ }
93
105
  export function normalizeScalarFieldSelection(meta, select, exclude) {
94
106
  // A positive `$select` (the common case) wins outright and returns
95
107
  // before `$exclude` is ever scanned.
@@ -135,6 +147,17 @@ export function buildSortMap(sort) {
135
147
  export function isVectorSearch(value) {
136
148
  return value !== null && typeof value === 'object' && '$vector' in value;
137
149
  }
150
+ /** `satisfies` ties this to {@link JsonUpdateOp}, so renaming an operator breaks it at compile time. */
151
+ const JSON_UPDATE_OPS = [
152
+ '$set',
153
+ '$unset',
154
+ '$push',
155
+ '$pull',
156
+ ];
157
+ /** Type guard: checks whether an update payload value is a JSON operator object. */
158
+ export function isJsonUpdateOp(value) {
159
+ return value !== null && typeof value === 'object' && someKey(value, (key) => JSON_UPDATE_OPS.includes(key));
160
+ }
138
161
  export function augmentWhere(meta, target = {}, source = {}) {
139
162
  const targetComparison = buildQueryWhereAsMap(meta, target);
140
163
  const sourceComparison = buildQueryWhereAsMap(meta, source);
@@ -1 +1 @@
1
- {"version":3,"file":"dialect.util.js","sourceRoot":"","sources":["../../src/util/dialect.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dialect.util.js","sourceRoot":"","sources":["../../src/util/dialect.util.ts"],"names":[],"mappings":"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"}