pqb 0.30.0 → 0.30.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/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as orchid_core from 'orchid-core';
2
- import { QueryResultRow, AdapterConfigBase, AdapterBase, QueryInput, Sql, RecordUnknown, RecordKeyTrue, EmptyObject, QueryBaseCommon, QueryColumns, QueryMetaBase, QueryReturnType, QueryThen, Expression, QueryColumn, MaybeArray, SelectableBase, TemplateLiteralArgs, PickOutputTypeAndOperators, PickQueryResult, OperatorToSQL, ColumnsShapeBase, ColumnsParsers, RecordString, PickQueryTable, FnUnknownToUnknown, getValueKey, PickQueryShape, PickQueryTableMetaResult, EmptyTuple, PickQueryMeta, PickQueryMetaResultReturnType, QueryColumnToNullable, PickQueryMetaShape, PickQueryTableMetaResultShape, QueryColumnBooleanOrNull, SQLQueryArgs, ColumnSchemaConfig, DateColumnData, Code, TimeInterval, ColumnTypeSchemaArg, ColumnDataBase, ArrayMethodsData, RawSQLBase, RawSQLValues, ExpressionTypeMethod, DynamicSQLArg, StaticSQLArgs, ForeignKeyTable, ColumnNameOfTable, BaseNumberData, PickColumnBaseData, ColumnWithDefault, StringTypeData, PrimaryKeyColumn, ParseColumn, EncodeColumn, PickQueryMetaResult, QueryColumnsInit, DefaultSelectColumns, CoreQueryScopes, DbBase, QueryCatch, TransactionState, ColumnTypeBase, PickQueryMetaResultWindows, CoreBaseOperators, PickQueryUniqueProperties, IsQuery, PickQueryMetaShapeResultReturnType, MergeObjects, PickQueryResultUniqueColumns, QueryInternalBase, PickQueryReturnType, PickType, ColumnShapeOutput, PickOutputType, PickQueryMetaReturnType, UniqueColumn, TimestampHelpers, Codes, ColumnDataCheckBase, PickQueryTableMetaShape } from 'orchid-core';
2
+ import { QueryResultRow, AdapterConfigBase, AdapterBase, QueryInput, Sql, RecordUnknown, RecordKeyTrue, EmptyObject, QueryBaseCommon, QueryColumns, QueryMetaBase, QueryReturnType, QueryThen, Expression, QueryColumn, MaybeArray, SelectableBase, TemplateLiteralArgs, PickOutputTypeAndOperators, PickQueryResult, OperatorToSQL, ColumnsShapeBase, ColumnsParsers, RecordString, PickQueryTable, FnUnknownToUnknown, ExpressionChain, getValueKey, PickQueryShape, PickQueryTableMetaResult, EmptyTuple, PickQueryMeta, PickQueryMetaResultReturnType, QueryColumnToNullable, PickQueryMetaShape, PickQueryTableMetaResultShape, QueryColumnBooleanOrNull, SQLQueryArgs, ColumnSchemaConfig, DateColumnData, Code, TimeInterval, ColumnTypeSchemaArg, ColumnDataBase, ArrayMethodsData, RawSQLBase, RawSQLValues, ExpressionTypeMethod, DynamicSQLArg, StaticSQLArgs, ForeignKeyTable, ColumnNameOfTable, BaseNumberData, PickColumnBaseData, ColumnWithDefault, StringTypeData, PrimaryKeyColumn, ParseColumn, EncodeColumn, PickQueryMetaResult, QueryColumnsInit, DefaultSelectColumns, CoreQueryScopes, DbBase, QueryCatch, TransactionState, ColumnTypeBase, PickQueryMetaResultWindows, CoreBaseOperators, PickQueryUniqueProperties, IsQuery, PickQueryMetaShapeResultReturnType, MergeObjects, ExpressionData, PickQueryResultUniqueColumns, QueryInternalBase, PickQueryReturnType, PickType, ColumnShapeOutput, PickOutputType, PickQueryMetaReturnType, UniqueColumn, TimestampHelpers, Codes, ColumnDataCheckBase, PickQueryTableMetaShape } from 'orchid-core';
3
3
  import { PoolConfig, Pool, PoolClient } from 'pg';
4
4
  import { inspect } from 'node:util';
5
5
  import { AsyncLocalStorage } from 'node:async_hooks';
@@ -382,13 +382,14 @@ type QueryHookSelect = string[];
382
382
  interface QueryScopes {
383
383
  [K: string]: QueryScopeData;
384
384
  }
385
- type QueryScopeData = {
385
+ interface QueryScopeData {
386
386
  and?: WhereItem[];
387
387
  or?: WhereItem[][];
388
- };
388
+ }
389
+ type QueryDataFromItem = string | Query | Expression;
389
390
  interface QueryDataJoinTo extends PickQueryTable, PickQueryQ {
390
391
  }
