orchid-orm 1.9.12 → 1.9.14

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.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as pqb from 'pqb';
2
2
  import { BelongsToRelation, HasManyRelation, HasOneRelation, Db, IsolationLevel, TransactionOptions, Adapter, FromArgs, Query, FromResult, AdapterOptions, QueryLogOptions, NoPrimaryKeyOption, HasAndBelongsToManyRelation, SetQueryTableAlias, defaultsKey, BaseRelation, RelationQuery, SetQueryReturnsOne, SetQueryReturnsOneOptional, SetQueryReturnsAll, DefaultColumnTypes, ColumnsShape, WhereResult, MergeQuery, SetQueryReturns, QueryReturnType } from 'pqb';
3
- export { OrchidOrmError, OrchidOrmInternalError, columnTypes } from 'pqb';
3
+ export { OrchidOrmError, OrchidOrmInternalError, columnTypes, testTransaction } from 'pqb';
4
4
  import * as orchid_core from 'orchid-core';
5
5
  import { StringKey, EmptyObject, ColumnTypesBase, ColumnShapeOutput } from 'orchid-core';
6
6
  import { AppCodeUpdater } from 'rake-db';
@@ -74,6 +74,8 @@ type OrchidORM<T extends TableClasses = TableClasses> = {
74
74
  $close(): Promise<void>;
75
75
  };
76
76
  declare const orchidORM: <T extends TableClasses>({ log, logger, autoPreparedStatements, noPrimaryKey, ...options }: (Omit<AdapterOptions, "log"> | {
77
+ db: Query;
78
+ } | {
77
79
  adapter: Adapter;
78
80
  }) & QueryLogOptions & {
79
81
  autoPreparedStatements?: boolean | undefined;
@@ -162,24 +164,50 @@ declare const createBaseTable: <CT extends Record<string, orchid_core.AnyColumnT
162
164
  noPrimaryKey?: boolean | undefined;
163
165
  snakeCase: boolean | undefined;
164
166
  columnTypes: Record<string, orchid_core.AnyColumnTypeCreator> extends CT ? {
165
- timestamps: <T extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
167
+ timestamps<T extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
166
168
  name(name: string): {
167
169
  timestamp(): T;
168
170
  };
169
171
  timestamp(): T;
170
- }) => {
172
+ timestampsSnakeCase(): {
173
+ createdAt: orchid_core.ColumnWithDefault<T, orchid_core.RawExpression>;
174
+ updatedAt: orchid_core.ColumnWithDefault<T, orchid_core.RawExpression>;
175
+ };
176
+ }): {
171
177
  createdAt: orchid_core.ColumnWithDefault<T, orchid_core.RawExpression>;
172
178
  updatedAt: orchid_core.ColumnWithDefault<T, orchid_core.RawExpression>;
173
179
  };
174
- timestampsSnakeCase: <T_1 extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
180
+ timestampsSnakeCase<T_1 extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
175
181
  name(name: string): {
176
182
  timestamp(): T_1;
177
183
  };
178
184
  timestamp(): T_1;
179
- }) => {
185
+ }): {
180
186
  createdAt: orchid_core.ColumnWithDefault<T_1, orchid_core.RawExpression>;
181
187
  updatedAt: orchid_core.ColumnWithDefault<T_1, orchid_core.RawExpression>;
182
188
  };
189
+ timestampsNoTZ<T_2 extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
190
+ name(name: string): {
191
+ timestampNoTZ(): T_2;
192
+ };
193
+ timestampNoTZ(): T_2;
194
+ timestampsNoTZSnakeCase(): {
195
+ createdAt: orchid_core.ColumnWithDefault<T_2, orchid_core.RawExpression>;
196
+ updatedAt: orchid_core.ColumnWithDefault<T_2, orchid_core.RawExpression>;
197
+ };
198
+ }): {
199
+ createdAt: orchid_core.ColumnWithDefault<T_2, orchid_core.RawExpression>;
200
+ updatedAt: orchid_core.ColumnWithDefault<T_2, orchid_core.RawExpression>;
201
+ };
202
+ timestampsNoTZSnakeCase<T_3 extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
203
+ name(name: string): {
204
+ timestampNoTZ(): T_3;
205
+ };
206
+ timestampNoTZ(): T_3;
207
+ }): {
208
+ createdAt: orchid_core.ColumnWithDefault<T_3, orchid_core.RawExpression>;
209
+ updatedAt: orchid_core.ColumnWithDefault<T_3, orchid_core.RawExpression>;
210
+ };
183
211
  name: typeof orchid_core.name;
