pqb 0.33.0 → 0.33.1
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 +139 -100
- package/dist/index.js +91 -19
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +92 -20
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
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, SingleSqlItem, Sql, RecordUnknown, RecordKeyTrue, EmptyObject, QueryBaseCommon, QueryColumns, QueryMetaBase, QueryReturnType, QueryThen, Expression, MaybeArray, SelectableBase, TemplateLiteralArgs, ColumnsShapeBase, ColumnsParsers, RecordString, PickQueryTable,
|
|
2
|
+
import { QueryResultRow, AdapterConfigBase, AdapterBase, QueryInput, SingleSqlItem, Sql, RecordUnknown, RecordKeyTrue, EmptyObject, QueryBaseCommon, QueryColumns, QueryMetaBase, QueryReturnType, QueryThen, Expression, MaybeArray, SelectableBase, TemplateLiteralArgs, ColumnsShapeBase, ColumnsParsers, RecordString, PickQueryTable, QueryDataTransform, ExpressionChain, getValueKey, QueryColumn, PickQueryShape, PickQueryTableMetaResult, EmptyTuple, PickQueryMeta, PickQueryMetaResultReturnType, QueryColumnToNullable, PickQueryMetaShape, PickQueryTableMetaResultShape, PickQueryMetaResultWindows, PickOutputTypeAndOperators, PickQueryResult, ExpressionData, ValExpression, PickOutputType, SQLQueryArgs, ColumnSchemaConfig, DateColumnData, Code, TimeInterval, ColumnTypeSchemaArg, ColumnDataBase, ArrayMethodsData, RawSQLBase, RawSQLValues, ExpressionTypeMethod, DynamicSQLArg, StaticSQLArgs, ForeignKeyTable, ColumnNameOfTable, BaseNumberData, PickColumnBaseData, ColumnWithDefault, StringTypeData, PrimaryKeyColumn, ParseColumn, EncodeColumn, QueryColumnsInit, DefaultSelectColumns, CoreQueryScopes, DbBase, QueryCatch, TransactionState, ColumnTypeBase, PickQueryUniqueProperties, PickQueryMetaResult, IsQuery, PickQueryTableMetaResultInputType, SingleSql, MergeObjects, PickQueryResultUniqueColumns, QueryInternalBase, PickQueryReturnType, PickType, ColumnShapeOutput, OperatorsNullable, 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';
|
|
@@ -121,9 +121,9 @@ interface WithOptions {
|
|
|
121
121
|
}
|
|
122
122
|
type SelectItem = string | SelectAs | Expression;
|
|
123
123
|
interface SelectAs {
|
|
124
|
-
selectAs: SelectAsValue
|
|
124
|
+
selectAs: SelectAsValue;
|
|
125
125
|
}
|
|
126
|
-
interface SelectAsValue
|
|
126
|
+
interface SelectAsValue {
|
|
127
127
|
[K: string]: string | Query | Expression;
|
|
128
128
|
}
|
|
129
129
|
type OrderTsQueryConfig = true | OrderTsQueryConfigObject;
|
|
@@ -337,7 +337,7 @@ interface CommonQueryData {
|
|
|
337
337
|
logger: QueryLogger;
|
|
338
338
|
autoPreparedStatements?: boolean;
|
|
339
339
|
[toSQLCacheKey]?: Sql;
|
|
340
|
-
transform?:
|
|
340
|
+
transform?: QueryDataTransform[];
|
|
341
341
|
language?: string;
|
|
342
342
|
subQuery?: number;
|
|
343
343
|
relChain?: (Query | RelationQuery)[];
|
|
@@ -623,10 +623,11 @@ type JoinOptionalMain<T extends PickQueryMetaResultReturnType, Selectable extend
|
|
|
623
623
|
column: QueryColumnToNullable<T['meta']['selectable'][K]['column']>;
|
|
624
624
|
};
|
|
625
625
|
} & Selectable : T['meta'][K];
|
|
626
|
-
} : K extends 'result' ?
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
626
|
+
} : K extends 'result' ? {
|
|
627
|
+
[K in keyof T['result']]: QueryColumnToNullable<T['result'][K]>;
|
|
628
|
+
} : K extends 'then' ? QueryThen<GetQueryResult<T, {
|
|
629
|
+
[K in keyof T['result']]: QueryColumnToNullable<T['result'][K]>;
|
|
630
|
+
}>> : T[K];
|
|
630
631
|
};
|
|
631
632
|
/**
|
|
632
633
|
* Map the `with` table first argument of `join` or `joinLateral` to a query type.
|
|
@@ -1328,9 +1329,9 @@ declare class OnMethods {
|
|
|
1328
1329
|
|
|
1329
1330
|
interface AggregateOptions<T extends PickQueryMetaResultRelationsWindows> {
|
|
1330
1331
|
distinct?: boolean;
|
|
1331
|
-
order?: OrderArg<T> |
|
|
1332
|
+
order?: OrderArg<T> | OrderArgs<T>;
|
|
1332
1333
|
filter?: WhereArg<T>;
|
|
1333
|
-
filterOr?:
|
|
1334
|
+
filterOr?: WhereArgs<T>;
|
|
1334
1335
|
withinGroup?: boolean;
|
|
1335
1336
|
over?: Over<T>;
|
|
1336
1337
|
}
|
|
@@ -1700,12 +1701,12 @@ declare class ExpressionMethods {
|
|
|
1700
1701
|
* @param args
|
|
1701
1702
|
* @param options
|
|
1702
1703
|
*/
|
|
1703
|
-
fn<T extends PickQueryMetaResultRelationsWindowsColumnTypes, Type = unknown, C extends QueryColumn = QueryColumn<Type>>(this: T, fn: string, args:
|
|
1704
|
+
fn<T extends PickQueryMetaResultRelationsWindowsColumnTypes, Type = unknown, C extends QueryColumn = QueryColumn<Type>>(this: T, fn: string, args: SelectableOrExpressions<T>, options?: AggregateOptions<T>): SetQueryReturnsFn<T, C>;
|
|
1704
1705
|
or(...args: [OrExpressionArg, ...OrExpressionArg[]]): OrExpression;
|
|
1705
1706
|
}
|
|
1706
1707
|
|
|
1707
1708
|
type WhereArg<T extends PickQueryMetaRelations> = {
|
|
1708
|
-
[K in keyof T['meta']['selectable'] | 'NOT' | 'OR' | 'IN']?: K extends 'NOT' ?
|
|
1709
|
+
[K in keyof T['meta']['selectable'] | 'NOT' | 'OR' | 'IN']?: K extends 'NOT' ? WhereArg<T> | WhereArgs<T> : K extends 'OR' ? (WhereArg<T> | WhereArgs<T>)[] : K extends 'IN' ? MaybeArray<{
|
|
1709
1710
|
columns: (keyof T['meta']['selectable'])[];
|
|
1710
1711
|
values: unknown[][] | QueryBase | Expression;
|
|
1711
1712
|
}> : T['meta']['selectable'][K]['column']['queryType'] | null | ColumnOperators<T['meta']['selectable'], K> | QueryOrExpression<T['meta']['selectable'][K]['column']['queryType'] | null> | ((q: T) => QueryOrExpression<T['meta']['selectable'][K]['column']['queryType'] | null>);
|
|
@@ -1761,11 +1762,11 @@ declare const _queryWhereNotSql: <T>(q: T, args: SQLQueryArgs) => T;
|
|
|
1761
1762
|
/**
|
|
1762
1763
|
* Mutative {@link Where.orWhere}
|
|
1763
1764
|
*/
|
|
1764
|
-
declare const _queryOr: <T extends PickQueryMetaRelations>(q: T, args:
|
|
1765
|
+
declare const _queryOr: <T extends PickQueryMetaRelations>(q: T, args: WhereArgs<T>) => WhereResult<T>;
|
|
1765
1766
|
/**
|
|
1766
1767
|
* Mutative {@link Where.orWhereNot}
|
|
1767
1768
|
*/
|
|
1768
|
-
declare const _queryOrNot: <T extends PickQueryMetaRelations>(q: T, args:
|
|
1769
|
+
declare const _queryOrNot: <T extends PickQueryMetaRelations>(q: T, args: WhereArgs<T>) => WhereResult<T>;
|
|
1769
1770
|
/**
|
|
1770
1771
|
* Mutative {@link Where.whereIn}
|
|
1771
1772
|
*/
|
|
@@ -2219,13 +2220,13 @@ declare class Where {
|
|
|
2219
2220
|
*
|
|
2220
2221
|
* @param args - {@link WhereArgs} will be joined with `OR`
|
|
2221
2222
|
*/
|
|
2222
|
-
orWhere<T extends PickQueryMetaRelations>(this: T, ...args:
|
|
2223
|
+
orWhere<T extends PickQueryMetaRelations>(this: T, ...args: WhereArgs<T>): WhereResult<T>;
|
|
2223
2224
|
/**
|
|
2224
2225
|
* `orWhereNot` takes the same arguments as {@link orWhere}, and prepends each condition with `NOT` just as {@link whereNot} does.
|
|
2225
2226
|
*
|
|
2226
2227
|
* @param args - {@link WhereArgs} will be prefixed with `NOT` and joined with `OR`
|
|
2227
2228
|
*/
|
|
2228
|
-
orWhereNot<T extends PickQueryMetaRelations>(this: T, ...args:
|
|
2229
|
+
orWhereNot<T extends PickQueryMetaRelations>(this: T, ...args: WhereArgs<T>): WhereResult<T>;
|
|
2229
2230
|
/**
|
|
2230
2231
|
* `whereIn` and related methods are for the `IN` operator to check for inclusion in a list of values.
|
|
2231
2232
|
*
|
|
@@ -3065,12 +3066,10 @@ interface DefaultSchemaConfig extends ColumnSchemaConfig<ColumnType> {
|
|
|
3065
3066
|
declare const defaultSchemaConfig: DefaultSchemaConfig;
|
|
3066
3067
|
|
|
3067
3068
|
type SoftDeleteOption<Shape extends QueryColumns> = true | keyof Shape;
|
|
3068
|
-
interface QueryWithSoftDelete extends
|
|
3069
|
-
meta: QueryMetaBase
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
};
|
|
3073
|
-
};
|
|
3069
|
+
interface QueryWithSoftDelete extends PickQueryResult {
|
|
3070
|
+
meta: QueryMetaBase<{
|
|
3071
|
+
nonDeleted: true;
|
|
3072
|
+
}>;
|
|
3074
3073
|
}
|
|
3075
3074
|
/**
|
|
3076
3075
|
* `softDelete` configures the table to set `deletedAt` to current time instead of deleting records.
|
|
@@ -3396,6 +3395,7 @@ declare const getSqlText: (sql: Sql) => string;
|
|
|
3396
3395
|
|
|
3397
3396
|
type AliasOrTable<T extends PickQueryMetaTable> = T['meta']['as'] extends string ? T['meta']['as'] : T['table'] extends string ? T['table'] : never;
|
|
3398
3397
|
type SelectableOrExpression<T extends PickQueryMeta = PickQueryMeta, C extends QueryColumn = QueryColumn> = '*' | keyof T['meta']['selectable'] | Expression<C>;
|
|
3398
|
+
type SelectableOrExpressions<T extends PickQueryMeta = PickQueryMeta, C extends QueryColumn = QueryColumn> = ('*' | keyof T['meta']['selectable'] | Expression<C>)[];
|
|
3399
3399
|
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;
|
|
3400
3400
|
declare const getClonedQueryData: (query: QueryData) => QueryData;
|
|
3401
3401
|
declare const getQueryAs: (q: {
|
|
@@ -3900,7 +3900,7 @@ declare class Clear {
|
|
|
3900
3900
|
clear<T extends Query>(this: T, ...clears: ClearStatement[]): T;
|
|
3901
3901
|
}
|
|
3902
3902
|
|
|
3903
|
-
interface CreateSelf extends
|
|
3903
|
+
interface CreateSelf extends PickQueryMetaResultRelationsWithDataReturnTypeShape, PickQueryUniqueProperties {
|
|
3904
3904
|
inputType: RecordUnknown;
|
|
3905
3905
|
}
|
|
3906
3906
|
type CreateData<T extends CreateSelf, BelongsToData = CreateBelongsToData<T>> = RelationsBase extends T['relations'] ? CreateDataWithDefaults<T, keyof T['meta']['defaults']> : CreateRelationsData<T, BelongsToData>;
|
|
@@ -4939,13 +4939,12 @@ interface SelectSelf {
|
|
|
4939
4939
|
withData: WithDataBase;
|
|
4940
4940
|
}
|
|
4941
4941
|
type SelectArg<T extends SelectSelf> = '*' | keyof T['meta']['selectable'];
|
|
4942
|
+
type SelectArgs<T extends SelectSelf> = ('*' | keyof T['meta']['selectable'])[];
|
|
4942
4943
|
interface SelectAsArg<T extends SelectSelf> {
|
|
4943
|
-
[K: string]:
|
|
4944
|
+
[K: string]: keyof T['meta']['selectable'] | Expression | ((q: {
|
|
4945
|
+
[K in keyof T]: K extends keyof T['relations'] ? T['relations'][K]['relationConfig']['methodQuery'] : T[K];
|
|
4946
|
+
}) => QueryBase | Expression);
|
|
4944
4947
|
}
|
|
4945
|
-
type SelectAsValue<T extends SelectSelf> = keyof T['meta']['selectable'] | Expression | ((q: SelectSubQueryArg<T>) => QueryBase | Expression);
|
|
4946
|
-
type SelectSubQueryArg<T extends SelectSelf> = {
|
|
4947
|
-
[K in keyof T]: K extends keyof T['relations'] ? T['relations'][K]['relationConfig']['methodQuery'] : T[K];
|
|
4948
|
-
};
|
|
4949
4948
|
type SelectResult<T extends SelectSelf, Columns extends PropertyKey[]> = {
|
|
4950
4949
|
[K in keyof T]: K extends 'result' ? ('*' extends Columns[number] ? {
|
|
4951
4950
|
[K in Columns[number] | keyof T['shape'] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
|
|
@@ -4959,15 +4958,17 @@ type SelectResult<T extends SelectSelf, Columns extends PropertyKey[]> = {
|
|
|
4959
4958
|
} & QueryMetaHasSelect;
|
|
4960
4959
|
type SelectResultObj<T extends SelectSelf, Obj> = {
|
|
4961
4960
|
[K in keyof T]: K extends 'meta' ? T['meta'] & {
|
|
4961
|
+
hasSelect: true;
|
|
4962
4962
|
selectable: SelectAsSelectable<Obj>;
|
|
4963
4963
|
} : K extends 'result' ? {
|
|
4964
|
-
[K in
|
|
4964
|
+
[K in T['meta']['hasSelect'] extends true ? keyof Obj | keyof T['result'] : keyof Obj]: K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : K extends keyof T['result'] ? T['result'][K] : never;
|
|
4965
4965
|
} : K extends 'then' ? QueryThen<GetQueryResult<T, {
|
|
4966
|
-
[K in
|
|
4966
|
+
[K in T['meta']['hasSelect'] extends true ? keyof Obj | keyof T['result'] : keyof Obj]: K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : K extends keyof T['result'] ? T['result'][K] : never;
|
|
4967
4967
|
}>> : T[K];
|
|
4968
|
-
}
|
|
4968
|
+
};
|
|
4969
4969
|
type SelectResultColumnsAndObj<T extends SelectSelf, Columns extends PropertyKey[], Obj> = {
|
|
4970
4970
|
[K in keyof T]: K extends 'meta' ? T['meta'] & {
|
|
4971
|
+
hasSelect: true;
|
|
4971
4972
|
selectable: SelectAsSelectable<Obj>;
|
|
4972
4973
|
} : K extends 'result' ? // Combine previously selected items, all columns if * was provided,
|
|
4973
4974
|
{
|
|
@@ -4975,7 +4976,7 @@ type SelectResultColumnsAndObj<T extends SelectSelf, Columns extends PropertyKey
|
|
|
4975
4976
|
} & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown) : K extends 'then' ? QueryThen<GetQueryResult<T, {
|
|
4976
4977
|
[K in ('*' extends Columns[number] ? Exclude<Columns[number], '*'> | keyof T['shape'] : Columns[number]) | keyof Obj as K extends keyof T['meta']['selectable'] ? T['meta']['selectable'][K]['as'] : K]: K extends keyof T['meta']['selectable'] ? T['meta']['selectable'][K]['column'] : K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : never;
|
|
4977
4978
|
} & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown)>> : T[K];
|
|
4978
|
-
}
|
|
4979
|
+
};
|
|
4979
4980
|
type SelectAsSelectable<Arg> = {
|
|
4980
4981
|
[K in keyof Arg]: Arg[K] extends (q: never) => {
|
|
4981
4982
|
returnType: 'value' | 'valueOrThrow';
|
|
@@ -5001,9 +5002,9 @@ declare const addParserForSelectItem: <T extends PickQueryMeta>(q: T, as: string
|
|
|
5001
5002
|
declare const processSelectArg: <T extends SelectSelf>(q: T, as: string | undefined, arg: SelectArg<T>, columnAs?: string | getValueKey) => SelectItem | undefined;
|
|
5002
5003
|
declare const setParserForSelectedString: (q: PickQueryQ, arg: string, as: string | getValueKey | undefined, columnAs?: string | getValueKey) => string;
|
|
5003
5004
|
declare const getShapeFromSelect: (q: QueryBase, isSubQuery?: boolean) => QueryColumns;
|
|
5004
|
-
declare function _querySelect<T extends SelectSelf, Columns extends
|
|
5005
|
+
declare function _querySelect<T extends SelectSelf, Columns extends SelectArgs<T>>(q: T, columns: Columns): SelectResult<T, Columns>;
|
|
5005
5006
|
declare function _querySelect<T extends SelectSelf, Obj extends SelectAsArg<T>>(q: T, obj: Obj): SelectResultObj<T, Obj>;
|
|
5006
|
-
declare function _querySelect<T extends SelectSelf, Columns extends
|
|
5007
|
+
declare function _querySelect<T extends SelectSelf, Columns extends SelectArgs<T>, Obj extends SelectAsArg<T>>(q: T, args: [...columns: Columns, obj: Obj]): SelectResultColumnsAndObj<T, Columns, Obj>;
|
|
5007
5008
|
declare class Select {
|
|
5008
5009
|
/**
|
|
5009
5010
|
* Takes a list of columns to be selected, and by default, the query builder will select all columns of the table.
|
|
@@ -5066,9 +5067,9 @@ declare class Select {
|
|
|
5066
5067
|
* .where({ 'author.isPopular': true });
|
|
5067
5068
|
* ```
|
|
5068
5069
|
*/
|
|
5069
|
-
select<T extends SelectSelf, Columns extends
|
|
5070
|
+
select<T extends SelectSelf, Columns extends SelectArgs<T>>(this: T, ...args: Columns): SelectResult<T, Columns>;
|
|
5070
5071
|
select<T extends SelectSelf, Obj extends SelectAsArg<T>>(this: T, obj: Obj): SelectResultObj<T, Obj>;
|
|
5071
|
-
select<T extends SelectSelf, Columns extends
|
|
5072
|
+
select<T extends SelectSelf, Columns extends SelectArgs<T>, Obj extends SelectAsArg<T>>(this: T, ...args: [...columns: Columns, obj: Obj]): SelectResultColumnsAndObj<T, Columns, Obj>;
|
|
5072
5073
|
/**
|
|
5073
5074
|
* When querying the table or creating records, all columns are selected by default,
|
|
5074
5075
|
* but updating and deleting queries are returning affected row counts by default.
|
|
@@ -5240,9 +5241,11 @@ interface WithArgsOptions {
|
|
|
5240
5241
|
interface WithRecursiveOptions extends WithArgsOptions {
|
|
5241
5242
|
union?: 'UNION' | 'UNION ALL' | 'INTERSECT' | 'INTERSECT ALL' | 'EXCEPT' | 'EXCEPT ALL';
|
|
5242
5243
|
}
|
|
5243
|
-
|
|
5244
|
-
|
|
5245
|
-
|
|
5244
|
+
interface WithQueryBuilder<T extends PickQueryWithDataColumnTypes> extends Query {
|
|
5245
|
+
sql: SqlMethod<T['columnTypes']>['sql'];
|
|
5246
|
+
relations: EmptyObject;
|
|
5247
|
+
withData: T['withData'];
|
|
5248
|
+
}
|
|
5246
5249
|
type WithResult<T extends PickQueryMetaWithDataColumnTypes, Name extends string, Q extends PickQueryResult> = {
|
|
5247
5250
|
[K in keyof T]: K extends 'meta' ? {
|
|
5248
5251
|
[K in keyof T['meta']]: K extends 'kind' ? 'select' : T['meta'][K];
|
|
@@ -5253,7 +5256,7 @@ type WithResult<T extends PickQueryMetaWithDataColumnTypes, Name extends string,
|
|
|
5253
5256
|
} : K extends keyof T['withData'] ? T['withData'][K] : never;
|
|
5254
5257
|
} : T[K];
|
|
5255
5258
|
};
|
|
5256
|
-
type WithSqlResult<T extends PickQueryWithDataColumnTypes, Name extends string, Shape extends
|
|
5259
|
+
type WithSqlResult<T extends PickQueryWithDataColumnTypes, Name extends string, Shape extends QueryColumns> = {
|
|
5257
5260
|
[K in keyof T]: K extends 'withData' ? {
|
|
5258
5261
|
[K in Name | keyof T['withData']]: K extends Name ? {
|
|
5259
5262
|
table: Name;
|
|
@@ -5327,7 +5330,7 @@ declare class WithMethods {
|
|
|
5327
5330
|
* ```
|
|
5328
5331
|
*/
|
|
5329
5332
|
with<T extends PickQueryMetaWithDataColumnTypes, Name extends string, Q>(this: T, name: Name, query: Q | ((q: WithQueryBuilder<T>) => Q)): WithResult<T, Name, Q extends Query ? Q : never>;
|
|
5330
|
-
with<T extends PickQueryMetaWithDataColumnTypes, Name extends string, Q extends Query>(this: T, name: Name, options: WithArgsOptions, query: Q | ((
|
|
5333
|
+
with<T extends PickQueryMetaWithDataColumnTypes, Name extends string, Q extends Query>(this: T, name: Name, options: WithArgsOptions, query: Q | ((q: WithQueryBuilder<T>) => Q)): WithResult<T, Name, Q>;
|
|
5331
5334
|
withRecursive<T extends PickQueryMetaWithDataColumnTypes, Name extends string, Q extends Query, Result = WithResult<T, Name, Q>>(this: T, name: Name, base: Q | ((qb: WithQueryBuilder<T>) => Q), recursive: (qb: {
|
|
5332
5335
|
[K in keyof Result]: K extends 'result' ? Q['result'] : Result[K];
|
|
5333
5336
|
}) => Query): Result;
|
|
@@ -5338,14 +5341,14 @@ declare class WithMethods {
|
|
|
5338
5341
|
withSql<T extends PickQueryWithDataColumnTypes, Name extends string, Shape extends ColumnsShapeBase>(this: T, name: Name, shape: (t: T['columnTypes']) => Shape, expr: (q: T) => Expression): WithSqlResult<T, Name, Shape>;
|
|
5339
5342
|
}
|
|
5340
5343
|
|
|
5341
|
-
type
|
|
5344
|
+
type UnionArgs<T extends PickQueryResult> = ({
|
|
5342
5345
|
result: {
|
|
5343
5346
|
[K in keyof T['result']]: {
|
|
5344
5347
|
queryType: T['result'][K]['queryType'];
|
|
5345
5348
|
};
|
|
5346
5349
|
};
|
|
5347
|
-
} | ((q: T) => Expression);
|
|
5348
|
-
declare const _queryUnion: <T extends Query>(base: T, args:
|
|
5350
|
+
} | ((q: T) => Expression))[];
|
|
5351
|
+
declare const _queryUnion: <T extends Query>(base: T, args: UnionArgs<T>, k: UnionKind) => T;
|
|
5349
5352
|
declare class Union {
|
|
5350
5353
|
/**
|
|
5351
5354
|
* Creates a union query, takes one or more queries or SQL expressions.
|
|
@@ -5401,55 +5404,46 @@ declare class Union {
|
|
|
5401
5404
|
*
|
|
5402
5405
|
* @param args - array of queries or SQL expressions
|
|
5403
5406
|
*/
|
|
5404
|
-
union<T extends PickQueryResult>(this: T, ...args:
|
|
5407
|
+
union<T extends PickQueryResult>(this: T, ...args: UnionArgs<T>): T;
|
|
5405
5408
|
/**
|
|
5406
5409
|
* Same as {@link union}, but allows duplicated rows.
|
|
5407
5410
|
*
|
|
5408
5411
|
* @param args - array of queries or SQL expressions
|
|
5409
5412
|
*/
|
|
5410
|
-
unionAll<T extends PickQueryResult>(this: T, ...args:
|
|
5413
|
+
unionAll<T extends PickQueryResult>(this: T, ...args: UnionArgs<T>): T;
|
|
5411
5414
|
/**
|
|
5412
5415
|
* Same as {@link union}, but uses a `INTERSECT` SQL keyword instead
|
|
5413
5416
|
*
|
|
5414
5417
|
* @param args - array of queries or SQL expressions
|
|
5415
5418
|
*/
|
|
5416
|
-
intersect<T extends PickQueryResult>(this: T, ...args:
|
|
5419
|
+
intersect<T extends PickQueryResult>(this: T, ...args: UnionArgs<T>): T;
|
|
5417
5420
|
/**
|
|
5418
5421
|
* Same as {@link intersect}, but allows duplicated rows.
|
|
5419
5422
|
*
|
|
5420
5423
|
* @param args - array of queries or SQL expressions
|
|
5421
5424
|
*/
|
|
5422
|
-
intersectAll<T extends PickQueryResult>(this: T, ...args:
|
|
5425
|
+
intersectAll<T extends PickQueryResult>(this: T, ...args: UnionArgs<T>): T;
|
|
5423
5426
|
/**
|
|
5424
5427
|
* Same as {@link union}, but uses an `EXCEPT` SQL keyword instead
|
|
5425
5428
|
*
|
|
5426
5429
|
* @param args - array of queries or SQL expressions
|
|
5427
5430
|
*/
|
|
5428
|
-
except<T extends PickQueryResult>(this: T, ...args:
|
|
5431
|
+
except<T extends PickQueryResult>(this: T, ...args: UnionArgs<T>): T;
|
|
5429
5432
|
/**
|
|
5430
5433
|
* Same as {@link except}, but allows duplicated rows.
|
|
5431
5434
|
*
|
|
5432
5435
|
* @param args - array of queries or SQL expressions
|
|
5433
5436
|
*/
|
|
5434
|
-
exceptAll<T extends PickQueryResult>(this: T, ...args:
|
|
5437
|
+
exceptAll<T extends PickQueryResult>(this: T, ...args: UnionArgs<T>): T;
|
|
5435
5438
|
}
|
|
5436
5439
|
|
|
5437
5440
|
interface UpdateSelf extends PickQueryMetaResultRelationsWithDataReturnTypeShape {
|
|
5438
5441
|
inputType: RecordUnknown;
|
|
5439
5442
|
}
|
|
5440
5443
|
type UpdateData<T extends UpdateSelf> = {
|
|
5441
|
-
[K in keyof T['inputType']]?: UpdateColumn<T, K>;
|
|
5442
|
-
} & {
|
|
5443
|
-
[K in keyof T['relations']]?: UpdateRelationData<T, T['relations'][K]['relationConfig']>;
|
|
5444
|
+
[K in keyof T['inputType'] | keyof T['relations']]?: K extends keyof T['inputType'] ? UpdateColumn<T, K> : UpdateRelationData<T, T['relations'][K]['relationConfig']>;
|
|
5444
5445
|
};
|
|
5445
|
-
|
|
5446
|
-
meta: {
|
|
5447
|
-
kind: 'select';
|
|
5448
|
-
};
|
|
5449
|
-
}
|
|
5450
|
-
type UpdateColumn<T extends UpdateSelf, Key extends keyof T['inputType']> = T['inputType'][Key] | QueryOrExpression<T['inputType'][Key]> | {
|
|
5451
|
-
[K in keyof Query]: K extends 'then' ? QueryThen<T['inputType'][Key]> : Query[K];
|
|
5452
|
-
} | ((q: T) => UpdateQueryOrExpression<T['inputType'][Key]> | QueryOrExpression<T['inputType'][Key]>);
|
|
5446
|
+
type UpdateColumn<T extends UpdateSelf, Key extends keyof T['inputType']> = T['inputType'][Key] | QueryOrExpression<T['inputType'][Key]> | ((q: T) => QueryOrExpression<T['inputType'][Key]>);
|
|
5453
5447
|
type UpdateRelationData<T extends UpdateSelf, Rel extends RelationConfigBase> = QueryReturnsAll<T['returnType']> extends true ? Rel['dataForUpdate'] : Rel['one'] extends true ? Rel['dataForUpdate'] | Rel['dataForUpdateOne'] : Rel['dataForUpdate'] & Rel['dataForUpdateOne'];
|
|
5454
5448
|
type UpdateArg<T extends UpdateSelf> = T['meta']['hasWhere'] extends true ? UpdateData<T> : never;
|
|
5455
5449
|
type UpdateRawArgs<T extends UpdateSelf> = T['meta']['hasWhere'] extends true ? SQLQueryArgs : never;
|
|
@@ -6091,22 +6085,14 @@ declare class SearchMethods {
|
|
|
6091
6085
|
search<T extends PickQueryMeta, As extends string>(this: T, arg: SearchArg<T, As>): WhereSearchResult<T, As>;
|
|
6092
6086
|
}
|
|
6093
6087
|
|
|
6094
|
-
type OrCreateArg<
|
|
6095
|
-
type UpsertArg<T extends Query, Data, BT> = {
|
|
6096
|
-
update: Data;
|
|
6097
|
-
create: CreateData<T, BT> | ((update: Data) => CreateData<T, BT>);
|
|
6098
|
-
} | UpsertArgWithData<T, Data, BT>;
|
|
6099
|
-
type UpsertArgWithData<T extends Query, Data, BT> = {
|
|
6100
|
-
data: Data;
|
|
6101
|
-
create: UpsertCreate<keyof Data, CreateData<T, BT>> | ((update: Data) => UpsertCreate<keyof Data, CreateData<T, BT>>);
|
|
6102
|
-
};
|
|
6088
|
+
type OrCreateArg<Data> = Data | (() => Data);
|
|
6103
6089
|
type UpsertCreate<DataKey extends PropertyKey, CD> = {
|
|
6104
6090
|
[K in keyof CD as K extends DataKey ? never : K]: CD[K];
|
|
6105
6091
|
} & {
|
|
6106
6092
|
[K in DataKey]?: K extends keyof CD ? CD[K] : never;
|
|
6107
6093
|
};
|
|
6108
|
-
type UpsertResult<T extends PickQueryMetaResult> = T['meta']['hasSelect'] extends true ? SetQueryReturnsOneKind<T, 'upsert'> :
|
|
6109
|
-
type UpsertThis =
|
|
6094
|
+
type UpsertResult<T extends PickQueryMetaResult> = T['meta']['hasSelect'] extends true ? SetQueryReturnsOneKind<T, 'upsert'> : SetQueryReturnsVoidKind<T, 'upsert'>;
|
|
6095
|
+
type UpsertThis = UpdateSelf & CreateSelf & QueryMetaHasWhere & {
|
|
6110
6096
|
returnType: 'one' | 'oneOrThrow';
|
|
6111
6097
|
};
|
|
6112
6098
|
declare class QueryUpsertOrCreate {
|
|
@@ -6203,7 +6189,13 @@ declare class QueryUpsertOrCreate {
|
|
|
6203
6189
|
*
|
|
6204
6190
|
* @param data - `update` property for the data to update, `create` property for the data to create
|
|
6205
6191
|
*/
|
|
6206
|
-
upsert<T extends UpsertThis, Update extends UpdateData<T>, BT extends CreateBelongsToData<T>>(this: T, data:
|
|
6192
|
+
upsert<T extends UpsertThis, Update extends UpdateData<T>, BT extends CreateBelongsToData<T>>(this: T, data: {
|
|
6193
|
+
update: Update;
|
|
6194
|
+
create: CreateData<T, BT> | ((update: Update) => CreateData<T, BT>);
|
|
6195
|
+
} | {
|
|
6196
|
+
data: Update;
|
|
6197
|
+
create: UpsertCreate<keyof Update, CreateData<T, BT>> | ((update: Update) => UpsertCreate<keyof Update, CreateData<T, BT>>);
|
|
6198
|
+
}): UpsertResult<T>;
|
|
6207
6199
|
/**
|
|
6208
6200
|
* `orCreate` creates a record only if it was not found by conditions.
|
|
6209
6201
|
*
|
|
@@ -6235,21 +6227,17 @@ declare class QueryUpsertOrCreate {
|
|
|
6235
6227
|
*
|
|
6236
6228
|
* @param data - the same data as for `create`, it may be returned from a callback
|
|
6237
6229
|
*/
|
|
6238
|
-
orCreate<T extends UpsertThis, BT extends CreateBelongsToData<T>>(this: T, data: OrCreateArg<T, BT
|
|
6230
|
+
orCreate<T extends UpsertThis, BT extends CreateBelongsToData<T>>(this: T, data: OrCreateArg<CreateData<T, BT>>): UpsertResult<T>;
|
|
6239
6231
|
}
|
|
6240
6232
|
|
|
6241
|
-
type QueryTransformFn<T extends Query> = (input: T['then'] extends QueryThen<infer Data> ? Data : never) => unknown;
|
|
6242
|
-
type QueryTransform<T extends QueryBase, Data> = {
|
|
6243
|
-
[K in keyof T]: K extends 'returnType' ? 'valueOrThrow' : K extends 'result' ? {
|
|
6244
|
-
value: QueryColumn<Data>;
|
|
6245
|
-
} : K extends 'then' ? QueryThen<Data> : T[K];
|
|
6246
|
-
};
|
|
6247
6233
|
declare class TransformMethods {
|
|
6248
6234
|
/**
|
|
6249
6235
|
* Transform the result of the query right after loading it.
|
|
6250
6236
|
*
|
|
6251
6237
|
* `transform` method should be called in the last order, other methods can't be chained after calling it.
|
|
6252
6238
|
*
|
|
6239
|
+
* It is meant to transform the whole result of a query, for transforming individual records consider using {@link QueryMap.map}.
|
|
6240
|
+
*
|
|
6253
6241
|
* The [hooks](/guide/hooks.html) that are going to run after the query will receive the query result **before** transferring.
|
|
6254
6242
|
*
|
|
6255
6243
|
* Consider the following example of a cursor-based pagination by `id`:
|
|
@@ -6296,14 +6284,66 @@ declare class TransformMethods {
|
|
|
6296
6284
|
*
|
|
6297
6285
|
* @param fn - function to transform query result with
|
|
6298
6286
|
*/
|
|
6299
|
-
transform<T extends Query,
|
|
6287
|
+
transform<T extends Query, Result>(this: T, fn: (input: T['then'] extends QueryThen<infer Data> ? Data : never) => Result): {
|
|
6288
|
+
[K in keyof T]: K extends 'returnType' ? 'valueOrThrow' : K extends 'result' ? {
|
|
6289
|
+
value: QueryColumn<Result>;
|
|
6290
|
+
} : K extends 'then' ? QueryThen<Result> : T[K];
|
|
6291
|
+
};
|
|
6292
|
+
}
|
|
6293
|
+
|
|
6294
|
+
declare class QueryMap {
|
|
6295
|
+
/**
|
|
6296
|
+
* Use `map` to transform individual records of a query result.
|
|
6297
|
+
*
|
|
6298
|
+
* It accepts a single record and should return a single transformed record.
|
|
6299
|
+
*
|
|
6300
|
+
* For transforming the whole result of a query, consider using [transform](#transform) instead.
|
|
6301
|
+
*
|
|
6302
|
+
* The [hooks](/guide/hooks) that are going to run after the query will receive the query result **before** transformation.
|
|
6303
|
+
*
|
|
6304
|
+
* ```ts
|
|
6305
|
+
* // add a `titleLength` to every post
|
|
6306
|
+
* const posts = await db.post.limit(10).map((post) => ({
|
|
6307
|
+
* ...post,
|
|
6308
|
+
* titleLength: post.title.length,
|
|
6309
|
+
* }));
|
|
6310
|
+
*
|
|
6311
|
+
* posts[0].titleLength; // number
|
|
6312
|
+
*
|
|
6313
|
+
* // using the exact same `map` function to transform a single post
|
|
6314
|
+
* const singlePost = await db.post.find(id).map((post) => ({
|
|
6315
|
+
* ...post,
|
|
6316
|
+
* titleLength: post.title.length,
|
|
6317
|
+
* }));
|
|
6318
|
+
*
|
|
6319
|
+
* singlePost.titleLength; // number
|
|
6320
|
+
*
|
|
6321
|
+
* // can be used in sub-queries
|
|
6322
|
+
* const postsWithComments = await db.post.select('title', {
|
|
6323
|
+
* comments: (q) =>
|
|
6324
|
+
* q.comments.map((comment) => ({
|
|
6325
|
+
* ...comment,
|
|
6326
|
+
* truncatedContent: comment.content.slice(0, 100),
|
|
6327
|
+
* })),
|
|
6328
|
+
* });
|
|
6329
|
+
*
|
|
6330
|
+
* postsWithComments[0].comments[0].truncatedContent; // string
|
|
6331
|
+
* ```
|
|
6332
|
+
*
|
|
6333
|
+
* @param fn - function to transform an individual record
|
|
6334
|
+
*/
|
|
6335
|
+
map<T extends Query, Result extends RecordUnknown>(this: T, fn: (input: QueryReturnsAll<T['returnType']> extends true ? T['then'] extends QueryThen<(infer Data)[]> ? Data : never : T['then'] extends QueryThen<infer Data> ? Data : never) => Result): {
|
|
6336
|
+
[K in keyof T]: K extends 'result' ? {
|
|
6337
|
+
[K in keyof Result]: QueryColumn<Result[K]>;
|
|
6338
|
+
} : K extends 'then' ? QueryThen<QueryReturnsAll<T['returnType']> extends true ? Result[] : Result> : T[K];
|
|
6339
|
+
};
|
|
6300
6340
|
}
|
|
6301
6341
|
|
|
6302
6342
|
interface WindowArg<T extends OrderArgSelf> {
|
|
6303
6343
|
[K: string]: WindowArgDeclaration<T> | Expression;
|
|
6304
6344
|
}
|
|
6305
6345
|
interface WindowArgDeclaration<T extends OrderArgSelf = OrderArgSelf> {
|
|
6306
|
-
partitionBy?: SelectableOrExpression<T> |
|
|
6346
|
+
partitionBy?: SelectableOrExpression<T> | SelectableOrExpressions<T>;
|
|
6307
6347
|
order?: OrderArg<T>;
|
|
6308
6348
|
}
|
|
6309
6349
|
type WindowResult<T, W extends RecordUnknown> = T & {
|
|
@@ -6315,16 +6355,15 @@ type OrderArgSelf = PickQueryMetaResult;
|
|
|
6315
6355
|
type OrderArg<T extends OrderArgSelf> = OrderArgKey<T> | OrderArgTsQuery<T> | {
|
|
6316
6356
|
[K in OrderArgKey<T> | OrderArgTsQuery<T>]?: K extends OrderArgTsQuery<T> ? OrderTsQueryConfig : SortDir;
|
|
6317
6357
|
} | Expression;
|
|
6358
|
+
type OrderArgs<T extends OrderArgSelf> = OrderArg<T>[];
|
|
6318
6359
|
type OrderArgTsQuery<T extends OrderArgSelf> = string | undefined extends T['meta']['tsQuery'] ? never : Exclude<T['meta']['tsQuery'], undefined>;
|
|
6319
6360
|
type OrderArgKey<T extends OrderArgSelf> = keyof T['meta']['selectable'] | {
|
|
6320
6361
|
[K in keyof T['result']]: T['result'][K]['dataType'] extends 'array' | 'object' ? never : K;
|
|
6321
6362
|
}[keyof T['result']];
|
|
6322
|
-
type
|
|
6323
|
-
type GroupArg<T extends PickQueryResult> = {
|
|
6363
|
+
type GroupArgs<T extends PickQueryResult> = ({
|
|
6324
6364
|
[K in keyof T['result']]: T['result'][K]['dataType'] extends 'array' | 'object' ? never : K;
|
|
6325
|
-
}[keyof T['result']] | Expression;
|
|
6326
|
-
|
|
6327
|
-
type QueryHelper<T extends PickQueryMetaShape, Args extends unknown[], Result> = {
|
|
6365
|
+
}[keyof T['result']] | Expression)[];
|
|
6366
|
+
interface QueryHelper<T extends PickQueryMetaShape, Args extends unknown[], Result> {
|
|
6328
6367
|
<Q extends {
|
|
6329
6368
|
returnType: QueryReturnType;
|
|
6330
6369
|
meta: QueryMetaBase & {
|
|
@@ -6335,7 +6374,7 @@ type QueryHelper<T extends PickQueryMetaShape, Args extends unknown[], Result> =
|
|
|
6335
6374
|
withData: WithDataBase;
|
|
6336
6375
|
}>(q: Q, ...args: Args): Result extends Query ? MergeQuery<Q, Result> : Result;
|
|
6337
6376
|
result: Result;
|
|
6338
|
-
}
|
|
6377
|
+
}
|
|
6339
6378
|
type QueryHelperResult<T extends QueryHelper<Query, unknown[], unknown>> = T['result'];
|
|
6340
6379
|
type NarrowTypeResult<T extends PickQueryMetaResultReturnType, Narrow> = {
|
|
6341
6380
|
[K in keyof T['result']]: K extends keyof Narrow ? {
|
|
@@ -6347,10 +6386,10 @@ declare const _queryAll: <T extends Query>(q: T) => SetQueryReturnsAll<T>;
|
|
|
6347
6386
|
declare const _queryTake: <T extends PickQueryResult>(q: T) => SetQueryReturnsOne<T>;
|
|
6348
6387
|
declare const _queryTakeOptional: <T extends PickQueryResult>(q: T) => SetQueryReturnsOneOptional<T>;
|
|
6349
6388
|
declare const _queryExec: <T extends Query>(q: T) => never;
|
|
6350
|
-
declare const _queryFindBy: <T extends QueryBase<EmptyObject>>(q: T, args:
|
|
6351
|
-
declare const _queryFindByOptional: <T extends QueryBase<EmptyObject>>(q: T, args:
|
|
6389
|
+
declare const _queryFindBy: <T extends QueryBase<EmptyObject>>(q: T, args: WhereArgs<T>) => SetQueryReturnsOne<WhereResult<T>>;
|
|
6390
|
+
declare const _queryFindByOptional: <T extends QueryBase<EmptyObject>>(q: T, args: WhereArgs<T>) => SetQueryReturnsOneOptional<WhereResult<T>>;
|
|
6352
6391
|
declare const _queryRows: <T extends Query>(q: T) => SetQueryReturnsRows<T>;
|
|
6353
|
-
interface QueryMethods<ColumnTypes> extends AsMethods, AggregateMethods, Select, FromMethods, Join, WithMethods, Union, JsonMethods, Create, Update, Delete, Transaction, For, Where, SearchMethods, Clear, Having, QueryLog, QueryHooks, QueryUpsertOrCreate, QueryGet, MergeQueryMethods, SqlMethod<ColumnTypes>, TransformMethods, ScopeMethods, SoftDeleteMethods, ExpressionMethods {
|
|
6392
|
+
interface QueryMethods<ColumnTypes> extends AsMethods, AggregateMethods, Select, FromMethods, Join, WithMethods, Union, JsonMethods, Create, Update, Delete, Transaction, For, Where, SearchMethods, Clear, Having, QueryLog, QueryHooks, QueryUpsertOrCreate, QueryGet, MergeQueryMethods, SqlMethod<ColumnTypes>, TransformMethods, QueryMap, ScopeMethods, SoftDeleteMethods, ExpressionMethods {
|
|
6354
6393
|
}
|
|
6355
6394
|
declare class QueryMethods<ColumnTypes> {
|
|
6356
6395
|
/**
|
|
@@ -6462,7 +6501,7 @@ declare class QueryMethods<ColumnTypes> {
|
|
|
6462
6501
|
*
|
|
6463
6502
|
* @param columns - column names or a raw SQL
|
|
6464
6503
|
*/
|
|
6465
|
-
distinct<T extends PickQueryMeta>(this: T, ...columns:
|
|
6504
|
+
distinct<T extends PickQueryMeta>(this: T, ...columns: SelectableOrExpressions<T>): T;
|
|
6466
6505
|
/**
|
|
6467
6506
|
* Finds a single record by the primary key (id), throws [NotFoundError](/guide/error-handling.html) if not found.
|
|
6468
6507
|
* Not available if the table has no or multiple primary keys.
|
|
@@ -6473,7 +6512,7 @@ declare class QueryMethods<ColumnTypes> {
|
|
|
6473
6512
|
*
|
|
6474
6513
|
* @param value - primary key value to find by
|
|
6475
6514
|
*/
|
|
6476
|
-
find<T extends PickQueryShapeResultSinglePrimaryKey>(this: T, value:
|
|
6515
|
+
find<T extends PickQueryShapeResultSinglePrimaryKey>(this: T, value: T['internal']['singlePrimaryKey'] | Expression): SetQueryReturnsOne<T> & QueryMetaHasWhere;
|
|
6477
6516
|
/**
|
|
6478
6517
|
* Finds a single record with a given SQL, throws {@link NotFoundError} if not found:
|
|
6479
6518
|
*
|
|
@@ -6486,7 +6525,7 @@ declare class QueryMethods<ColumnTypes> {
|
|
|
6486
6525
|
*
|
|
6487
6526
|
* @param args - SQL expression
|
|
6488
6527
|
*/
|
|
6489
|
-
findBySql<T extends PickQueryResult>(this: T, ...args: SQLQueryArgs): SetQueryReturnsOne<
|
|
6528
|
+
findBySql<T extends PickQueryResult>(this: T, ...args: SQLQueryArgs): SetQueryReturnsOne<T> & QueryMetaHasWhere;
|
|
6490
6529
|
/**
|
|
6491
6530
|
* Finds a single record by the primary key (id), returns `undefined` when not found.
|
|
6492
6531
|
* Not available if the table has no or multiple primary keys.
|
|
@@ -6497,7 +6536,7 @@ declare class QueryMethods<ColumnTypes> {
|
|
|
6497
6536
|
*
|
|
6498
6537
|
* @param value - primary key value to find by, or a raw SQL
|
|
6499
6538
|
*/
|
|
6500
|
-
findOptional<T extends PickQueryShapeResultSinglePrimaryKey>(this: T, value:
|
|
6539
|
+
findOptional<T extends PickQueryShapeResultSinglePrimaryKey>(this: T, value: T['internal']['singlePrimaryKey'] | Expression): SetQueryReturnsOneOptional<T> & QueryMetaHasWhere;
|
|
6501
6540
|
/**
|
|
6502
6541
|
* Finds a single record with a given SQL.
|
|
6503
6542
|
* Returns `undefined` when not found.
|
|
@@ -6511,7 +6550,7 @@ declare class QueryMethods<ColumnTypes> {
|
|
|
6511
6550
|
*
|
|
6512
6551
|
* @param args - SQL expression
|
|
6513
6552
|
*/
|
|
6514
|
-
findBySqlOptional<T extends PickQueryResult>(this: T, ...args: SQLQueryArgs): SetQueryReturnsOneOptional<
|
|
6553
|
+
findBySqlOptional<T extends PickQueryResult>(this: T, ...args: SQLQueryArgs): SetQueryReturnsOneOptional<T> & QueryMetaHasWhere;
|
|
6515
6554
|
/**
|
|
6516
6555
|
* Finds a single unique record, throws [NotFoundError](/guide/error-handling.html) if not found.
|
|
6517
6556
|
* It accepts values of primary keys or unique indexes defined on the table.
|
|
@@ -6525,7 +6564,7 @@ declare class QueryMethods<ColumnTypes> {
|
|
|
6525
6564
|
*
|
|
6526
6565
|
* @param uniqueColumnValues - is derived from primary keys and unique indexes in the table
|
|
6527
6566
|
*/
|
|
6528
|
-
findBy<T extends PickQueryResultUniqueColumns>(this: T, uniqueColumnValues: T['internal']['uniqueColumns']): SetQueryReturnsOne<
|
|
6567
|
+
findBy<T extends PickQueryResultUniqueColumns>(this: T, uniqueColumnValues: T['internal']['uniqueColumns']): SetQueryReturnsOne<T> & QueryMetaHasWhere;
|
|
6529
6568
|
/**
|
|
6530
6569
|
* Finds a single unique record, returns `undefined` if not found.
|
|
6531
6570
|
* It accepts values of primary keys or unique indexes defined on the table.
|
|
@@ -6539,7 +6578,7 @@ declare class QueryMethods<ColumnTypes> {
|
|
|
6539
6578
|
*
|
|
6540
6579
|
* @param uniqueColumnValues - is derived from primary keys and unique indexes in the table
|
|
6541
6580
|
*/
|
|
6542
|
-
findByOptional<T extends PickQueryResultUniqueColumns>(this: T, uniqueColumnValues: T['internal']['uniqueColumns']): SetQueryReturnsOneOptional<
|
|
6581
|
+
findByOptional<T extends PickQueryResultUniqueColumns>(this: T, uniqueColumnValues: T['internal']['uniqueColumns']): SetQueryReturnsOneOptional<T> & QueryMetaHasWhere;
|
|
6543
6582
|
/**
|
|
6544
6583
|
* Specifies the schema to be used as a prefix of a table name.
|
|
6545
6584
|
*
|
|
@@ -6591,7 +6630,7 @@ declare class QueryMethods<ColumnTypes> {
|
|
|
6591
6630
|
*
|
|
6592
6631
|
* @param columns - column names or a raw SQL
|
|
6593
6632
|
*/
|
|
6594
|
-
group<T extends PickQueryResult>(this: T, ...columns:
|
|
6633
|
+
group<T extends PickQueryResult>(this: T, ...columns: GroupArgs<T>): T;
|
|
6595
6634
|
/**
|
|
6596
6635
|
* Add a window with `window` and use it later by its name for aggregate or window functions:
|
|
6597
6636
|
*
|
|
@@ -7853,4 +7892,4 @@ type CopyResult<T extends PickQueryMeta> = SetQueryKind<T, 'copy'>;
|
|
|
7853
7892
|
*/
|
|
7854
7893
|
declare function copyTableData<T extends PickQueryMetaShape>(query: T, arg: CopyArg<T>): CopyResult<T>;
|
|
7855
7894
|
|
|
7856
|
-
export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AddQuerySelect, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanQueryColumn, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, CloneSelfKeys, ColumnData, 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, ExpressionMethods, ExpressionOutput, FnExpression, FnExpressionArgs, FnExpressionArgsPairs, FnExpressionArgsValue, For, FromArg, FromMethods, FromQuerySelf, FromResult, GetArg, GetColumnInfo, GetQueryResult, GetResult, GetResultOptional, GetStringArg,
|
|
7895
|
+
export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AddQuerySelect, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanQueryColumn, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, CloneSelfKeys, ColumnData, 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, ExpressionMethods, ExpressionOutput, FnExpression, FnExpressionArgs, FnExpressionArgsPairs, FnExpressionArgsValue, For, FromArg, FromMethods, FromQuerySelf, FromResult, GetArg, GetColumnInfo, GetQueryResult, GetResult, GetResultOptional, GetStringArg, GroupArgs, 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, JsonMethods, 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, OrExpression, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgSelf, OrderArgs, OrderItem, OrderTsQueryConfig, Over, PathColumn, PickColumnData, PickQueryBaseQuery, PickQueryColumnTypes, PickQueryDataShapeAndJoinedShapes, PickQueryInternal, PickQueryMetaRelations, PickQueryMetaResultRelations, PickQueryMetaResultRelationsWindows, PickQueryMetaResultRelationsWindowsColumnTypes, PickQueryMetaResultRelationsWithDataReturnType, PickQueryMetaResultRelationsWithDataReturnTypeShape, PickQueryMetaResultReturnTypeWithDataWindows, PickQueryMetaResultReturnTypeWithDataWindowsTable, PickQueryMetaShapeRelationsWithData, PickQueryMetaTable, PickQueryMetaTableShape, PickQueryMetaTableShapeReturnTypeWithData, PickQueryMetaWithData, PickQueryMetaWithDataColumnTypes, PickQueryQ, PickQueryQAndBaseQuery, PickQueryQAndInternal, PickQueryRelations, PickQueryRelationsWithData, PickQueryResultColumnTypes, PickQueryShapeResultSinglePrimaryKey, PickQueryShapeSinglePrimaryKey, PickQuerySinglePrimaryKey, PickQueryWindows, PickQueryWithData, PickQueryWithDataColumnTypes, 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, QueryOrExpression, QueryOrExpressionBooleanOrNullResult, QueryResult, QueryReturnsAll, QueryScopeData, QueryScopes, QuerySourceItem, QueryUpsertOrCreate, QueryWithComputed, QueryWithTable, RawSQL, RealColumn, RecordOfColumnsShapeBase, RefExpression, RelationConfigBase, RelationConfigDataForCreate, RelationJoinQuery, RelationQuery, RelationQueryBase, RelationsBase, SearchArg, SearchMethods, SearchWeight, SearchWeightRecord, Select, SelectArg, SelectArgs, SelectAs, SelectItem, SelectQueryData, SelectSubQueryResult, SelectableFromShape, SelectableOfType, SelectableOrExpression, SelectableOrExpressionOfType, SelectableOrExpressions, 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, ShapeColumnPrimaryKeys, ShapeUniqueColumns, SimpleJoinItem, SimpleJoinItemNonSubQueryArgs, SmallIntColumn, SmallSerialColumn, SortDir, SqlFn, SqlMethod, 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, UnionArgs, UnionItem, UnionKind, UnionSet, UniqueConstraints, UniqueQueryTypeOrExpression, UniqueTableDataItem, UnknownColumn, Update, UpdateArg, UpdateCtx, UpdateCtxCollect, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdateSelf, UpdatedAtDataInjector, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereArgs, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereNotArgs, WhereOnItem, WhereOnJoinItem, WhereQueryBuilder, WhereResult, WhereSearchItem, WhereSearchResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowItem, WithArgsOptions, WithDataBase, WithDataItem, WithDataItems, WithItem, WithMethods, WithOptions, WithQueryBuilder, WithRecursiveOptions, WithResult, WithSqlResult, 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, _queryUnion, _queryUpdate, _queryUpdateOrThrow, _queryUpdateRaw, _queryWhere, _queryWhereExists, _queryWhereIn, _queryWhereNot, _queryWhereNotSql, _queryWhereSql, addComputedColumns, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, checkIfASimpleQuery, cloneQuery, cloneQueryBaseUnscoped, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, commitSql, constraintInnerToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, extendQuery, foreignKeyArgumentToCode, getClonedQueryData, getColumnInfo, getColumnTypes, getPrimaryKeys, getQueryAs, getShapeFromSelect, getSqlText, 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, rollbackSql, saveSearchAlias, setParserForSelectedString, setQueryObjectValue, setQueryOperators, simplifyColumnDefault, sqlFn, sqlQueryArgsToExpression, tableDataMethods, templateLiteralToSQL, testTransaction, throwIfNoWhere, toSQL, toSQLCacheKey };
|