391
- type CommonQueryData = {
392
+ interface CommonQueryData {
392
393
  adapter: Adapter;
393
394
  shape: ColumnsShapeBase;
394
395
  patchResult?(q: Query, queryResult: QueryResult): Promise<void>;
@@ -408,7 +409,7 @@ type CommonQueryData = {
408
409
  select?: SelectItem[];
409
410
  expr?: Expression;
410
411
  as?: string;
411
- from?: string | Query | Expression;
412
+ from?: MaybeArray<QueryDataFromItem>;
412
413
  sources?: {
413
414
  [K: string]: QuerySourceItem;
414
415
  };
@@ -445,19 +446,16 @@ type CommonQueryData = {
445
446
  * Is needed to remove these operators from query object when changing the query type, see {@link setQueryOperators}.
446
447
  */
447
448
  operators?: BaseOperators;
448
- /**
449
- * Used by {@link setQueryOperators} to store the original `baseQuery` before extending it with operators.
450
- */
451
- originalQuery?: Query;
452
449
  scopes: {
453
450
  [K: string]: QueryScopeData;
454
451
  };
455
452
  all?: true;
456
- };
457
- type SelectQueryData = CommonQueryData & {
453
+ chain?: ExpressionChain;
454
+ }
455
+ interface SelectQueryData extends CommonQueryData {
458
456
  type: undefined;
459
457
  distinct?: SelectableOrExpression[];
460
- fromOnly?: boolean;
458
+ only?: boolean;
461
459
  join?: JoinItem[];
462
460
  group?: (string | Expression)[];
463
461
  having?: HavingItem[];
@@ -477,9 +475,9 @@ type SelectQueryData = CommonQueryData & {
477
475
  mode?: 'NO WAIT' | 'SKIP LOCKED';
478
476
  };
479
477
  [getValueKey]?: QueryColumn;
480
- };
478
+ }
481
479
  type CreateKind = 'object' | 'raw' | 'from';
482
- type InsertQueryData = CommonQueryData & {
480
+ interface InsertQueryData extends CommonQueryData {
483
481
  type: 'insert';
484
482
  kind: CreateKind;
485
483
  columns: string[];
@@ -494,7 +492,7 @@ type InsertQueryData = CommonQueryData & {
494
492
  set?: OnConflictSet;
495
493
  merge?: OnConflictMerge;
496
494
  };
497
- };
495
+ }
498
496
  interface UpdateQueryDataObject {
499
497
  [K: string]: Expression | {
500
498
  op: string;
@@ -503,27 +501,27 @@ interface UpdateQueryDataObject {
503
501
  }
504
502
  type UpdatedAtDataInjector = (data: UpdateQueryDataItem[]) => UpdateQueryDataItem | void;
505
503
  type UpdateQueryDataItem = UpdateQueryDataObject | Expression | UpdatedAtDataInjector;
506
- type UpdateQueryData = CommonQueryData & {
504
+ interface UpdateQueryData extends CommonQueryData {
507
505
  type: 'update';
508
506
  updateData: UpdateQueryDataItem[];
509
- };
510
- type DeleteQueryData = CommonQueryData & {
507
+ }
508
+ interface DeleteQueryData extends CommonQueryData {
511
509
  type: 'delete';
512
510
  join?: JoinItem[];
513
- };
514
- type TruncateQueryData = CommonQueryData & {
511
+ }
512
+ interface TruncateQueryData extends CommonQueryData {
515
513
  type: 'truncate';
516
514
  restartIdentity?: boolean;
517
515
  cascade?: boolean;
518
- };
519
- type ColumnInfoQueryData = CommonQueryData & {
516
+ }
517
+ interface ColumnInfoQueryData extends CommonQueryData {
520
518
  type: 'columnInfo';
521
519
  column?: string;
522
- };
523
- type CopyQueryData = CommonQueryData & {
520
+ }
521
+ interface CopyQueryData extends CommonQueryData {
524
522
  type: 'copy';
525
523
  copy: CopyOptions;
526
- };
524
+ }
527
525
  type CopyOptions<Column = string> = {
528
526
  columns?: Column[];
529
527
  format?: 'text' | 'csv' | 'binary';
@@ -798,15 +796,14 @@ declare class Join {
798
796
  * profile: (q) => q.profile,
799
797
  * });
800
798
  *
801
- * // select posts with counts of comments, order by comments count
799
+ * // select posts with counts of comments, filter and order by comments count
802
800
  * // result type is Array<Post & { commentsCount: number }>
803
801
  * await db.post
804
802
  * .select('*', {
805
803
  * commentsCount: (q) => q.comments.count(),
806
804
  * })
807
- * .order({
808
- * commentsCount: 'DESC',
809
- * });
805
+ * .where({ commentsCount: { gt: 10 } })
806
+ * .order({ commentsCount: 'DESC' });
810
807
  *
811
808
  * // select authors with array of their book titles
812
809
  * // result type is Array<Author & { books: string[] }>
@@ -2258,8 +2255,13 @@ interface DynamicRawSQL<T extends QueryColumn> extends Expression<T>, Expression
2258
2255
  }
2259
2256
  declare class DynamicRawSQL<T extends QueryColumn, ColumnTypes = DefaultColumnTypes<ColumnSchemaConfig>> extends Expression<T> {
2260
2257
  fn: DynamicSQLArg;
2261
- _type: T;
2262
2258
  columnTypes: ColumnTypes;
2259
+ result: {
2260
+ value: T;
2261
+ };
2262
+ q: {
2263
+ chain?: ExpressionChain;
2264
+ };
2263
2265
  constructor(fn: DynamicSQLArg);
2264
2266
  makeSQL(ctx: ToSQLCtx, quotedAs?: string): string;
2265
2267
  }
@@ -3114,7 +3116,7 @@ declare function pushLimitSQL(sql: string[], values: unknown[], q: SelectQueryDa
3114
3116
 
3115
3117
  type AliasOrTable<T extends PickQueryMetaTable> = T['meta']['as'] extends string ? T['meta']['as'] : T['table'] extends string ? T['table'] : never;
3116
3118
  type SelectableOrExpression<T extends PickQueryMeta = PickQueryMeta, C extends QueryColumn = QueryColumn> = '*' | keyof T['meta']['selectable'] | Expression<C>;
3117
- type ExpressionOutput<T extends PickQueryMeta, Expr extends SelectableOrExpression<T>> = Expr extends keyof T['meta']['selectable'] ? T['meta']['selectable'][Expr]['column'] : Expr extends Expression ? Expr['_type'] : never;
3119
+ type ExpressionOutput<T extends PickQueryMeta, Expr extends SelectableOrExpression<T>> = Expr extends keyof T['meta']['selectable'] ? T['meta']['selectable'][Expr]['column'] : Expr extends Expression ? Expr['result']['value'] : never;
3118
3120
  declare const getClonedQueryData: (query: QueryData) => QueryData;
3119
3121
  declare const getQueryAs: (q: {
3120
3122
  table?: string;
@@ -3161,32 +3163,34 @@ interface FnExpressionArgsValue {
3161
3163
  value: unknown;
3162
3164
  }
3163
3165
  declare class FnExpression<Q extends Query = Query, T extends QueryColumn = QueryColumn> extends Expression<T> {
3164
- q: Q;
3166
+ query: Q;
3165
3167
  fn: string;
3166
3168
  args: FnExpressionArgs<Q>;
3167
3169
  options: AggregateOptions<Q>;
3168
- _type: T;
3170
+ result: {
3171
+ value: T;
3172
+ };
3173
+ q: QueryData;
3169
3174
  /**
3170
- * @param q - query object.
3175
+ * @param query - query object.
3171
3176
  * @param fn - SQL function name.
3172
3177
  * @param args - arguments of the function.
3173
3178
  * @param options - aggregate options.
3174
- * @param _type - column type of the function result.
3179
+ * @param value - column type of the function result.
3175
3180
  */
3176
- constructor(q: Q, fn: string, args: FnExpressionArgs<Q>, options: AggregateOptions<Q>, _type: T);
3181
+ constructor(query: Q, fn: string, args: FnExpressionArgs<Q>, options: AggregateOptions<Q>, value: T);
3177
3182
  makeSQL(ctx: ToSQLCtx, quotedAs?: string): string;
3178
3183
  }
3179
3184
  type ColumnExpression<C extends QueryColumn, Ops extends BaseOperators = C['operators']> = Expression<C> & {
3180
3185
  [K in keyof Ops]: (arg: Ops[K]['_opType']) => ColumnExpression<QueryColumnBooleanOrNull>;
3181
3186
  };
3182
- declare const makeExpression: <T extends Query, C extends ColumnTypeBase<orchid_core.ColumnTypeSchemaArg, unknown, any, orchid_core.CoreBaseOperators, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>>(self: T, expr: Expression) => SetQueryReturnsColumnOrThrow<T, C> & C['operators'];
3183
3187
  declare function makeFnExpression<T extends PickQueryMetaResultRelationsWindows, C extends QueryColumn>(self: T, type: C, fn: string, args: FnExpressionArgs<Query>, options?: AggregateOptions<T>): SetQueryReturnsColumnOrThrow<T, C> & C['operators'];
3184
3188
 
3185
3189
  type QueryGetSelf = PickQueryMetaTable;
3186
3190
  type GetArg<T extends QueryGetSelf> = GetStringArg<T> | Expression;
3187
3191
  type GetStringArg<T extends PickQueryMeta> = keyof T['meta']['selectable'] & string;
3188
- type GetResult<T extends QueryGetSelf, Arg extends GetArg<T>> = Arg extends string ? SetQueryReturnsValueOrThrow<T, Arg> : Arg extends Expression ? SetQueryReturnsColumnOrThrow<T, Arg['_type']> : never;
3189
- type GetResultOptional<T extends QueryGetSelf, Arg extends GetArg<T>> = Arg extends string ? SetQueryReturnsValueOptional<T, Arg> : Arg extends Expression ? SetQueryReturnsColumnOptional<T, Arg['_type']> : never;
3192
+ type GetResult<T extends QueryGetSelf, Arg extends GetArg<T>> = Arg extends string ? SetQueryReturnsValueOrThrow<T, Arg> : Arg extends Expression ? SetQueryReturnsColumnOrThrow<T, Arg['result']['value']> : never;
3193
+ type GetResultOptional<T extends QueryGetSelf, Arg extends GetArg<T>> = Arg extends string ? SetQueryReturnsValueOptional<T, Arg> : Arg extends Expression ? SetQueryReturnsColumnOptional<T, Arg['result']['value']> : never;
3190
3194
  declare function _queryGet<T extends QueryGetSelf, Arg extends GetArg<T>>(self: T, arg: Arg): GetResult<T, Arg>;
3191
3195
  declare function _queryGetOptional<T extends QueryGetSelf, Arg extends GetArg<T>>(self: T, arg: Arg): GetResultOptional<T, Arg>;
3192
3196
 
@@ -4270,61 +4274,97 @@ declare class For {
4270
4274
 
4271
4275
  type FromQuerySelf = PickQueryMetaTableShapeReturnTypeWithData;
4272
4276
  type FromArg<T extends FromQuerySelf> = PickQueryTableMetaResult | Expression | Exclude<keyof T['withData'], symbol | number>;
4273
- interface FromArgOptions {
4274
- only?: boolean;
4275
- }
4276
- type FromResult<T extends FromQuerySelf, Arg extends FromArg<T>> = Arg extends string ? T['withData'] extends WithDataItems ? Arg extends keyof T['withData'] ? {
4277
+ type UnionToIntersection<U> = (U extends any ? (x: U) => void : never) extends (x: infer I) => void ? I : never;
4278
+ type FromResult<T extends FromQuerySelf, Arg extends MaybeArray<FromArg<T>>> = Arg extends string ? T['withData'] extends WithDataItems ? {
4277
4279
  [K in keyof T]: K extends 'meta' ? {
4278
4280
  [K in keyof T['meta']]: K extends 'as' ? string | undefined : K extends 'selectable' ? SelectableFromShape<T['withData'][Arg]['shape'], Arg> : T['meta'][K];
4279
4281
  } : T[K];
4280
- } : SetQueryTableAlias<T, Arg> : SetQueryTableAlias<T, Arg> : Arg extends PickQueryTableMetaResult ? {
4282
+ } : SetQueryTableAlias<T, Arg> : Arg extends PickQueryTableMetaResult ? {
4281
4283
  [K in keyof T]: K extends 'meta' ? {
4282
- [K in keyof T['meta']]: K extends 'hasSelect' ? undefined : K extends 'as' ? AliasOrTable<Arg> : K extends 'selectable' ? {
4284
+ [K in keyof T['meta']]: K extends 'as' ? AliasOrTable<Arg> : K extends 'selectable' ? {
4283
4285
  [K in keyof Arg['result']]: K extends string ? {
4284
4286
  as: K;
4285
4287
  column: Arg['result'][K];
4286
4288
  } : never;
4287
4289
  } : T['meta'][K];
4288
4290
  } : K extends 'result' ? Arg['result'] : K extends 'shape' ? Arg['result'] : K extends 'then' ? QueryThen<GetQueryResult<T, Arg['result']>> : T[K];
4291
+ } : Arg extends (infer A)[] ? {
4292
+ [K in keyof T]: K extends 'meta' ? {
4293
+ [K in keyof T['meta']]: K extends 'selectable' ? UnionToIntersection<A extends string ? T['withData'] extends WithDataItems ? {
4294
+ [K in keyof T['withData'][A]['shape'] & string as `${A}.${K}`]: {
4295
+ as: K;
4296
+ column: T['withData'][A]['shape'][K];
4297
+ };
4298
+ } : never : A extends PickQueryTableMetaResult ? {
4299
+ [K in keyof A['result'] & string as `${AliasOrTable<A>}.${K}`]: K extends string ? {
4300
+ as: K;
4301
+ column: A['result'][K];
4302
+ } : never;
4303
+ } : never> : T['meta'][K];
4304
+ } : T[K];
4289
4305
  } : T;
4290
- declare function queryFrom<T extends FromQuerySelf, Arg extends FromArg<T>>(self: T, arg: Arg, options?: FromArgOptions): FromResult<T, Arg>;
4306
+ declare function queryFrom<T extends FromQuerySelf, Arg extends MaybeArray<FromArg<T>>>(self: T, arg: Arg): FromResult<T, Arg>;
4291
4307
  declare function queryFromSql<T extends FromQuerySelf>(self: T, args: SQLQueryArgs): T;
4292
4308
  declare class From {
4293
4309
  /**
4294
4310
  * Set the `FROM` value, by default the table name is used.
4295
4311
  *
4312
+ * `from` determines a set of available tables and columns withing the query,
4313
+ * and thus it must not follow `select`, use `select` only after `from`.
4314
+ *
4296
4315
  * ```ts
4297
4316
  * // accepts sub-query:
4298
- * db.table.from(Otherdb.table.select('foo', 'bar'));
4317
+ * db.table.from(db.otherTable.select('foo', 'bar'));
4299
4318
  *
4300
4319
  * // accepts alias of `WITH` expression:
4301
- * q.with('foo', Otherdb.table.select('id', 'name')).from('foo');
4320
+ * q.with('withTable', db.table.select('id', 'name'))
4321
+ * .from('withTable')
4322
+ * // `select` is after `from`
4323
+ * .select('id', 'name');
4302
4324
  * ```
4303
4325
  *
4304
- * Optionally takes a second argument of type `{ only?: boolean }`, (see `FROM ONLY` in Postgres docs, this is related to table inheritance).
4326
+ * `from` can accept multiple sources:
4305
4327
  *
4306
4328
  * ```ts
4307
- * db.table.from(Otherdb.table.select('foo', 'bar'), {
4308
- * only: true,
4309
- * });
4329
+ * db.table
4330
+ * // add a `WITH` statement called `withTable
4331
+ * .with('withTable', db.table.select('one'))
4332
+ * // select from `withTable` and from `otherTable`
4333
+ * .from('withTable', db.otherTable.select('two'))
4334
+ * // source names and column names are properly typed when selecting
4335
+ * .select('withTable.one', 'otherTable.two');
4310
4336
  * ```
4311
4337
  *
4312
4338
  * @param arg - query or name of CTE table
4313
- * @param options - { only: true } for SQL `ONLY` keyword
4314
4339
  */
4315
- from<T extends FromQuerySelf, Arg extends FromArg<T>>(this: T, arg: Arg, options?: FromArgOptions): FromResult<T, Arg>;
4340
+ from<T extends FromQuerySelf, Arg extends MaybeArray<FromArg<T>>>(this: T, arg: T['meta']['hasSelect'] extends true ? '`select` must be places after `from`' : Arg): FromResult<T, Arg>;
4316
4341
  /**
4317
4342
  * Set the `FROM` value with custom SQL:
4318
4343
  *
4319
4344
  * ```ts
4320
4345
  * const value = 123;
4321
- * db.table.from`value = ${value}`;
4322
- * db.table.from(db.table.sql`value = ${value}`);
4346
+ * db.table.fromSql`value = ${value}`;
4347
+ * db.table.fromSql(db.table.sql`value = ${value}`);
4323
4348
  * ```
4324
4349
  *
4325
4350
  * @param args - SQL expression
4326
4351
  */
4327
- fromSql<T extends FromQuerySelf, Arg extends FromArg<T>>(this: T, ...args: SQLQueryArgs): FromResult<T, Arg>;
4352
+ fromSql<T extends FromQuerySelf>(this: T, ...args: SQLQueryArgs): T;
4353
+ /**
4354
+ * Adds `ONLY` SQL keyword to the `FROM`.
4355
+ * When selecting from a parent table that has a table inheritance,
4356
+ * setting `only` will make it to select rows only from the parent table.
4357
+ *
4358
+ * ```ts
4359
+ * db.table.only();
4360
+ *
4361
+ * // disabling `only` after being enabled
4362
+ * db.table.only().only(false);
4363
+ * ```
4364
+ *
4365
+ * @param only - can be disabled by passing `false` if was enabled previously.
4366
+ */
4367
+ only<T>(this: T, only?: boolean): T;
4328
4368
  }
4329
4369
 
4330
4370
  declare class QueryGet {
@@ -4768,19 +4808,6 @@ declare class MergeQueryMethods {
4768
4808
  merge<T extends Query, Q extends Query>(this: T, q: Q): MergeQuery<T, Q>;
4769
4809
  }
4770
4810
 
4771
- declare const queryMethodByReturnType: {
4772
- [K in QueryReturnType]: 'query' | 'arrays';
4773
- };
4774
- type Resolve = (result: any) => any;
4775
- type Reject = (error: any) => any;
4776
- declare class Then {
4777
- then: (this: Query, resolve?: Resolve, reject?: Reject) => Promise<unknown>;
4778
- catch(this: Query, fn: (reason: any) => unknown): Promise<unknown>;
4779
- }
4780
- declare const handleResult: CommonQueryData['handleResult'];
4781
- declare const parseResult: (q: Query, parsers: ColumnsParsers | undefined, returnType: QueryReturnType | undefined, result: QueryResult, isSubQuery?: boolean) => unknown;
4782
- declare const parseRecord: (parsers: ColumnsParsers, row: any) => any;
4783
-
4784
4811
  interface SelectSelf {
4785
4812
  shape: QueryColumns;
4786
4813
  relations: RelationsBase;
@@ -4828,16 +4855,24 @@ type SelectResultColumnsAndObj<T extends SelectSelf, Columns extends PropertyKey
4828
4855
  } & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown)>> : T[K];
4829
4856
  } & QueryMetaHasSelect;
4830
4857
  type SelectAsSelectable<Arg> = {
4831
- [K in keyof Arg]: Arg[keyof Arg] extends (q: never) => {
4858
+ [K in keyof Arg]: Arg[K] extends (q: never) => {
4859
+ returnType: 'value' | 'valueOrThrow';
4860
+ result: QueryColumns;
4861
+ } ? {
4862
+ [P in K]: {
4863
+ as: K;
4864
+ column: ReturnType<Arg[K]>['result']['value'];
4865
+ };
4866
+ } : Arg[K] extends (q: never) => {
4832
4867
  result: QueryColumns;
4833
4868
  } ? {
4834
- [C in keyof ReturnType<Arg[keyof Arg]>['result'] & string as `${K & string}.${C}`]: {
4869
+ [C in keyof ReturnType<Arg[K]>['result'] & string as `${K & string}.${C}`]: {
4835
4870
  as: C;
4836
- column: ReturnType<Arg[keyof Arg]>['result'][C];
4871
+ column: ReturnType<Arg[K]>['result'][C];
4837
4872
  };
4838
4873
  } : never;
4839
4874
  }[keyof Arg];
4840
- type SelectAsValueResult<T extends SelectSelf, Arg> = Arg extends keyof T['meta']['selectable'] ? T['meta']['selectable'][Arg]['column'] : Arg extends Expression ? Arg['_type'] : Arg extends (q: never) => QueryBase ? SelectSubQueryResult<ReturnType<Arg>> : Arg extends (q: never) => Expression ? ReturnType<Arg>['_type'] : Arg extends (q: never) => QueryBase | Expression ? SelectSubQueryResult<Exclude<ReturnType<Arg>, Expression>> | Exclude<ReturnType<Arg>, QueryBase>['_type'] : never;
4875
+ type SelectAsValueResult<T extends SelectSelf, Arg> = Arg extends keyof T['meta']['selectable'] ? T['meta']['selectable'][Arg]['column'] : Arg extends Expression ? Arg['result']['value'] : Arg extends (q: never) => QueryBase ? SelectSubQueryResult<ReturnType<Arg>> : Arg extends (q: never) => Expression ? ReturnType<Arg>['result']['value'] : Arg extends (q: never) => QueryBase | Expression ? SelectSubQueryResult<Exclude<ReturnType<Arg>, Expression>> | Exclude<ReturnType<Arg>, QueryBase>['result']['value'] : never;
4841
4876
  type SelectSubQueryResult<Arg extends SelectSelf> = QueryReturnsAll<Arg['returnType']> extends true ? ColumnsShapeToObjectArray<Arg['result']> : Arg['returnType'] extends 'valueOrThrow' ? Arg['result']['value'] : Arg['returnType'] extends 'pluck' ? ColumnsShapeToPluck<Arg['result']> : Arg['returnType'] extends 'one' ? ColumnsShapeToNullableObject<Arg['result']> : ColumnsShapeToObject<Arg['result']>;
4842
4877
  declare const addParserForRawExpression: (q: PickQueryQ, key: string | getValueKey, raw: Expression) => void;
4843
4878
  declare const addParserForSelectItem: <T extends PickQueryMeta>(q: T, as: string | getValueKey | undefined, key: string, arg: SelectableOrExpression<T> | Query) => string | Expression | Query;
@@ -4975,7 +5010,7 @@ declare class With {
4975
5010
  *
4976
5011
  * // accepts a callback for a query builder:
4977
5012
  * db.table.with('alias', (qb) =>
4978
- * qb.select({ one: db.table.sql((t) => t.integer())`1` }),
5013
+ * qb.select({ one: db.table.sql`1`.type((t) => t.integer()) }),
4979
5014
  * );
4980
5015
  *
4981
5016
  * // All mentioned forms can accept options as a second argument:
@@ -6115,10 +6150,27 @@ type QueryHelper<T extends PickQueryMetaShape, Args extends unknown[], Result> =
6115
6150
  result: Result;
6116
6151
  };
6117
6152
  type QueryHelperResult<T extends QueryHelper<Query, unknown[], unknown>> = T['result'];
6153
+ type NarrowTypeResult<T extends PickQueryMetaResultReturnType, Narrow> = {
6154
+ [K in keyof T['result']]: K extends keyof Narrow ? {
6155
+ [P in keyof T['result'][K]]: P extends 'outputType' ? Narrow[K] extends T['result'][K]['outputType'] ? Narrow[K] : `narrowType() error: passed type does not exist in '${K & string}'s type union` : T['result'][K][P];
6156
+ } : T['result'][K];
6157
+ };
6118
6158
  declare class ColumnRefExpression<T extends QueryColumn> extends Expression<T> {
6119
- _type: T;
6120
6159
  name: string;
6121
- constructor(_type: T, name: string);
6160
+ result: {
6161
+ value: T;
6162
+ };
6163
+ q: ExpressionData;
6164
+ constructor(value: T, name: string);
6165
+ makeSQL(ctx: ToSQLCtx, quotedAs?: string): string;
6166
+ }
6167
+ declare class RefExpression<T extends QueryColumn> extends Expression<T> {
6168
+ q: QueryData;
6169
+ ref: string;
6170
+ result: {
6171
+ value: T;
6172
+ };
6173
+ constructor(value: T, q: QueryData, ref: string);
6122
6174
  makeSQL(ctx: ToSQLCtx, quotedAs?: string): string;
6123
6175
  }
6124
6176
  type WrapQueryArg = FromQuerySelf;
@@ -6129,7 +6181,7 @@ declare const _queryExec: <T extends Query>(q: T) => never;
6129
6181
  declare const _queryFindBy: <T extends QueryBase<EmptyObject>>(q: T, args: WhereArg<T>[]) => SetQueryReturnsOne<WhereResult<T>>;
6130
6182
  declare const _queryFindByOptional: <T extends QueryBase<EmptyObject>>(q: T, args: WhereArg<T>[]) => SetQueryReturnsOneOptional<WhereResult<T>>;
6131
6183
  declare const _queryRows: <T extends Query>(q: T) => SetQueryReturnsRows<T>;
6132
- interface QueryMethods<ColumnTypes> extends AsMethods, AggregateMethods, Select, From, Join, With, Union, JsonModifiers, JsonMethods, Create, Update, Delete, Transaction, For, Where, SearchMethods, Clear, Having, Then, QueryLog, QueryHooks, QueryUpsertOrCreate, QueryGet, MergeQueryMethods, RawSqlMethods<ColumnTypes>, TransformMethods, ScopeMethods, SoftDeleteMethods {
6184
+ interface QueryMethods<ColumnTypes> extends AsMethods, AggregateMethods, Select, From, Join, With, Union, JsonModifiers, JsonMethods, Create, Update, Delete, Transaction, For, Where, SearchMethods, Clear, Having, QueryLog, QueryHooks, QueryUpsertOrCreate, QueryGet, MergeQueryMethods, RawSqlMethods<ColumnTypes>, TransformMethods, ScopeMethods, SoftDeleteMethods {
6133
6185
  }
6134
6186
  declare class QueryMethods<ColumnTypes> {
6135
6187
  /**
@@ -6602,17 +6654,88 @@ declare class QueryMethods<ColumnTypes> {
6602
6654
  */
6603
6655
  makeHelper<T extends PickQueryMetaShape, Args extends unknown[], Result>(this: T, fn: (q: T, ...args: Args) => Result): QueryHelper<T, Args, Result>;
6604
6656
  /**
6605
- * Use `column` method to interpolate column names inside SQL templates.
6606
- * The column will be prefixed with the correct table name taken from the context of the query.
6657
+ * `column` references a table column, this can be used in raw SQL or when building a column expression.
6658
+ * Only for referencing a column in the query's table. For referencing joined table's columns, see [ref](#ref).
6659
+ *
6660
+ * ```ts
6661
+ * await db.table.select({
6662
+ * // select `("table"."id" = 1 OR "table"."name" = 'name') AS "one"`,
6663
+ * // returns a boolean
6664
+ * one: (q) =>
6665
+ * q.sql<boolean>`${q.column('id')} = ${1} OR ${q.column('name')} = ${'name'}`,
6666
+ *
6667
+ * // selects the same as above, but by building a query
6668
+ * two: (q) => q.column('id').equals(1).or(q.column('name').equals('name')),
6669
+ * });
6670
+ * ```
6671
+ *
6672
+ * @param name - column name
6673
+ */
6674
+ column<T extends PickQueryShape, K extends keyof T['shape']>(this: T, name: K): ColumnRefExpression<T['shape'][K]> & T['shape'][K]['operators'];
6675
+ /**
6676
+ * `ref` is similar to [column](#column), but it also allows to reference a column of joined table,
6677
+ * and other dynamically defined columns.
6607
6678
  *
6608
6679
  * ```ts
6609
- * db.table.sql`${db.table.column('id')} = 1`;
6680
+ * await db.table.join('otherTable').select({
6681
+ * // select `("otherTable"."id" = 1 OR "otherTable"."name" = 'name') AS "one"`,
6682
+ * // returns a boolean
6683
+ * one: (q) =>
6684
+ * q.sql<boolean>`${q.ref('otherTable.id')} = ${1} OR ${q.ref(
6685
+ * 'otherTable.name',
6686
+ * )} = ${'name'}`,
6687
+ *
6688
+ * // selects the same as above, but by building a query
6689
+ * two: (q) =>
6690
+ * q
6691
+ * .ref('otherTable.id')
6692
+ * .equals(1)
6693
+ * .or(q.ref('otherTable.name').equals('name')),
6694
+ * });
6610
6695
  * ```
6611
6696
  *
6612
- * @param name
6697
+ * @param arg - any available column name, such as of a joined table
6613
6698
  */
6614
- column<T extends PickQueryShape, K extends keyof T['shape']>(this: T, name: K): ColumnRefExpression<T['shape'][K]>;
6699
+ ref<T extends PickQueryMeta, K extends keyof T['meta']['selectable'] & string>(this: T, arg: K): RefExpression<T['meta']['selectable'][K]['column']> & T['meta']['selectable'][K]['column']['operators'];
6700
+ /**
6701
+ * Narrows a part of the query output type.
6702
+ * Use with caution, type-safety isn't guaranteed with it.
6703
+ * This is similar so using `as` keyword from TypeScript, except that it applies only to a part of the result.
6704
+ *
6705
+ * The syntax `()<{ ... }>()` is enforced by internal limitations.
6706
+ *
6707
+ * ```ts
6708
+ * const rows = db.table
6709
+ * // filter out records where the `nullableColumn` is null
6710
+ * .where({ nullableColumn: { not: null } });
6711
+ * // narrows only a specified column, the rest of result is unchanged
6712
+ * .narrowType()<{ nullableColumn: string }>()
6713
+ *
6714
+ * // the column had type `string | null`, now it is `string`
6715
+ * rows[0].nullableColumn
6716
+ *
6717
+ * // imagine that table has a enum column kind with variants 'first' | 'second'
6718
+ * // and a boolean `approved`
6719
+ * db.table
6720
+ * .where({ kind: 'first', approved: true })
6721
+ * // after applying such `where`, it's safe to narrow the type to receive the literal values
6722
+ * .narrowType()<{ kind: 'first', approved: true }>();
6723
+ * ```
6724
+ */
6725
+ narrowType<T extends PickQueryMetaResultReturnType>(this: T): <Narrow>() => {
6726
+ [K in keyof T]: K extends 'result' ? NarrowTypeResult<T, Narrow> : K extends 'then' ? QueryThen<GetQueryResult<T, NarrowTypeResult<T, Narrow>>> : T[K];
6727
+ };
6728
+ }
6729
+
6730
+ declare const queryMethodByReturnType: {
6731
+ [K in QueryReturnType]: 'query' | 'arrays';
6732
+ };
6733
+ declare class Then {
6734
+ catch(this: Query, fn: (reason: any) => unknown): Promise<unknown>;
6615
6735
  }
6736
+ declare const handleResult: CommonQueryData['handleResult'];
6737
+ declare const parseResult: (q: Query, parsers: ColumnsParsers | undefined, returnType: QueryReturnType | undefined, result: QueryResult, isSubQuery?: boolean) => unknown;
6738
+ declare const parseRecord: (parsers: ColumnsParsers, row: any) => any;
6616
6739
 
6617
6740
  declare function queryJson<T>(self: T, coalesce?: boolean): SetQueryReturnsColumnOptional<T, QueryColumn<string>>;
6618
6741
 
@@ -6756,8 +6879,8 @@ declare const queryTypeWithLimitOne: {
6756
6879
  void: true | undefined;
6757
6880
  };
6758
6881
  declare const isQueryReturnsAll: (q: Query) => boolean;
6759
- type QueryReturnsAll<T extends QueryReturnType> = (QueryReturnType extends T ? 'all' : T) extends 'all' ? true : false;
6760
- type GetQueryResult<T extends PickQueryReturnType, Result extends QueryColumns> = QueryReturnsAll<T['returnType']> extends true ? ColumnShapeOutput<Result>[] : T['returnType'] extends 'one' ? ColumnShapeOutput<Result> | undefined : T['returnType'] extends 'oneOrThrow' ? ColumnShapeOutput<Result> : T['returnType'] extends 'value' ? Result['value']['outputType'] | undefined : T['returnType'] extends 'valueOrThrow' ? Result['value']['outputType'] : T['returnType'] extends 'rows' ? ColumnShapeOutput<Result>[keyof Result][][] : T['returnType'] extends 'pluck' ? Result['pluck']['outputType'][] : T['returnType'] extends 'rowCount' ? number : T['returnType'] extends 'void' ? void : never;
6882
+ type QueryReturnsAll<T extends QueryReturnType> = QueryReturnType extends T ? true : T extends 'all' ? true : false;
6883
+ type GetQueryResult<T extends PickQueryReturnType, Result extends QueryColumns> = QueryReturnsAll<T['returnType']> extends true ? ColumnShapeOutput<Result>[] : T['returnType'] extends 'one' ? ColumnShapeOutput<Result> | undefined : T['returnType'] extends 'oneOrThrow' ? ColumnShapeOutput<Result> : T['returnType'] extends 'value' ? Result['value']['outputType'] | undefined : T['returnType'] extends 'valueOrThrow' ? Result['value']['outputType'] : T['returnType'] extends 'rows' ? ColumnShapeOutput<Result>[keyof Result][][] : T['returnType'] extends 'pluck' ? Result['pluck']['outputType'][] : T['returnType'] extends 'rowCount' ? number : void;
6761
6884
  type AddQuerySelect<T extends PickQueryMetaResultReturnType, Result extends QueryColumns> = {
6762
6885
  [K in keyof T]: K extends 'result' ? {
6763
6886
  [K in (T['meta']['hasSelect'] extends true ? keyof T['result'] : never) | keyof Result]: K extends keyof Result ? Result[K] : K extends keyof T['result'] ? T['result'][K] : never;
@@ -6800,7 +6923,7 @@ type SetQueryReturnsOneKindResult<T extends PickQueryMetaResult, Kind extends st
6800
6923
  type SetQueryReturnsRows<T extends PickQueryResult> = {
6801
6924
  [K in keyof T]: K extends 'returnType' ? 'rows' : K extends 'then' ? QueryThen<ColumnShapeOutput<T['result']>[keyof T['result']][][]> : T[K];
6802
6925
  };
6803
- type SetQueryReturnsPluck<T extends PickQueryMeta, S extends keyof T['meta']['selectable'] | Expression> = SetQueryReturnsPluckColumn<T, S extends keyof T['meta']['selectable'] ? T['meta']['selectable'][S]['column'] : S extends Expression ? S['_type'] : never>;
6926
+ type SetQueryReturnsPluck<T extends PickQueryMeta, S extends keyof T['meta']['selectable'] | Expression> = SetQueryReturnsPluckColumn<T, S extends keyof T['meta']['selectable'] ? T['meta']['selectable'][S]['column'] : S extends Expression ? S['result']['value'] : never>;
6804
6927
  type SetQueryReturnsPluckColumn<T, C extends QueryColumn> = {
6805
6928
  [K in keyof T]: K extends 'result' ? {
6806
6929
  pluck: C;
@@ -7438,7 +7561,7 @@ interface ComputedColumnsBase<T extends PickQueryTableMetaShape> {
7438
7561
  [K: string]: (q: T) => Expression;
7439
7562
  }
7440
7563
  type QueryWithComputed<T extends PickQueryTableMetaShape, Computed extends ComputedColumnsBase<T>, Shape extends QueryColumns = {
7441
- [K in keyof Computed]: ReturnType<Computed[K]>['_type'];
7564
+ [K in keyof Computed]: ReturnType<Computed[K]>['result']['value'];
7442
7565
  }> = {
7443
7566
  [K in keyof T]: K extends 'shape' ? T['shape'] & Shape : K extends 'meta' ? T['meta'] & {
7444
7567
  selectable: SelectableFromShape<Shape, T['table']>;
@@ -7547,4 +7670,4 @@ type CopyResult<T extends PickQueryMeta> = SetQueryKind<T, 'copy'>;
7547
7670
  */
7548
7671
  declare function copyTableData<T extends PickQueryMetaShape>(query: T, arg: CopyArg<T>): CopyResult<T>;
7549
7672
 
7550
- export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AddQuerySelect, AddQueryWith, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BaseOperators, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanQueryColumn, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, CloneSelfKeys, ColumnData, ColumnExpression, ColumnFromDbParams, ColumnInfoQueryData, ColumnOperators, ColumnRefExpression, ColumnType, ColumnsByType, ColumnsShape, ColumnsShapeToNullableObject, ColumnsShapeToObject, ColumnsShapeToObjectArray, ColumnsShapeToPluck, CommonQueryData, ComputedColumnsBase, CopyOptions, CopyQueryData, Create, CreateBelongsToData, CreateColumn, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CreateRelationsData, CreateRelationsDataOmittingFKeys, CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbDomainArg, DbDomainArgRecord, DbExtension, DbOptions, DbResult, DbSharedOptions, DbTableConstructor, DbTableOptionScopes, DbTableOptions, DecimalColumn, DecimalColumnData, DefaultColumnTypes, DefaultSchemaConfig, Delete, DeleteArgs, DeleteMethodsNames, DeleteQueryData, DeleteResult, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, ExpressionOutput, FnExpression, FnExpressionArgs, FnExpressionArgsPairs, FnExpressionArgsValue, For, From, FromArg, FromArgOptions, FromQuerySelf, FromResult, GetArg, GetColumnInfo, GetQueryResult, GetResult, GetResultOptional, GetStringArg, GroupArg, Having, HavingItem, HookAction, HookSelect, IdentityColumn, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, Join, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinItemArgs, JoinLateralCallback, JoinLateralItem, JoinLateralResult, JoinOverrides, JoinQueryBuilder, JoinQueryMethod, JoinResult, JoinedParsers, JoinedShapes, JsonItem, JsonMethods, JsonModifiers, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MapTableScopesOption, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumnData, OnConflictMerge, OnConflictQueryBuilder, OnConflictSet, OnConflictTarget, OnMethods, Operator, Operators, OperatorsAny, OperatorsArray, OperatorsBoolean, OperatorsDate, OperatorsJson, OperatorsNumber, OperatorsText, OperatorsTime, OrCreateArg, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgSelf, OrderArgs, OrderItem, OrderTsQueryConfig, Over, PathColumn, PickColumnData, PickQueryBaseQuery, PickQueryDataShapeAndJoinedShapes, PickQueryInternal, PickQueryMetaRelations, PickQueryMetaResultRelations, PickQueryMetaResultRelationsWindows, PickQueryMetaResultRelationsWindowsColumnTypes, PickQueryMetaResultRelationsWithDataReturnType, PickQueryMetaResultRelationsWithDataReturnTypeShape, PickQueryMetaResultReturnTypeWithDataWindows, PickQueryMetaResultReturnTypeWithDataWindowsTable, PickQueryMetaShapeRelationsWithData, PickQueryMetaTable, PickQueryMetaTableShape, PickQueryMetaTableShapeReturnTypeWithData, PickQueryMetaWithData, PickQueryQ, PickQueryQAndBaseQuery, PickQueryQAndInternal, PickQueryRelations, PickQueryRelationsWithData, PickQueryShapeResultSinglePrimaryKey, PickQueryShapeSinglePrimaryKey, PickQuerySinglePrimaryKey, PickQueryWindows, PickQueryWithData, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBaseThen, QueryBeforeHook, QueryData, QueryDataJoinTo, QueryDefaultReturnData, QueryError, QueryErrorName, QueryGet, QueryGetSelf, QueryHelperResult, QueryHookSelect, QueryHooks, QueryInternal, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMetaHasSelect, QueryMetaHasWhere, QueryMethods, QueryResult, QueryReturnsAll, QueryScopeData, QueryScopes, QuerySourceItem, QueryTransform, QueryTransformFn, QueryUpsertOrCreate, QueryWithComputed, QueryWithTable, RawSQL, RawSqlMethods, RealColumn, RecordOfColumnsShapeBase, RelationConfigBase, RelationConfigDataForCreate, RelationJoinQuery, RelationQuery, RelationQueryBase, RelationsBase, SearchArg, SearchMethods, SearchWeight, SearchWeightRecord, Select, SelectArg, SelectAs, SelectItem, SelectQueryData, SelectSubQueryResult, SelectableFromShape, SelectableOfType, SelectableOrExpression, SelectableOrExpressionOfType, SerialColumn, SerialColumnData, SetQueryKind, SetQueryKindResult, SetQueryReturnsAll, SetQueryReturnsAllKind, SetQueryReturnsAllKindResult, SetQueryReturnsColumnInfo, SetQueryReturnsColumnKind, SetQueryReturnsColumnKindResult, SetQueryReturnsColumnOptional, SetQueryReturnsColumnOrThrow, SetQueryReturnsOne, SetQueryReturnsOneKind, SetQueryReturnsOneKindResult, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsPluckColumn, SetQueryReturnsPluckColumnKind, SetQueryReturnsPluckColumnKindResult, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValueOptional, SetQueryReturnsValueOrThrow, SetQueryReturnsVoid, SetQueryReturnsVoidKind, SetQueryTableAlias, SetQueryWith, ShapeColumnPrimaryKeys, ShapeUniqueColumns, SimpleJoinItem, SimpleJoinItemNonSubQueryArgs, SmallIntColumn, SmallSerialColumn, SortDir, SqlFn, StringColumn$1 as StringColumn, TableData, TableDataFn, TableDataInput, TableDataItem, TableDataItemsUniqueColumnTuples, TableDataItemsUniqueColumns, TableDataItemsUniqueConstraints, TableDataMethods, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimestampColumn, TimestampTZColumn, ToSQLCtx, ToSQLOptions, ToSQLQuery, Transaction, TransactionAdapter, TransactionOptions, TransformMethods, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArg, UnionItem, UnionKind, UniqueConstraints, UniqueQueryTypeOrExpression, UniqueTableDataItem, UnknownColumn, Update, UpdateArg, UpdateCtx, UpdateCtxCollect, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdateSelf, UpdatedAtDataInjector, UpsertArg, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereArgs, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereNotArgs, WhereOnItem, WhereOnJoinItem, WhereQueryBuilder, WhereResult, WhereSearchItem, WhereSearchResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowItem, With, WithDataBase, WithDataItem, WithDataItems, WithItem, WithOptions, WrapQueryArg, XMLColumn, _initQueryBuilder, _queryAfterSaveCommit, _queryAll, _queryAs, _queryChangeCounter, _queryCreate, _queryCreateFrom, _queryCreateMany, _queryCreateManyFrom, _queryCreateManyRaw, _queryCreateRaw, _queryDefaults, _queryDelete, _queryExec, _queryFindBy, _queryFindByOptional, _queryGet, _queryGetOptional, _queryHookAfterCreate, _queryHookAfterCreateCommit, _queryHookAfterDelete, _queryHookAfterDeleteCommit, _queryHookAfterQuery, _queryHookAfterSave, _queryHookAfterUpdate, _queryHookAfterUpdateCommit, _queryHookBeforeCreate, _queryHookBeforeDelete, _queryHookBeforeQuery, _queryHookBeforeSave, _queryHookBeforeUpdate, _queryInsert, _queryInsertFrom, _queryInsertMany, _queryInsertManyFrom, _queryInsertManyRaw, _queryInsertRaw, _queryJoinOn, _queryJoinOnJsonPathEquals, _queryJoinOrOn, _queryOr, _queryOrNot, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUpdate, _queryUpdateOrThrow, _queryUpdateRaw, _queryWhere, _queryWhereExists, _queryWhereIn, _queryWhereNot, _queryWhereNotSql, _queryWhereSql, addComputedColumns, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, checkIfASimpleQuery, cloneQuery, cloneQueryBaseUnscoped, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, constraintInnerToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, extendQuery, foreignKeyArgumentToCode, getClonedQueryData, getColumnInfo, getColumnTypes, getPrimaryKeys, getQueryAs, getShapeFromSelect, handleResult, identityToCode, indexInnerToCode, indexToCode, instantiateColumn, isDefaultTimeStamp, isQueryReturnsAll, isSelectingCount, joinSubQuery, logColors, logParamToLogObject, makeColumnTypes, makeColumnsByType, makeExpression, makeFnExpression, makeRegexToFindInSql, makeSQL, parseRecord, parseResult, parseTableData, parseTableDataInput, primaryKeyInnerToCode, processSelectArg, pushLimitSQL, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, pushTableDataCode, queryFrom, queryFromSql, queryJson, queryMethodByReturnType, queryTypeWithLimitOne, queryWrap, quote, quoteString, raw, referencesArgsToCode, resolveSubQueryCallback, saveSearchAlias, setParserForSelectedString, setQueryObjectValue, setQueryOperators, simplifyColumnDefault, sqlFn, sqlQueryArgsToExpression, tableDataMethods, templateLiteralToSQL, testTransaction, throwIfNoWhere, toSQL, toSQLCacheKey };
7673
+ export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AddQuerySelect, AddQueryWith, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BaseOperators, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanQueryColumn, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, CloneSelfKeys, ColumnData, ColumnExpression, ColumnFromDbParams, ColumnInfoQueryData, ColumnOperators, ColumnRefExpression, ColumnType, ColumnsByType, ColumnsShape, ColumnsShapeToNullableObject, ColumnsShapeToObject, ColumnsShapeToObjectArray, ColumnsShapeToPluck, CommonQueryData, ComputedColumnsBase, CopyOptions, CopyQueryData, Create, CreateBelongsToData, CreateColumn, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CreateRelationsData, CreateRelationsDataOmittingFKeys, CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbDomainArg, DbDomainArgRecord, DbExtension, DbOptions, DbResult, DbSharedOptions, DbTableConstructor, DbTableOptionScopes, DbTableOptions, DecimalColumn, DecimalColumnData, DefaultColumnTypes, DefaultSchemaConfig, Delete, DeleteArgs, DeleteMethodsNames, DeleteQueryData, DeleteResult, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, ExpressionOutput, FnExpression, FnExpressionArgs, FnExpressionArgsPairs, FnExpressionArgsValue, For, From, FromArg, FromQuerySelf, FromResult, GetArg, GetColumnInfo, GetQueryResult, GetResult, GetResultOptional, GetStringArg, GroupArg, Having, HavingItem, HookAction, HookSelect, IdentityColumn, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, Join, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinItemArgs, JoinLateralCallback, JoinLateralItem, JoinLateralResult, JoinOverrides, JoinQueryBuilder, JoinQueryMethod, JoinResult, JoinedParsers, JoinedShapes, JsonItem, JsonMethods, JsonModifiers, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MapTableScopesOption, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumnData, OnConflictMerge, OnConflictQueryBuilder, OnConflictSet, OnConflictTarget, OnMethods, Operator, Operators, OperatorsAny, OperatorsArray, OperatorsBoolean, OperatorsDate, OperatorsJson, OperatorsNumber, OperatorsText, OperatorsTime, OrCreateArg, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgSelf, OrderArgs, OrderItem, OrderTsQueryConfig, Over, PathColumn, PickColumnData, PickQueryBaseQuery, PickQueryDataShapeAndJoinedShapes, PickQueryInternal, PickQueryMetaRelations, PickQueryMetaResultRelations, PickQueryMetaResultRelationsWindows, PickQueryMetaResultRelationsWindowsColumnTypes, PickQueryMetaResultRelationsWithDataReturnType, PickQueryMetaResultRelationsWithDataReturnTypeShape, PickQueryMetaResultReturnTypeWithDataWindows, PickQueryMetaResultReturnTypeWithDataWindowsTable, PickQueryMetaShapeRelationsWithData, PickQueryMetaTable, PickQueryMetaTableShape, PickQueryMetaTableShapeReturnTypeWithData, PickQueryMetaWithData, PickQueryQ, PickQueryQAndBaseQuery, PickQueryQAndInternal, PickQueryRelations, PickQueryRelationsWithData, PickQueryShapeResultSinglePrimaryKey, PickQueryShapeSinglePrimaryKey, PickQuerySinglePrimaryKey, PickQueryWindows, PickQueryWithData, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBaseThen, QueryBeforeHook, QueryData, QueryDataFromItem, QueryDataJoinTo, QueryDefaultReturnData, QueryError, QueryErrorName, QueryGet, QueryGetSelf, QueryHelperResult, QueryHookSelect, QueryHooks, QueryInternal, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMetaHasSelect, QueryMetaHasWhere, QueryMethods, QueryResult, QueryReturnsAll, QueryScopeData, QueryScopes, QuerySourceItem, QueryTransform, QueryTransformFn, QueryUpsertOrCreate, QueryWithComputed, QueryWithTable, RawSQL, RawSqlMethods, RealColumn, RecordOfColumnsShapeBase, RefExpression, RelationConfigBase, RelationConfigDataForCreate, RelationJoinQuery, RelationQuery, RelationQueryBase, RelationsBase, SearchArg, SearchMethods, SearchWeight, SearchWeightRecord, Select, SelectArg, SelectAs, SelectItem, SelectQueryData, SelectSubQueryResult, SelectableFromShape, SelectableOfType, SelectableOrExpression, SelectableOrExpressionOfType, SerialColumn, SerialColumnData, SetQueryKind, SetQueryKindResult, SetQueryReturnsAll, SetQueryReturnsAllKind, SetQueryReturnsAllKindResult, SetQueryReturnsColumnInfo, SetQueryReturnsColumnKind, SetQueryReturnsColumnKindResult, SetQueryReturnsColumnOptional, SetQueryReturnsColumnOrThrow, SetQueryReturnsOne, SetQueryReturnsOneKind, SetQueryReturnsOneKindResult, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsPluckColumn, SetQueryReturnsPluckColumnKind, SetQueryReturnsPluckColumnKindResult, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValueOptional, SetQueryReturnsValueOrThrow, SetQueryReturnsVoid, SetQueryReturnsVoidKind, SetQueryTableAlias, SetQueryWith, ShapeColumnPrimaryKeys, ShapeUniqueColumns, SimpleJoinItem, SimpleJoinItemNonSubQueryArgs, SmallIntColumn, SmallSerialColumn, SortDir, SqlFn, StringColumn$1 as StringColumn, TableData, TableDataFn, TableDataInput, TableDataItem, TableDataItemsUniqueColumnTuples, TableDataItemsUniqueColumns, TableDataItemsUniqueConstraints, TableDataMethods, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimestampColumn, TimestampTZColumn, ToSQLCtx, ToSQLOptions, ToSQLQuery, Transaction, TransactionAdapter, TransactionOptions, TransformMethods, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArg, UnionItem, UnionKind, UniqueConstraints, UniqueQueryTypeOrExpression, UniqueTableDataItem, UnknownColumn, Update, UpdateArg, UpdateCtx, UpdateCtxCollect, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdateSelf, UpdatedAtDataInjector, UpsertArg, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereArgs, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereNotArgs, WhereOnItem, WhereOnJoinItem, WhereQueryBuilder, WhereResult, WhereSearchItem, WhereSearchResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowItem, With, WithDataBase, WithDataItem, WithDataItems, WithItem, WithOptions, WrapQueryArg, XMLColumn, _initQueryBuilder, _queryAfterSaveCommit, _queryAll, _queryAs, _queryChangeCounter, _queryCreate, _queryCreateFrom, _queryCreateMany, _queryCreateManyFrom, _queryCreateManyRaw, _queryCreateRaw, _queryDefaults, _queryDelete, _queryExec, _queryFindBy, _queryFindByOptional, _queryGet, _queryGetOptional, _queryHookAfterCreate, _queryHookAfterCreateCommit, _queryHookAfterDelete, _queryHookAfterDeleteCommit, _queryHookAfterQuery, _queryHookAfterSave, _queryHookAfterUpdate, _queryHookAfterUpdateCommit, _queryHookBeforeCreate, _queryHookBeforeDelete, _queryHookBeforeQuery, _queryHookBeforeSave, _queryHookBeforeUpdate, _queryInsert, _queryInsertFrom, _queryInsertMany, _queryInsertManyFrom, _queryInsertManyRaw, _queryInsertRaw, _queryJoinOn, _queryJoinOnJsonPathEquals, _queryJoinOrOn, _queryOr, _queryOrNot, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUpdate, _queryUpdateOrThrow, _queryUpdateRaw, _queryWhere, _queryWhereExists, _queryWhereIn, _queryWhereNot, _queryWhereNotSql, _queryWhereSql, addComputedColumns, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, checkIfASimpleQuery, cloneQuery, cloneQueryBaseUnscoped, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, constraintInnerToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, extendQuery, foreignKeyArgumentToCode, getClonedQueryData, getColumnInfo, getColumnTypes, getPrimaryKeys, getQueryAs, getShapeFromSelect, handleResult, identityToCode, indexInnerToCode, indexToCode, instantiateColumn, isDefaultTimeStamp, isQueryReturnsAll, isSelectingCount, joinSubQuery, logColors, logParamToLogObject, makeColumnTypes, makeColumnsByType, makeFnExpression, makeRegexToFindInSql, makeSQL, parseRecord, parseResult, parseTableData, parseTableDataInput, primaryKeyInnerToCode, processSelectArg, pushLimitSQL, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, pushTableDataCode, queryFrom, queryFromSql, queryJson, queryMethodByReturnType, queryTypeWithLimitOne, queryWrap, quote, quoteString, raw, referencesArgsToCode, resolveSubQueryCallback, saveSearchAlias, setParserForSelectedString, setQueryObjectValue, setQueryOperators, simplifyColumnDefault, sqlFn, sqlQueryArgsToExpression, tableDataMethods, templateLiteralToSQL, testTransaction, throwIfNoWhere, toSQL, toSQLCacheKey };