184
212
  raw: (sql: string, values?: false | Record<string, unknown> | undefined) => orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>;
185
213
  smallint(): pqb.SmallIntColumn;
@@ -201,12 +229,12 @@ declare const createBaseTable: <CT extends Record<string, orchid_core.AnyColumnT
201
229
  citext(min: number, max: number): pqb.CitextColumn;
202
230
  bytea(): pqb.ByteaColumn;
203
231
  date(): pqb.DateColumn;
204
- timestampWithoutTimeZone<Precision_2 extends number>(precision?: Precision_2 | undefined): pqb.TimestampColumn<Precision_2>;
205
- timestamp<Precision_3 extends number | undefined = undefined>(precision?: Precision_3 | undefined): pqb.TimestampTzColumn<number>;
232
+ timestampNoTZ<Precision_2 extends number>(precision?: Precision_2 | undefined): pqb.TimestampColumn<Precision_2>;
233
+ timestamp<Precision_3 extends number | undefined = undefined>(precision?: Precision_3 | undefined): pqb.TimestampTZColumn<number>;
206
234
  time<Precision_4 extends number | undefined = undefined>(precision?: Precision_4 | undefined): pqb.TimeColumn<Precision_4>;
207
235
  interval<Fields extends string | undefined = undefined, Precision_5 extends number | undefined = undefined>(fields?: Fields | undefined, precision?: Precision_5 | undefined): pqb.IntervalColumn<Fields, Precision_5>;
208
236
  boolean(): pqb.BooleanColumn;
209
- enum<U extends string, T_2 extends [U, ...U[]]>(dataType: string, type: T_2): pqb.EnumColumn<U, T_2>;
237
+ enum<U extends string, T_4 extends [U, ...U[]]>(dataType: string, type: T_4): pqb.EnumColumn<U, T_4>;
210
238
  point(): pqb.PointColumn;
211
239
  line(): pqb.LineColumn;
212
240
  lseg(): pqb.LsegColumn;
@@ -226,8 +254,8 @@ declare const createBaseTable: <CT extends Record<string, orchid_core.AnyColumnT
226
254
  xml(): pqb.XMLColumn;
227
255
  json<Type extends orchid_core.JSONTypeAny>(schemaOrFn: Type | ((j: {
228
256
  set: <Value extends orchid_core.JSONTypeAny>(valueType: Value) => orchid_core.JSONSet<Value>;
229
- tuple: <T_3 extends [] | orchid_core.JSONTupleItems, Rest extends orchid_core.JSONTypeAny | null = null>(items: T_3, rest?: Rest) => orchid_core.JSONTuple<T_3, Rest>;
230
- union: <T_4 extends [orchid_core.JSONTypeAny, orchid_core.JSONTypeAny, ...orchid_core.JSONTypeAny[]]>(types: T_4) => orchid_core.JSONUnion<T_4>;
257
+ tuple: <T_5 extends [] | orchid_core.JSONTupleItems, Rest extends orchid_core.JSONTypeAny | null = null>(items: T_5, rest?: Rest) => orchid_core.JSONTuple<T_5, Rest>;
258
+ union: <T_6 extends [orchid_core.JSONTypeAny, orchid_core.JSONTypeAny, ...orchid_core.JSONTypeAny[]]>(types: T_6) => orchid_core.JSONUnion<T_6>;
231
259
  any: () => orchid_core.JSONAny;
232
260
  bigint: () => orchid_core.JSONBigInt;
233
261
  boolean: () => orchid_core.JSONBoolean;
@@ -240,21 +268,21 @@ declare const createBaseTable: <CT extends Record<string, orchid_core.AnyColumnT
240
268
  unknown: () => orchid_core.JSONUnknown;
241
269
  array: <Type_1 extends orchid_core.JSONTypeAny>(element: Type_1) => orchid_core.JSONArray<Type_1, "many">;
242
270
  discriminatedUnion: <Discriminator extends string, DiscriminatorValue extends orchid_core.Primitive, Types extends [orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, ...orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>[]]>(discriminator: Discriminator, options: Types) => orchid_core.JSONDiscriminatedUnion<Discriminator, DiscriminatorValue, Types>;
243
- enum: <U_1 extends string, T_5 extends [U_1, ...U_1[]]>(options: T_5) => orchid_core.JSONEnum<U_1, T_5>;
244
- instanceOf: <T_6 extends new (...args: any[]) => any>(cls: T_6) => orchid_core.JSONInstanceOf<T_6>;
271
+ enum: <U_1 extends string, T_7 extends [U_1, ...U_1[]]>(options: T_7) => orchid_core.JSONEnum<U_1, T_7>;
272
+ instanceOf: <T_8 extends new (...args: any[]) => any>(cls: T_8) => orchid_core.JSONInstanceOf<T_8>;
245
273
  intersection: <Left extends orchid_core.JSONTypeAny, Right extends orchid_core.JSONTypeAny>(left: Left, right: Right) => orchid_core.JSONIntersection<Left, Right>;
246
- lazy: <T_7 extends orchid_core.JSONTypeAny>(fn: () => T_7) => orchid_core.JSONLazy<T_7>;
247
- literal: <T_8 extends orchid_core.Primitive>(value: T_8) => orchid_core.JSONLiteral<T_8>;
274
+ lazy: <T_9 extends orchid_core.JSONTypeAny>(fn: () => T_9) => orchid_core.JSONLazy<T_9>;
275
+ literal: <T_10 extends orchid_core.Primitive>(value: T_10) => orchid_core.JSONLiteral<T_10>;
248
276
  map: <Key extends orchid_core.JSONTypeAny, Value_1 extends orchid_core.JSONTypeAny>(keyType: Key, valueType: Value_1) => orchid_core.JSONMap<Key, Value_1>;
249
- nativeEnum: <T_9 extends orchid_core.EnumLike>(givenEnum: T_9) => orchid_core.JSONNativeEnum<T_9>;
250
- nullable: <T_10 extends orchid_core.JSONTypeAny>(type: T_10) => orchid_core.JSONNullable<T_10>;
251
- nullish: <T_11 extends orchid_core.JSONTypeAny>(type: T_11) => orchid_core.JSONNullish<T_11>;
252
- object: <T_12 extends orchid_core.JSONObjectShape, UnknownKeys extends orchid_core.UnknownKeysParam = "strip", Catchall extends orchid_core.JSONTypeAny = orchid_core.JSONTypeAny>(shape: T_12) => orchid_core.JSONObject<T_12, UnknownKeys, Catchall, orchid_core.JSONTypeAny extends Catchall ? orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }> extends infer T_13 extends object ? { [k in keyof T_13]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }>[k]; } : never : (orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }> extends infer T_16 extends object ? { [k in keyof T_16]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }>[k]; } : never) & {
277
+ nativeEnum: <T_11 extends orchid_core.EnumLike>(givenEnum: T_11) => orchid_core.JSONNativeEnum<T_11>;
278
+ nullable: <T_12 extends orchid_core.JSONTypeAny>(type: T_12) => orchid_core.JSONNullable<T_12>;
279
+ nullish: <T_13 extends orchid_core.JSONTypeAny>(type: T_13) => orchid_core.JSONNullish<T_13>;
280
+ object: <T_14 extends orchid_core.JSONObjectShape, UnknownKeys extends orchid_core.UnknownKeysParam = "strip", Catchall extends orchid_core.JSONTypeAny = orchid_core.JSONTypeAny>(shape: T_14) => orchid_core.JSONObject<T_14, UnknownKeys, Catchall, orchid_core.JSONTypeAny extends Catchall ? orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }> extends infer T_15 extends object ? { [k in keyof T_15]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }>[k]; } : never : (orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }> extends infer T_18 extends object ? { [k in keyof T_18]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }>[k]; } : never) & {
253
281
  [k: string]: Catchall["type"];
254
- } extends infer T_14 extends object ? { [k_2 in keyof T_14]: ((orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }> extends infer T_15 extends object ? { [k in keyof T_15]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }>[k]; } : never) & {
282
+ } extends infer T_16 extends object ? { [k_2 in keyof T_16]: ((orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }> extends infer T_17 extends object ? { [k in keyof T_17]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }>[k]; } : never) & {
255
283
  [k: string]: Catchall["type"];
256
284
  })[k_2]; } : never>;
257
- optional: <T_17 extends orchid_core.JSONTypeAny>(type: T_17) => orchid_core.JSONOptional<T_17>;
285
+ optional: <T_19 extends orchid_core.JSONTypeAny>(type: T_19) => orchid_core.JSONOptional<T_19>;
258
286
  record: typeof orchid_core.record;
259
287
  }) => Type)): pqb.JSONColumn<Type>;
260
288
  jsonText(): pqb.JSONTextColumn;
@@ -279,25 +307,51 @@ declare const createBaseTable: <CT extends Record<string, orchid_core.AnyColumnT
279
307
  check(check: orchid_core.RawExpression): {};
280
308
  } : CT;
281
309
  filePath: string;
282
- setColumns<T_18 extends ColumnsShape>(fn: (t: Record<string, orchid_core.AnyColumnTypeCreator> extends CT ? {
283
- timestamps: <T extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
310
+ setColumns<T_20 extends ColumnsShape>(fn: (t: Record<string, orchid_core.AnyColumnTypeCreator> extends CT ? {
311
+ timestamps<T extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
284
312
  name(name: string): {
285
313
  timestamp(): T;
286
314
  };
287
315
  timestamp(): T;
288
- }) => {
316
+ timestampsSnakeCase(): {
317
+ createdAt: orchid_core.ColumnWithDefault<T, orchid_core.RawExpression>;
318
+ updatedAt: orchid_core.ColumnWithDefault<T, orchid_core.RawExpression>;
319
+ };
320
+ }): {
289
321
  createdAt: orchid_core.ColumnWithDefault<T, orchid_core.RawExpression>;
290
322
  updatedAt: orchid_core.ColumnWithDefault<T, orchid_core.RawExpression>;
291
323
  };
292
- timestampsSnakeCase: <T_1 extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
324
+ timestampsSnakeCase<T_1 extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
293
325
  name(name: string): {
294
326
  timestamp(): T_1;
295
327
  };
296
328
  timestamp(): T_1;
297
- }) => {
329
+ }): {
298
330
  createdAt: orchid_core.ColumnWithDefault<T_1, orchid_core.RawExpression>;
299
331
  updatedAt: orchid_core.ColumnWithDefault<T_1, orchid_core.RawExpression>;
300
332
  };
333
+ timestampsNoTZ<T_2 extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
334
+ name(name: string): {
335
+ timestampNoTZ(): T_2;
336
+ };
337
+ timestampNoTZ(): T_2;
338
+ timestampsNoTZSnakeCase(): {
339
+ createdAt: orchid_core.ColumnWithDefault<T_2, orchid_core.RawExpression>;
340
+ updatedAt: orchid_core.ColumnWithDefault<T_2, orchid_core.RawExpression>;
341
+ };
342
+ }): {
343
+ createdAt: orchid_core.ColumnWithDefault<T_2, orchid_core.RawExpression>;
344
+ updatedAt: orchid_core.ColumnWithDefault<T_2, orchid_core.RawExpression>;
345
+ };
346
+ timestampsNoTZSnakeCase<T_3 extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
347
+ name(name: string): {
348
+ timestampNoTZ(): T_3;
349
+ };
350
+ timestampNoTZ(): T_3;
351
+ }): {
352
+ createdAt: orchid_core.ColumnWithDefault<T_3, orchid_core.RawExpression>;
353
+ updatedAt: orchid_core.ColumnWithDefault<T_3, orchid_core.RawExpression>;
354
+ };
301
355
  name: typeof orchid_core.name;
302
356
  raw: (sql: string, values?: false | Record<string, unknown> | undefined) => orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>;
303
357
  smallint(): pqb.SmallIntColumn;
@@ -319,12 +373,12 @@ declare const createBaseTable: <CT extends Record<string, orchid_core.AnyColumnT
319
373
  citext(min: number, max: number): pqb.CitextColumn;
320
374
  bytea(): pqb.ByteaColumn;
321
375
  date(): pqb.DateColumn;
322
- timestampWithoutTimeZone<Precision_2 extends number>(precision?: Precision_2 | undefined): pqb.TimestampColumn<Precision_2>;
323
- timestamp<Precision_3 extends number | undefined = undefined>(precision?: Precision_3 | undefined): pqb.TimestampTzColumn<number>;
376
+ timestampNoTZ<Precision_2 extends number>(precision?: Precision_2 | undefined): pqb.TimestampColumn<Precision_2>;
377
+ timestamp<Precision_3 extends number | undefined = undefined>(precision?: Precision_3 | undefined): pqb.TimestampTZColumn<number>;
324
378
  time<Precision_4 extends number | undefined = undefined>(precision?: Precision_4 | undefined): pqb.TimeColumn<Precision_4>;
325
379
  interval<Fields extends string | undefined = undefined, Precision_5 extends number | undefined = undefined>(fields?: Fields | undefined, precision?: Precision_5 | undefined): pqb.IntervalColumn<Fields, Precision_5>;
326
380
  boolean(): pqb.BooleanColumn;
327
- enum<U extends string, T_2 extends [U, ...U[]]>(dataType: string, type: T_2): pqb.EnumColumn<U, T_2>;
381
+ enum<U extends string, T_4 extends [U, ...U[]]>(dataType: string, type: T_4): pqb.EnumColumn<U, T_4>;
328
382
  point(): pqb.PointColumn;
329
383
  line(): pqb.LineColumn;
330
384
  lseg(): pqb.LsegColumn;
@@ -344,8 +398,8 @@ declare const createBaseTable: <CT extends Record<string, orchid_core.AnyColumnT
344
398
  xml(): pqb.XMLColumn;
345
399
  json<Type extends orchid_core.JSONTypeAny>(schemaOrFn: Type | ((j: {
346
400
  set: <Value extends orchid_core.JSONTypeAny>(valueType: Value) => orchid_core.JSONSet<Value>;
347
- tuple: <T_3 extends [] | orchid_core.JSONTupleItems, Rest extends orchid_core.JSONTypeAny | null = null>(items: T_3, rest?: Rest) => orchid_core.JSONTuple<T_3, Rest>;
348
- union: <T_4 extends [orchid_core.JSONTypeAny, orchid_core.JSONTypeAny, ...orchid_core.JSONTypeAny[]]>(types: T_4) => orchid_core.JSONUnion<T_4>;
401
+ tuple: <T_5 extends [] | orchid_core.JSONTupleItems, Rest extends orchid_core.JSONTypeAny | null = null>(items: T_5, rest?: Rest) => orchid_core.JSONTuple<T_5, Rest>;
402
+ union: <T_6 extends [orchid_core.JSONTypeAny, orchid_core.JSONTypeAny, ...orchid_core.JSONTypeAny[]]>(types: T_6) => orchid_core.JSONUnion<T_6>;
349
403
  any: () => orchid_core.JSONAny;
350
404
  bigint: () => orchid_core.JSONBigInt;
351
405
  boolean: () => orchid_core.JSONBoolean;
@@ -358,21 +412,21 @@ declare const createBaseTable: <CT extends Record<string, orchid_core.AnyColumnT
358
412
  unknown: () => orchid_core.JSONUnknown;
359
413
  array: <Type_1 extends orchid_core.JSONTypeAny>(element: Type_1) => orchid_core.JSONArray<Type_1, "many">;
360
414
  discriminatedUnion: <Discriminator extends string, DiscriminatorValue extends orchid_core.Primitive, Types extends [orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, ...orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>[]]>(discriminator: Discriminator, options: Types) => orchid_core.JSONDiscriminatedUnion<Discriminator, DiscriminatorValue, Types>;
361
- enum: <U_1 extends string, T_5 extends [U_1, ...U_1[]]>(options: T_5) => orchid_core.JSONEnum<U_1, T_5>;
362
- instanceOf: <T_6 extends new (...args: any[]) => any>(cls: T_6) => orchid_core.JSONInstanceOf<T_6>;
415
+ enum: <U_1 extends string, T_7 extends [U_1, ...U_1[]]>(options: T_7) => orchid_core.JSONEnum<U_1, T_7>;
416
+ instanceOf: <T_8 extends new (...args: any[]) => any>(cls: T_8) => orchid_core.JSONInstanceOf<T_8>;
363
417
  intersection: <Left extends orchid_core.JSONTypeAny, Right extends orchid_core.JSONTypeAny>(left: Left, right: Right) => orchid_core.JSONIntersection<Left, Right>;
364
- lazy: <T_7 extends orchid_core.JSONTypeAny>(fn: () => T_7) => orchid_core.JSONLazy<T_7>;
365
- literal: <T_8 extends orchid_core.Primitive>(value: T_8) => orchid_core.JSONLiteral<T_8>;
418
+ lazy: <T_9 extends orchid_core.JSONTypeAny>(fn: () => T_9) => orchid_core.JSONLazy<T_9>;
419
+ literal: <T_10 extends orchid_core.Primitive>(value: T_10) => orchid_core.JSONLiteral<T_10>;
366
420
  map: <Key extends orchid_core.JSONTypeAny, Value_1 extends orchid_core.JSONTypeAny>(keyType: Key, valueType: Value_1) => orchid_core.JSONMap<Key, Value_1>;
367
- nativeEnum: <T_9 extends orchid_core.EnumLike>(givenEnum: T_9) => orchid_core.JSONNativeEnum<T_9>;
368
- nullable: <T_10 extends orchid_core.JSONTypeAny>(type: T_10) => orchid_core.JSONNullable<T_10>;
369
- nullish: <T_11 extends orchid_core.JSONTypeAny>(type: T_11) => orchid_core.JSONNullish<T_11>;
370
- object: <T_12 extends orchid_core.JSONObjectShape, UnknownKeys extends orchid_core.UnknownKeysParam = "strip", Catchall extends orchid_core.JSONTypeAny = orchid_core.JSONTypeAny>(shape: T_12) => orchid_core.JSONObject<T_12, UnknownKeys, Catchall, orchid_core.JSONTypeAny extends Catchall ? orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }> extends infer T_19 extends object ? { [k in keyof T_19]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }>[k]; } : never : (orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }> extends infer T_22 extends object ? { [k in keyof T_22]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }>[k]; } : never) & {
421
+ nativeEnum: <T_11 extends orchid_core.EnumLike>(givenEnum: T_11) => orchid_core.JSONNativeEnum<T_11>;
422
+ nullable: <T_12 extends orchid_core.JSONTypeAny>(type: T_12) => orchid_core.JSONNullable<T_12>;
423
+ nullish: <T_13 extends orchid_core.JSONTypeAny>(type: T_13) => orchid_core.JSONNullish<T_13>;
424
+ object: <T_14 extends orchid_core.JSONObjectShape, UnknownKeys extends orchid_core.UnknownKeysParam = "strip", Catchall extends orchid_core.JSONTypeAny = orchid_core.JSONTypeAny>(shape: T_14) => orchid_core.JSONObject<T_14, UnknownKeys, Catchall, orchid_core.JSONTypeAny extends Catchall ? orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }> extends infer T_21 extends object ? { [k in keyof T_21]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }>[k]; } : never : (orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }> extends infer T_24 extends object ? { [k in keyof T_24]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }>[k]; } : never) & {
371
425
  [k: string]: Catchall["type"];
372
- } extends infer T_20 extends object ? { [k_2 in keyof T_20]: ((orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }> extends infer T_21 extends object ? { [k in keyof T_21]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_12]: T_12[k_1]["type"]; }>[k]; } : never) & {
426
+ } extends infer T_22 extends object ? { [k_2 in keyof T_22]: ((orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }> extends infer T_23 extends object ? { [k in keyof T_23]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }>[k]; } : never) & {
373
427
  [k: string]: Catchall["type"];
374
428
  })[k_2]; } : never>;
375
- optional: <T_17 extends orchid_core.JSONTypeAny>(type: T_17) => orchid_core.JSONOptional<T_17>;
429
+ optional: <T_19 extends orchid_core.JSONTypeAny>(type: T_19) => orchid_core.JSONOptional<T_19>;
376
430
  record: typeof orchid_core.record;
377
431
  }) => Type)): pqb.JSONColumn<Type>;
378
432
  jsonText(): pqb.JSONTextColumn;
@@ -395,9 +449,9 @@ declare const createBaseTable: <CT extends Record<string, orchid_core.AnyColumnT
395
449
  dropMode?: pqb.DropMode | undefined;
396
450
  }) | undefined): {};
397
451
  check(check: orchid_core.RawExpression): {};
398
- } : CT) => T_18): {
399
- shape: T_18;
400
- type: ColumnShapeOutput<T_18>;
452
+ } : CT) => T_20): {
453
+ shape: T_20;
454
+ type: ColumnShapeOutput<T_20>;
401
455
  };
402
456
  belongsTo<Self extends any, Related extends TableClass<Table>, Scope extends Query, Options extends {
403
457
  primaryKey: keyof InstanceType<Related>["columns"]["shape"];
package/dist/index.js CHANGED
@@ -1357,24 +1357,33 @@ const orchidORM = (_a, tables) => {
1357
1357
  "autoPreparedStatements",
1358
1358
  "noPrimaryKey"
1359
1359
  ]);
1360
- const adapter = "adapter" in options ? options.adapter : new pqb.Adapter(options);
1361
1360
  const commonOptions = {
1362
1361
  log,
1363
1362
  logger,
1364
1363
  autoPreparedStatements,
1365
1364
  noPrimaryKey
1366
1365
  };
1367
- const transactionStorage = new node_async_hooks.AsyncLocalStorage();
1368
- const qb = new pqb.Db(
1369
- adapter,
1370
- void 0,
1371
- void 0,
1372
- pqb.anyShape,
1373
- pqb.columnTypes,
1374
- transactionStorage,
1375
- commonOptions
1376
- );
1377
- qb.queryBuilder = qb;
1366
+ let adapter;
1367
+ let transactionStorage;
1368
+ let qb;
1369
+ if ("db" in options) {
1370
+ adapter = options.db.query.adapter;
1371
+ transactionStorage = options.db.internal.transactionStorage;
1372
+ qb = options.db.queryBuilder;
1373
+ } else {
1374
+ adapter = "adapter" in options ? options.adapter : new pqb.Adapter(options);
1375
+ transactionStorage = new node_async_hooks.AsyncLocalStorage();
1376
+ qb = new pqb.Db(
1377
+ adapter,
1378
+ void 0,
1379
+ void 0,
1380
+ pqb.anyShape,
1381
+ pqb.columnTypes,
1382
+ transactionStorage,
1383
+ commonOptions
1384
+ );
1385
+ qb.queryBuilder = qb;
1386
+ }
1378
1387
  const result = {
1379
1388
  $transaction: transaction,
1380
1389
  $adapter: adapter,
@@ -2836,6 +2845,10 @@ Object.defineProperty(exports, 'columnTypes', {
2836
2845
  enumerable: true,
2837
2846
  get: function () { return pqb.columnTypes; }
2838
2847
  });
2848
+ Object.defineProperty(exports, 'testTransaction', {
2849
+ enumerable: true,
2850
+ get: function () { return pqb.testTransaction; }
2851
+ });
2839
2852
  exports.AppCodeUpdaterError = AppCodeUpdaterError;
2840
2853
  exports.appCodeUpdater = appCodeUpdater;
2841
2854
  exports.createBaseTable = createBaseTable;