pqb 0.25.0 → 0.25.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 +180 -96
- package/dist/index.js +169 -81
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +166 -82
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
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, QueryInternal, QueryMetaBase, QueryReturnType, QueryThen, Expression, QueryColumn, MaybeArray, SelectableBase, TemplateLiteralArgs, ColumnSchemaConfig, Code, PickOutputTypeAndOperators, PickQueryResult, OperatorToSQL, ColumnsShapeBase, ColumnsParsers, RecordString, PickQueryTable, getValueKey, PickQueryShape, EmptyTuple, PickQueryMeta, QueryColumnToNullable, PickQueryMetaResultReturnType as PickQueryMetaResultReturnType$1, QueryCatch, PickQueryMetaShape, DateColumnData, TimeInterval, ColumnTypeSchemaArg, ColumnTypeBase, ArrayMethodsData, StringTypeData, StaticSQLArgs, PickColumnBaseData, PrimaryKeyColumn, RawSQLBase, ForeignKeyTable, QueryColumnsInit, TimestampHelpers, ColumnNameOfTable, BaseNumberData, ColumnWithDefault, ParseColumn, EncodeColumn, PickQueryMetaResult, ColumnShapeOutput, DefaultSelectColumns, CoreQueryScopes, DbBase, TransactionState,
|
|
2
|
+
import { QueryResultRow, AdapterConfigBase, AdapterBase, QueryInput, Sql, RecordUnknown, RecordKeyTrue, EmptyObject, QueryBaseCommon, QueryColumns, QueryInternal, QueryMetaBase, QueryReturnType, QueryThen, Expression, QueryColumn, MaybeArray, SelectableBase, TemplateLiteralArgs, ColumnSchemaConfig, Code, PickOutputTypeAndOperators, PickQueryResult, OperatorToSQL, ColumnsShapeBase, ColumnsParsers, RecordString, PickQueryTable, getValueKey, PickQueryShape, EmptyTuple, PickQueryMeta, QueryColumnToNullable, PickQueryMetaResultReturnType as PickQueryMetaResultReturnType$1, QueryCatch, PickQueryMetaShape, SQLQueryArgs, DateColumnData, TimeInterval, ColumnTypeSchemaArg, ColumnTypeBase, ArrayMethodsData, StringTypeData, StaticSQLArgs, PickColumnBaseData, PrimaryKeyColumn, RawSQLBase, ForeignKeyTable, QueryColumnsInit, TimestampHelpers, ColumnNameOfTable, BaseNumberData, ColumnWithDefault, ParseColumn, EncodeColumn, PickQueryMetaResult, ColumnShapeOutput, DefaultSelectColumns, CoreQueryScopes, DbBase, TransactionState, PickQueryMetaResultWindows, BaseOperators as BaseOperators$1, IsQuery, PickQueryTableMetaResult, PickQueryMetaShapeResultReturnType, MergeObjects, RawSQLValues, ExpressionTypeMethod, DynamicSQLArg, PickQueryReturnType, PickType, PickOutputType, Spread, ColumnDataBase, 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';
|
|
@@ -695,9 +695,9 @@ type JoinOptionalMain<T extends PickQueryMetaResultReturnType$1, Selectable exte
|
|
|
695
695
|
} & Selectable : T['meta'][K];
|
|
696
696
|
} : K extends 'result' ? {
|
|
697
697
|
[K in keyof T['result']]: QueryColumnToNullable<T['result'][K]>;
|
|
698
|
-
} : K extends 'then' ? QueryThen<GetQueryResult<T
|
|
698
|
+
} : K extends 'then' ? QueryThen<GetQueryResult<T, {
|
|
699
699
|
[K in keyof T['result']]: QueryColumnToNullable<T['result'][K]>;
|
|
700
|
-
}>> : K extends 'catch' ? QueryCatch<GetQueryResult<T
|
|
700
|
+
}>> : K extends 'catch' ? QueryCatch<GetQueryResult<T, {
|
|
701
701
|
[K in keyof T['result']]: QueryColumnToNullable<T['result'][K]>;
|
|
702
702
|
}>> : T[K];
|
|
703
703
|
};
|
|
@@ -1377,10 +1377,10 @@ type WhereQueryBuilder<T extends PickQueryRelations> = RelationsBase extends T['
|
|
|
1377
1377
|
} : {
|
|
1378
1378
|
[K in keyof T]: K extends keyof T['relations'] ? T['relations'][K] : T[K];
|
|
1379
1379
|
};
|
|
1380
|
-
type WhereArgs<T extends PickQueryMetaRelations> = WhereArg<T>[]
|
|
1381
|
-
type WhereNotArgs<T extends PickQueryMetaRelations> = [WhereArg<T>]
|
|
1380
|
+
type WhereArgs<T extends PickQueryMetaRelations> = WhereArg<T>[];
|
|
1381
|
+
type WhereNotArgs<T extends PickQueryMetaRelations> = [WhereArg<T>];
|
|
1382
1382
|
type WhereInColumn<T extends PickQueryMetaRelations> = keyof T['meta']['selectable'] | [keyof T['meta']['selectable'], ...(keyof T['meta']['selectable'])[]];
|
|
1383
|
-
type WhereInValues<T extends PickQueryMetaRelations, Column
|
|
1383
|
+
type WhereInValues<T extends PickQueryMetaRelations, Column> = Column extends keyof T['meta']['selectable'] ? T['meta']['selectable'][Column]['column']['queryType'][] | Query | Expression : ({
|
|
1384
1384
|
[I in keyof Column]: Column[I] extends keyof T['meta']['selectable'] ? T['meta']['selectable'][Column[I]]['column']['queryType'] : never;
|
|
1385
1385
|
} & {
|
|
1386
1386
|
length: Column extends {
|
|
@@ -1396,25 +1396,22 @@ interface QueryMetaHasWhere {
|
|
|
1396
1396
|
hasWhere: true;
|
|
1397
1397
|
};
|
|
1398
1398
|
}
|
|
1399
|
-
/**
|
|
1400
|
-
* Adds `where` arguments to query data: SQL template string is added as `RawSQL` object, other arguments are added as is.
|
|
1401
|
-
*
|
|
1402
|
-
* @param q - query object to add the data to
|
|
1403
|
-
* @param args - `where` arguments, may be a template literal
|
|
1404
|
-
*/
|
|
1405
1399
|
declare const _queryWhere: <T extends PickQueryMetaRelations>(q: T, args: WhereArgs<T>) => WhereResult<T>;
|
|
1400
|
+
declare const _queryWhereSql: <T>(q: T, args: SQLQueryArgs) => T;
|
|
1406
1401
|
/**
|
|
1407
|
-
* Adds `where` arguments to query data with a `NOT` keyword:
|
|
1402
|
+
* Adds `where` arguments to query data with a `NOT` keyword:
|
|
1403
|
+
* SQL template string is added as `RawSQL` object, other arguments are added as is.
|
|
1408
1404
|
*
|
|
1409
1405
|
* @param q - query object to add the data to
|
|
1410
|
-
* @param args - `where` arguments
|
|
1406
|
+
* @param args - `where` arguments
|
|
1411
1407
|
*/
|
|
1412
1408
|
declare const _queryWhereNot: <T extends PickQueryMetaRelations>(q: T, args: WhereNotArgs<T>) => WhereResult<T>;
|
|
1409
|
+
declare const _queryWhereNotSql: <T>(q: T, args: SQLQueryArgs) => T;
|
|
1413
1410
|
/**
|
|
1414
1411
|
* Adds `where` arguments to query data. Arguments will be separated from each other with `OR`.
|
|
1415
1412
|
*
|
|
1416
1413
|
* @param q - query object to add the data to
|
|
1417
|
-
* @param args - `where` arguments
|
|
1414
|
+
* @param args - `where` arguments
|
|
1418
1415
|
*/
|
|
1419
1416
|
declare const _queryOr: <T extends PickQueryMetaRelations>(q: T, args: WhereArg<T>[]) => WhereResult<T>;
|
|
1420
1417
|
/**
|
|
@@ -1453,7 +1450,7 @@ declare class Where {
|
|
|
1453
1450
|
* },
|
|
1454
1451
|
*
|
|
1455
1452
|
* // where column equals to raw SQL
|
|
1456
|
-
* column: db.table.sql`
|
|
1453
|
+
* column: db.table.sql`sql expression`,
|
|
1457
1454
|
* });
|
|
1458
1455
|
* ```
|
|
1459
1456
|
*
|
|
@@ -1502,9 +1499,6 @@ declare class Where {
|
|
|
1502
1499
|
* `where` supports raw SQL:
|
|
1503
1500
|
*
|
|
1504
1501
|
* ```ts
|
|
1505
|
-
* db.table.where`a = b`;
|
|
1506
|
-
*
|
|
1507
|
-
* // or
|
|
1508
1502
|
* db.table.where(db.table.sql`a = b`);
|
|
1509
1503
|
*
|
|
1510
1504
|
* // or
|
|
@@ -1824,6 +1818,24 @@ declare class Where {
|
|
|
1824
1818
|
* @param args - {@link WhereArgs}
|
|
1825
1819
|
*/
|
|
1826
1820
|
where<T extends PickQueryMetaRelations>(this: T, ...args: WhereArgs<T>): WhereResult<T>;
|
|
1821
|
+
/**
|
|
1822
|
+
* Use a custom SQL expression in `WHERE` statement:
|
|
1823
|
+
*
|
|
1824
|
+
* ```ts
|
|
1825
|
+
* db.table.where`a = b`;
|
|
1826
|
+
*
|
|
1827
|
+
* // or
|
|
1828
|
+
* db.table.where(db.table.sql`a = b`);
|
|
1829
|
+
*
|
|
1830
|
+
* // or
|
|
1831
|
+
* import { raw } from 'orchid-orm';
|
|
1832
|
+
*
|
|
1833
|
+
* db.table.where(raw`a = b`);
|
|
1834
|
+
* ```
|
|
1835
|
+
*
|
|
1836
|
+
* @param args - SQL expression
|
|
1837
|
+
*/
|
|
1838
|
+
whereSql<T>(this: T, ...args: SQLQueryArgs): T;
|
|
1827
1839
|
/**
|
|
1828
1840
|
* `whereNot` takes the same argument as `where`,
|
|
1829
1841
|
* multiple conditions are combined with `AND`,
|
|
@@ -1840,6 +1852,16 @@ declare class Where {
|
|
|
1840
1852
|
* @param args - {@link WhereArgs}
|
|
1841
1853
|
*/
|
|
1842
1854
|
whereNot<T extends PickQueryMetaRelations>(this: T, ...args: WhereNotArgs<T>): WhereResult<T>;
|
|
1855
|
+
/**
|
|
1856
|
+
* `whereNot` version accepting SQL expression:
|
|
1857
|
+
*
|
|
1858
|
+
* ```ts
|
|
1859
|
+
* db.table.whereNot`sql expression`
|
|
1860
|
+
* ```
|
|
1861
|
+
*
|
|
1862
|
+
* @param args - SQL expression
|
|
1863
|
+
*/
|
|
1864
|
+
whereNotSql<T>(this: T, ...args: SQLQueryArgs): T;
|
|
1843
1865
|
/**
|
|
1844
1866
|
* `orWhere` is accepting the same arguments as {@link where}, joining arguments with `OR`.
|
|
1845
1867
|
*
|
|
@@ -2946,8 +2968,8 @@ interface AggregateOptions<T extends PickQueryMetaResultRelationsWindows> {
|
|
|
2946
2968
|
over?: Over<T>;
|
|
2947
2969
|
}
|
|
2948
2970
|
type Over<T extends PickQueryMetaResultWindows> = keyof T['windows'] | WindowArgDeclaration<T>;
|
|
2949
|
-
type FnExpressionArgs<Q extends
|
|
2950
|
-
interface FnExpressionArgsPairs<Q extends
|
|
2971
|
+
type FnExpressionArgs<Q extends PickQueryMeta> = (SelectableOrExpression<Q> | FnExpressionArgsPairs<Q> | FnExpressionArgsValue)[];
|
|
2972
|
+
interface FnExpressionArgsPairs<Q extends PickQueryMeta> {
|
|
2951
2973
|
pairs: Record<string, SelectableOrExpression<Q>>;
|
|
2952
2974
|
}
|
|
2953
2975
|
interface FnExpressionArgsValue {
|
|
@@ -3491,22 +3513,22 @@ declare class Clear {
|
|
|
3491
3513
|
interface CreateSelf extends QueryBase {
|
|
3492
3514
|
inputType: RecordUnknown;
|
|
3493
3515
|
}
|
|
3494
|
-
type CreateData<T extends CreateSelf> = RelationsBase extends T['relations'] ? CreateDataWithDefaults<T> : CreateRelationsData<T>;
|
|
3495
|
-
type CreateDataWithDefaults<T extends CreateSelf, Defaults extends PropertyKey
|
|
3516
|
+
type CreateData<T extends CreateSelf> = RelationsBase extends T['relations'] ? CreateDataWithDefaults<T, keyof T['meta']['defaults']> : CreateRelationsData<T>;
|
|
3517
|
+
type CreateDataWithDefaults<T extends CreateSelf, Defaults extends PropertyKey> = {
|
|
3496
3518
|
[K in keyof T['inputType'] as K extends Defaults ? never : K]: CreateColumn<T['inputType'], K>;
|
|
3497
3519
|
} & {
|
|
3498
3520
|
[K in Defaults]?: K extends keyof T['inputType'] ? CreateColumn<T['inputType'], K> : never;
|
|
3499
3521
|
};
|
|
3500
|
-
type CreateDataWithDefaultsForRelations<T extends CreateSelf, Defaults extends PropertyKey
|
|
3522
|
+
type CreateDataWithDefaultsForRelations<T extends CreateSelf, Defaults extends PropertyKey, OmitFKeys extends PropertyKey> = {
|
|
3501
3523
|
[K in keyof T['inputType'] as K extends Defaults | OmitFKeys ? never : K]: CreateColumn<T['inputType'], K>;
|
|
3502
3524
|
} & {
|
|
3503
3525
|
[K in Defaults & keyof T['inputType'] as K extends OmitFKeys ? never : K]?: CreateColumn<T['inputType'], K>;
|
|
3504
3526
|
};
|
|
3505
|
-
type CreateColumn<InputType
|
|
3527
|
+
type CreateColumn<InputType, Key extends keyof InputType> = Expression | InputType[Key] | {
|
|
3506
3528
|
__isQuery: true;
|
|
3507
3529
|
then: QueryThen<InputType[Key]>;
|
|
3508
3530
|
};
|
|
3509
|
-
type CreateRelationsData<T extends CreateSelf> = CreateDataWithDefaultsForRelations<T> & CreateRelationsDataOmittingFKeys<T, T['relations'][keyof T['relations']]['relationConfig']['dataForCreate']> & T['relations'][keyof T['relations']]['relationConfig']['optionalDataForCreate'];
|
|
3531
|
+
type CreateRelationsData<T extends CreateSelf> = CreateDataWithDefaultsForRelations<T, keyof T['meta']['defaults'], T['relations'][keyof T['relations']]['relationConfig']['omitForeignKeyInCreate']> & CreateRelationsDataOmittingFKeys<T, T['relations'][keyof T['relations']]['relationConfig']['dataForCreate']> & T['relations'][keyof T['relations']]['relationConfig']['optionalDataForCreate'];
|
|
3510
3532
|
type CreateRelationsDataOmittingFKeys<T extends CreateSelf, Union> = (Union extends RelationConfigDataForCreate ? (u: keyof Union['columns'] extends keyof T['meta']['defaults'] ? Omit<Union['columns'], keyof T['meta']['defaults']> & {
|
|
3511
3533
|
[P in keyof T['meta']['defaults'] & keyof Union['columns']]?: Union['columns'][P];
|
|
3512
3534
|
} & Partial<Union['nested']> : Union['columns'] | Union['nested']) => void : never) extends (u: infer Obj extends RecordUnknown) => void ? Obj : never;
|
|
@@ -3536,7 +3558,7 @@ type CreateRawArgs<T extends CreateSelf, Arg extends {
|
|
|
3536
3558
|
`Missing required columns: ${Exclude<keyof RawRequiredColumns<T> & string, Arg['columns'][number]>}`
|
|
3537
3559
|
];
|
|
3538
3560
|
type OnConflictArg<T extends CreateSelf> = keyof T['shape'] | (keyof T['shape'])[] | Expression;
|
|
3539
|
-
type AddQueryDefaults<T extends CreateSelf, Defaults
|
|
3561
|
+
type AddQueryDefaults<T extends CreateSelf, Defaults> = {
|
|
3540
3562
|
[K in keyof T]: K extends 'meta' ? {
|
|
3541
3563
|
[K in keyof T['meta']]: K extends 'defaults' ? T['meta']['defaults'] & Defaults : T['meta'][K];
|
|
3542
3564
|
} : T[K];
|
|
@@ -4053,27 +4075,26 @@ declare class For {
|
|
|
4053
4075
|
}
|
|
4054
4076
|
|
|
4055
4077
|
type FromQuerySelf = PickQueryMetaTableShapeReturnTypeWithData;
|
|
4056
|
-
type
|
|
4057
|
-
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
4061
|
-
] | TemplateLiteralArgs;
|
|
4062
|
-
type FromResult<T extends FromQuerySelf, Args extends FromArgs<T>> = Args extends TemplateStringsArray ? T : Args[0] extends string ? T['withData'] extends WithDataItems ? Args[0] extends keyof T['withData'] ? {
|
|
4078
|
+
type FromArg<T extends FromQuerySelf> = PickQueryTableMetaResult | Expression | Exclude<keyof T['withData'], symbol | number>;
|
|
4079
|
+
interface FromArgOptions {
|
|
4080
|
+
only?: boolean;
|
|
4081
|
+
}
|
|
4082
|
+
type FromResult<T extends FromQuerySelf, Arg extends FromArg<T>> = Arg extends string ? T['withData'] extends WithDataItems ? Arg extends keyof T['withData'] ? {
|
|
4063
4083
|
[K in keyof T]: K extends 'meta' ? {
|
|
4064
|
-
[K in keyof T['meta']]: K extends 'as' ? string | undefined : K extends 'selectable' ? SelectableFromShape<T['withData'][
|
|
4084
|
+
[K in keyof T['meta']]: K extends 'as' ? string | undefined : K extends 'selectable' ? SelectableFromShape<T['withData'][Arg]['shape'], Arg> : T['meta'][K];
|
|
4065
4085
|
} : T[K];
|
|
4066
|
-
} : SetQueryTableAlias<T,
|
|
4086
|
+
} : SetQueryTableAlias<T, Arg> : SetQueryTableAlias<T, Arg> : Arg extends PickQueryTableMetaResult ? {
|
|
4067
4087
|
[K in keyof T]: K extends 'meta' ? {
|
|
4068
|
-
[K in keyof T['meta']]: K extends 'hasSelect' ? undefined : K extends 'as' ? AliasOrTable<
|
|
4069
|
-
[K in keyof
|
|
4088
|
+
[K in keyof T['meta']]: K extends 'hasSelect' ? undefined : K extends 'as' ? AliasOrTable<Arg> : K extends 'selectable' ? {
|
|
4089
|
+
[K in keyof Arg['result']]: K extends string ? {
|
|
4070
4090
|
as: K;
|
|
4071
|
-
column:
|
|
4091
|
+
column: Arg['result'][K];
|
|
4072
4092
|
} : never;
|
|
4073
4093
|
} : T['meta'][K];
|
|
4074
|
-
} : K extends 'result' ?
|
|
4094
|
+
} : K extends 'result' ? Arg['result'] : K extends 'shape' ? Arg['result'] : K extends 'then' ? QueryThen<GetQueryResult<T, Arg['result']>> : K extends 'catch' ? QueryCatch<GetQueryResult<T, Arg['result']>> : T[K];
|
|
4075
4095
|
} : T;
|
|
4076
|
-
declare function queryFrom<T extends FromQuerySelf,
|
|
4096
|
+
declare function queryFrom<T extends FromQuerySelf, Arg extends FromArg<T>>(self: T, arg: Arg, options?: FromArgOptions): FromResult<T, Arg>;
|
|
4097
|
+
declare function queryFromSql<T extends FromQuerySelf>(self: T, args: SQLQueryArgs): T;
|
|
4077
4098
|
declare class From {
|
|
4078
4099
|
/**
|
|
4079
4100
|
* Set the `FROM` value, by default the table name is used.
|
|
@@ -4082,13 +4103,6 @@ declare class From {
|
|
|
4082
4103
|
* // accepts sub-query:
|
|
4083
4104
|
* db.table.from(Otherdb.table.select('foo', 'bar'));
|
|
4084
4105
|
*
|
|
4085
|
-
* // accepts raw sql by template literal:
|
|
4086
|
-
* const value = 123;
|
|
4087
|
-
* db.table.from`value = ${value}`;
|
|
4088
|
-
*
|
|
4089
|
-
* // accepts raw sql:
|
|
4090
|
-
* db.table.from(db.table.sql`value = ${value}`);
|
|
4091
|
-
*
|
|
4092
4106
|
* // accepts alias of `WITH` expression:
|
|
4093
4107
|
* q.with('foo', Otherdb.table.select('id', 'name')).from('foo');
|
|
4094
4108
|
* ```
|
|
@@ -4101,9 +4115,22 @@ declare class From {
|
|
|
4101
4115
|
* });
|
|
4102
4116
|
* ```
|
|
4103
4117
|
*
|
|
4104
|
-
* @param
|
|
4118
|
+
* @param arg - query or name of CTE table
|
|
4119
|
+
* @param options - { only: true } for SQL `ONLY` keyword
|
|
4120
|
+
*/
|
|
4121
|
+
from<T extends FromQuerySelf, Arg extends FromArg<T>>(this: T, arg: Arg, options?: FromArgOptions): FromResult<T, Arg>;
|
|
4122
|
+
/**
|
|
4123
|
+
* Set the `FROM` value with custom SQL:
|
|
4124
|
+
*
|
|
4125
|
+
* ```ts
|
|
4126
|
+
* const value = 123;
|
|
4127
|
+
* db.table.from`value = ${value}`;
|
|
4128
|
+
* db.table.from(db.table.sql`value = ${value}`);
|
|
4129
|
+
* ```
|
|
4130
|
+
*
|
|
4131
|
+
* @param args - SQL expression
|
|
4105
4132
|
*/
|
|
4106
|
-
|
|
4133
|
+
fromSql<T extends FromQuerySelf, Arg extends FromArg<T>>(this: T, ...args: SQLQueryArgs): FromResult<T, Arg>;
|
|
4107
4134
|
}
|
|
4108
4135
|
|
|
4109
4136
|
declare class QueryGet {
|
|
@@ -4136,7 +4163,6 @@ declare class QueryGet {
|
|
|
4136
4163
|
getOptional<T extends QueryGetSelf, Arg extends GetArg<T>>(this: T, arg: Arg): GetResultOptional<T, Arg>;
|
|
4137
4164
|
}
|
|
4138
4165
|
|
|
4139
|
-
type HavingArgs<T> = TemplateLiteralArgs | HavingArgFn<T>[];
|
|
4140
4166
|
type HavingArgFn<T> = (q: T) => {
|
|
4141
4167
|
result: {
|
|
4142
4168
|
value: {
|
|
@@ -4155,12 +4181,6 @@ declare class Having {
|
|
|
4155
4181
|
* // HAVING count(*) >= 10
|
|
4156
4182
|
* ```
|
|
4157
4183
|
*
|
|
4158
|
-
* Alternatively, it accepts a raw SQL template:
|
|
4159
|
-
*
|
|
4160
|
-
* ```ts
|
|
4161
|
-
* db.table.having`count(*) >= ${10}`;
|
|
4162
|
-
* ```
|
|
4163
|
-
*
|
|
4164
4184
|
* Multiple having conditions will be combined with `AND`:
|
|
4165
4185
|
*
|
|
4166
4186
|
* ```ts
|
|
@@ -4201,7 +4221,17 @@ declare class Having {
|
|
|
4201
4221
|
*
|
|
4202
4222
|
* @param args - raw SQL template string or one or multiple callbacks returning a boolean expression
|
|
4203
4223
|
*/
|
|
4204
|
-
having<T extends Query>(this: T, ...args:
|
|
4224
|
+
having<T extends Query>(this: T, ...args: HavingArgFn<T>[]): T;
|
|
4225
|
+
/**
|
|
4226
|
+
* Provide SQL expression for the `HAVING` SQL statement:
|
|
4227
|
+
*
|
|
4228
|
+
* ```ts
|
|
4229
|
+
* db.table.having`count(*) >= ${10}`;
|
|
4230
|
+
* ```
|
|
4231
|
+
*
|
|
4232
|
+
* @param args - SQL expression
|
|
4233
|
+
*/
|
|
4234
|
+
havingSql<T extends Query>(this: T, ...args: SQLQueryArgs): T;
|
|
4205
4235
|
}
|
|
4206
4236
|
|
|
4207
4237
|
type AfterHook<Select extends PropertyKey[], Shape extends QueryColumns> = QueryAfterHook<{
|
|
@@ -4535,7 +4565,7 @@ declare class QueryLog {
|
|
|
4535
4565
|
type MergeQuery<T extends PickQueryMetaResultReturnTypeWithDataWindows, Q extends PickQueryMetaResultReturnTypeWithDataWindows> = {
|
|
4536
4566
|
[K in keyof T]: K extends 'meta' ? {
|
|
4537
4567
|
[K in keyof T['meta'] | keyof Q['meta']]: K extends 'selectable' ? MergeObjects<T['meta']['selectable'], Q['meta']['selectable']> : K extends keyof Q['meta'] ? Q['meta'][K] : T['meta'][K];
|
|
4538
|
-
} : K extends 'result' ? MergeQueryResult<T, Q> : K extends 'returnType' ? QueryReturnType extends Q['returnType'] ? T['returnType'] : Q['returnType'] : K extends 'then' ? QueryThen<GetQueryResult<QueryReturnType extends Q['returnType'] ? T
|
|
4568
|
+
} : K extends 'result' ? MergeQueryResult<T, Q> : K extends 'returnType' ? QueryReturnType extends Q['returnType'] ? T['returnType'] : Q['returnType'] : K extends 'then' ? QueryThen<GetQueryResult<QueryReturnType extends Q['returnType'] ? T : Q, MergeQueryResult<T, Q>>> : K extends 'catch' ? QueryCatch<GetQueryResult<QueryReturnType extends Q['returnType'] ? T : Q, MergeQueryResult<T, Q>>> : K extends 'windows' ? MergeObjects<T['windows'], Q['windows']> : K extends 'withData' ? MergeObjects<T['withData'], Q['withData']> : T[K];
|
|
4539
4569
|
};
|
|
4540
4570
|
type MergeQueryResult<T extends PickQueryMetaResult, Q extends PickQueryMetaResult> = T['meta']['hasSelect'] extends true ? Q['meta']['hasSelect'] extends true ? {
|
|
4541
4571
|
[K in keyof T['result'] | keyof Q['result']]: K extends keyof Q['result'] ? Q['result'][K] : T['result'][K];
|
|
@@ -4571,28 +4601,45 @@ type SelectAsValue<T extends SelectSelf> = keyof T['meta']['selectable'] | Expre
|
|
|
4571
4601
|
type SelectSubQueryArg<T extends SelectSelf> = {
|
|
4572
4602
|
[K in keyof T]: K extends keyof T['relations'] ? T['relations'][K]['relationConfig']['methodQuery'] : T[K];
|
|
4573
4603
|
};
|
|
4574
|
-
type SelectResult<T extends SelectSelf, Columns extends PropertyKey[]
|
|
4575
|
-
[K in
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4604
|
+
type SelectResult<T extends SelectSelf, Columns extends PropertyKey[]> = {
|
|
4605
|
+
[K in keyof T]: K extends 'result' ? ('*' extends Columns[number] ? {
|
|
4606
|
+
[K in Columns[number] | keyof T['shape'] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
|
|
4607
|
+
} : {
|
|
4608
|
+
[K in Columns[number] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
|
|
4609
|
+
}) & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown) : K extends 'then' ? QueryThen<GetQueryResult<T, ('*' extends Columns[number] ? {
|
|
4610
|
+
[K in Columns[number] | keyof T['shape'] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
|
|
4611
|
+
} : {
|
|
4612
|
+
[K in Columns[number] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
|
|
4613
|
+
}) & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown)>> : K extends 'catch' ? QueryCatch<GetQueryResult<T, ('*' extends Columns[number] ? {
|
|
4614
|
+
[K in Columns[number] | keyof T['shape'] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
|
|
4615
|
+
} : {
|
|
4616
|
+
[K in Columns[number] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
|
|
4617
|
+
}) & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown)>> : T[K];
|
|
4580
4618
|
} & QueryMetaHasSelect;
|
|
4581
|
-
type SelectResultObj<T extends SelectSelf, Obj extends SelectAsArg<T
|
|
4582
|
-
[K in keyof Obj | (T['meta']['hasSelect'] extends true ? keyof T['result'] : never)]: K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : K extends keyof T['result'] ? T['result'][K] : never;
|
|
4583
|
-
}> = {
|
|
4619
|
+
type SelectResultObj<T extends SelectSelf, Obj extends SelectAsArg<T>> = {
|
|
4584
4620
|
[K in keyof T]: K extends 'meta' ? T['meta'] & {
|
|
4585
4621
|
selectable: SelectAsSelectable<Obj>;
|
|
4586
|
-
} : K extends 'result' ?
|
|
4622
|
+
} : K extends 'result' ? {
|
|
4623
|
+
[K in keyof Obj | (T['meta']['hasSelect'] extends true ? keyof T['result'] : never)]: K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : K extends keyof T['result'] ? T['result'][K] : never;
|
|
4624
|
+
} : K extends 'then' ? QueryThen<GetQueryResult<T, {
|
|
4625
|
+
[K in keyof Obj | (T['meta']['hasSelect'] extends true ? keyof T['result'] : never)]: K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : K extends keyof T['result'] ? T['result'][K] : never;
|
|
4626
|
+
}>> : K extends 'catch' ? QueryCatch<GetQueryResult<T, {
|
|
4627
|
+
[K in keyof Obj | (T['meta']['hasSelect'] extends true ? keyof T['result'] : never)]: K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : K extends keyof T['result'] ? T['result'][K] : never;
|
|
4628
|
+
}>> : T[K];
|
|
4587
4629
|
} & QueryMetaHasSelect;
|
|
4588
|
-
type SelectResultColumnsAndObj<T extends SelectSelf, Columns extends PropertyKey[], Obj extends SelectAsArg<T
|
|
4589
|
-
[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;
|
|
4590
|
-
} & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown)> = {
|
|
4630
|
+
type SelectResultColumnsAndObj<T extends SelectSelf, Columns extends PropertyKey[], Obj extends SelectAsArg<T>> = {
|
|
4591
4631
|
[K in keyof T]: K extends 'meta' ? T['meta'] & {
|
|
4592
4632
|
selectable: SelectAsSelectable<Obj>;
|
|
4593
|
-
} : K extends 'result' ?
|
|
4633
|
+
} : K extends 'result' ? // Combine previously selected items, all columns if * was provided,
|
|
4634
|
+
{
|
|
4635
|
+
[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;
|
|
4636
|
+
} & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown) : K extends 'then' ? QueryThen<GetQueryResult<T, {
|
|
4637
|
+
[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;
|
|
4638
|
+
} & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown)>> : K extends 'catch' ? QueryCatch<GetQueryResult<T, {
|
|
4639
|
+
[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;
|
|
4640
|
+
} & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown)>> : T[K];
|
|
4594
4641
|
} & QueryMetaHasSelect;
|
|
4595
|
-
type SelectAsSelectable<Arg
|
|
4642
|
+
type SelectAsSelectable<Arg> = {
|
|
4596
4643
|
[K in keyof Arg]: Arg[keyof Arg] extends (q: never) => {
|
|
4597
4644
|
result: QueryColumns;
|
|
4598
4645
|
} ? {
|
|
@@ -4602,8 +4649,8 @@ type SelectAsSelectable<Arg extends RecordUnknown> = {
|
|
|
4602
4649
|
};
|
|
4603
4650
|
} : never;
|
|
4604
4651
|
}[keyof Arg];
|
|
4605
|
-
type SelectAsValueResult<T extends SelectSelf, Arg
|
|
4606
|
-
type SelectSubQueryResult<Arg extends
|
|
4652
|
+
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;
|
|
4653
|
+
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']>;
|
|
4607
4654
|
declare const addParserForRawExpression: (q: PickQueryQ, key: string | getValueKey, raw: Expression) => void;
|
|
4608
4655
|
declare const addParserForSelectItem: <T extends PickQueryMeta>(q: T, as: string | getValueKey | undefined, key: string, arg: Query | SelectableOrExpression<T>) => string | Expression | Query;
|
|
4609
4656
|
declare const processSelectArg: <T extends SelectSelf>(q: T, as: string | undefined, arg: SelectArg<T>, columnAs?: string | getValueKey) => SelectItem;
|
|
@@ -4852,7 +4899,7 @@ type UpdateColumn<T extends UpdateSelf, Key extends keyof T['inputType']> = T['i
|
|
|
4852
4899
|
}) => UpdateColumnCallbackResult);
|
|
4853
4900
|
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'];
|
|
4854
4901
|
type UpdateArg<T extends UpdateSelf> = T['meta']['hasWhere'] extends true ? UpdateData<T> : never;
|
|
4855
|
-
type UpdateRawArgs<T extends UpdateSelf> = T['meta']['hasWhere'] extends true ?
|
|
4902
|
+
type UpdateRawArgs<T extends UpdateSelf> = T['meta']['hasWhere'] extends true ? SQLQueryArgs : never;
|
|
4856
4903
|
type UpdateResult<T extends UpdateSelf> = T['meta']['hasSelect'] extends true ? SetQueryKind<T, 'update'> : SetQueryReturnsRowCount<T, 'update'>;
|
|
4857
4904
|
type ChangeCountArg<T extends PickQueryShape> = keyof T['shape'] | {
|
|
4858
4905
|
[K in keyof T['shape']]?: number;
|
|
@@ -5633,6 +5680,7 @@ declare class DynamicRawSQL<T extends QueryColumn, ColumnTypes = DefaultColumnTy
|
|
|
5633
5680
|
declare function raw<T = unknown>(...args: StaticSQLArgs): RawSQL<QueryColumn<T>>;
|
|
5634
5681
|
declare function raw<T = unknown>(...args: [DynamicSQLArg]): DynamicRawSQL<QueryColumn<T>>;
|
|
5635
5682
|
declare const countSelect: RawSQL<QueryColumn<unknown, orchid_core.BaseOperators>, DefaultColumnTypes<ColumnSchemaConfig>>[];
|
|
5683
|
+
declare function sqlQueryArgsToExpression(args: SQLQueryArgs): RawSQL<QueryColumn>;
|
|
5636
5684
|
|
|
5637
5685
|
declare abstract class RawSqlMethods<ColumnTypes> {
|
|
5638
5686
|
/**
|
|
@@ -5871,11 +5919,11 @@ type OrderArgTsQuery<T extends OrderArgSelf> = string | undefined extends T['met
|
|
|
5871
5919
|
type OrderArgKey<T extends OrderArgSelf> = keyof T['meta']['selectable'] | {
|
|
5872
5920
|
[K in keyof T['result']]: T['result'][K]['dataType'] extends 'array' | 'object' ? never : K;
|
|
5873
5921
|
}[keyof T['result']];
|
|
5874
|
-
type OrderArgs<T extends OrderArgSelf> = OrderArg<T>[]
|
|
5922
|
+
type OrderArgs<T extends OrderArgSelf> = OrderArg<T>[];
|
|
5875
5923
|
type GroupArg<T extends PickQueryResult> = {
|
|
5876
5924
|
[K in keyof T['result']]: T['result'][K]['dataType'] extends 'array' | 'object' ? never : K;
|
|
5877
5925
|
}[keyof T['result']] | Expression;
|
|
5878
|
-
type
|
|
5926
|
+
type FindArg<T extends PickQueryShapeSinglePrimaryKey> = T['shape'][T['singlePrimaryKey']]['queryType'] | Expression;
|
|
5879
5927
|
type QueryHelper<T extends PickQueryMetaShape, Args extends unknown[], Result> = {
|
|
5880
5928
|
<Q extends {
|
|
5881
5929
|
returnType: QueryReturnType;
|
|
@@ -6018,7 +6066,7 @@ declare class QueryMethods<ColumnTypes> {
|
|
|
6018
6066
|
* The `find` method is available only for tables which has exactly one primary key.
|
|
6019
6067
|
* And also it can accept raw SQL template literal, then the primary key is not required.
|
|
6020
6068
|
*
|
|
6021
|
-
*
|
|
6069
|
+
* Finds a record by id, throws {@link NotFoundError} if not found:
|
|
6022
6070
|
*
|
|
6023
6071
|
* ```ts
|
|
6024
6072
|
* await db.table.find(1);
|
|
@@ -6031,22 +6079,49 @@ declare class QueryMethods<ColumnTypes> {
|
|
|
6031
6079
|
* `;
|
|
6032
6080
|
* ```
|
|
6033
6081
|
*
|
|
6034
|
-
* @param
|
|
6082
|
+
* @param value - primary key value to find by
|
|
6083
|
+
*/
|
|
6084
|
+
find<T extends PickQueryShapeResultSinglePrimaryKey>(this: T, value: FindArg<T>): SetQueryReturnsOne<WhereResult<T>>;
|
|
6085
|
+
/**
|
|
6086
|
+
* Finds a single record with a given SQL, throws {@link NotFoundError} if not found:
|
|
6087
|
+
*
|
|
6088
|
+
* ```ts
|
|
6089
|
+
* await db.user.find`
|
|
6090
|
+
* age = ${age} AND
|
|
6091
|
+
* name = ${name}
|
|
6092
|
+
* `;
|
|
6093
|
+
* ```
|
|
6094
|
+
*
|
|
6095
|
+
* @param args - SQL expression
|
|
6035
6096
|
*/
|
|
6036
|
-
|
|
6097
|
+
findBySql<T extends PickQueryShapeResultSinglePrimaryKey>(this: T, ...args: SQLQueryArgs): SetQueryReturnsOne<WhereResult<T>>;
|
|
6037
6098
|
/**
|
|
6038
|
-
* Find a single record by the primary key (id), adds `LIMIT 1
|
|
6099
|
+
* Find a single record by the primary key (id), adds `LIMIT 1`.
|
|
6039
6100
|
* Returns `undefined` when not found.
|
|
6040
6101
|
*
|
|
6041
6102
|
* ```ts
|
|
6042
6103
|
* const result: TableType | undefined = await db.table.find(123);
|
|
6043
6104
|
* ```
|
|
6044
6105
|
*
|
|
6045
|
-
* @param
|
|
6106
|
+
* @param value - primary key value to find by, or a raw SQL
|
|
6046
6107
|
*/
|
|
6047
|
-
findOptional<T extends PickQueryShapeResultSinglePrimaryKey>(this: T,
|
|
6108
|
+
findOptional<T extends PickQueryShapeResultSinglePrimaryKey>(this: T, value: FindArg<T>): SetQueryReturnsOneOptional<WhereResult<T>>;
|
|
6048
6109
|
/**
|
|
6049
|
-
*
|
|
6110
|
+
* Finds a single record with a given SQL.
|
|
6111
|
+
* Returns `undefined` when not found.
|
|
6112
|
+
*
|
|
6113
|
+
* ```ts
|
|
6114
|
+
* await db.user.find`
|
|
6115
|
+
* age = ${age} AND
|
|
6116
|
+
* name = ${name}
|
|
6117
|
+
* `;
|
|
6118
|
+
* ```
|
|
6119
|
+
*
|
|
6120
|
+
* @param args - SQL expression
|
|
6121
|
+
*/
|
|
6122
|
+
findBySqlOptional<T extends PickQueryShapeResultSinglePrimaryKey>(this: T, ...args: SQLQueryArgs): SetQueryReturnsOneOptional<WhereResult<T>>;
|
|
6123
|
+
/**
|
|
6124
|
+
* The same as `where(conditions).take()`, takes the same arguments as {@link Where.where}, it will filter records and add a `LIMIT 1`.
|
|
6050
6125
|
* Throws `NotFoundError` if not found.
|
|
6051
6126
|
*
|
|
6052
6127
|
* ```ts
|
|
@@ -6152,7 +6227,7 @@ declare class QueryMethods<ColumnTypes> {
|
|
|
6152
6227
|
/**
|
|
6153
6228
|
* Adds an order by clause to the query.
|
|
6154
6229
|
*
|
|
6155
|
-
* Takes one or more arguments, each argument can be a column name
|
|
6230
|
+
* Takes one or more arguments, each argument can be a column name or an object.
|
|
6156
6231
|
*
|
|
6157
6232
|
* ```ts
|
|
6158
6233
|
* db.table.order('id', 'name'); // ASC by default
|
|
@@ -6164,11 +6239,6 @@ declare class QueryMethods<ColumnTypes> {
|
|
|
6164
6239
|
* name: 'ASC NULLS FIRST',
|
|
6165
6240
|
* age: 'DESC NULLS LAST',
|
|
6166
6241
|
* });
|
|
6167
|
-
*
|
|
6168
|
-
* // order by raw SQL expression:
|
|
6169
|
-
* db.table.order`raw sql`;
|
|
6170
|
-
* // or
|
|
6171
|
-
* db.table.order(db.table.sql`raw sql`);
|
|
6172
6242
|
* ```
|
|
6173
6243
|
*
|
|
6174
6244
|
* `order` can refer to the values returned from `select` sub-queries (unlike `where` which cannot).
|
|
@@ -6187,9 +6257,23 @@ declare class QueryMethods<ColumnTypes> {
|
|
|
6187
6257
|
* });
|
|
6188
6258
|
* ```
|
|
6189
6259
|
*
|
|
6190
|
-
* @param args - column name(s)
|
|
6260
|
+
* @param args - column name(s) or an object with column names and sort directions.
|
|
6191
6261
|
*/
|
|
6192
6262
|
order<T extends OrderArgSelf>(this: T, ...args: OrderArgs<T>): T;
|
|
6263
|
+
/**
|
|
6264
|
+
* Order by SQL expression
|
|
6265
|
+
*
|
|
6266
|
+
* Order by raw SQL expression.
|
|
6267
|
+
*
|
|
6268
|
+
* ```ts
|
|
6269
|
+
* db.table.order`raw sql`;
|
|
6270
|
+
* // or
|
|
6271
|
+
* db.table.order(db.table.sql`raw sql`);
|
|
6272
|
+
* ```
|
|
6273
|
+
*
|
|
6274
|
+
* @param args - SQL expression
|
|
6275
|
+
*/
|
|
6276
|
+
orderSql<T>(this: T, ...args: SQLQueryArgs): T;
|
|
6193
6277
|
/**
|
|
6194
6278
|
* Adds a limit clause to the query.
|
|
6195
6279
|
*
|
|
@@ -6469,11 +6553,11 @@ interface QueryWithTable extends Query {
|
|
|
6469
6553
|
declare const queryTypeWithLimitOne: Record<QueryReturnType, true | undefined>;
|
|
6470
6554
|
declare const isQueryReturnsAll: (q: Query) => boolean;
|
|
6471
6555
|
type QueryReturnsAll<T extends QueryReturnType> = (QueryReturnType extends T ? 'all' : T) extends 'all' ? true : false;
|
|
6472
|
-
type GetQueryResult<
|
|
6556
|
+
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;
|
|
6473
6557
|
type AddQuerySelect<T extends PickQueryMetaResultReturnType, Result extends QueryColumns> = {
|
|
6474
6558
|
[K in keyof T]: K extends 'result' ? {
|
|
6475
6559
|
[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;
|
|
6476
|
-
} : K extends 'then' ? QueryThen<GetQueryResult<T
|
|
6560
|
+
} : K extends 'then' ? QueryThen<GetQueryResult<T, Result>> : K extends 'catch' ? QueryCatch<GetQueryResult<T, Result>> : T[K];
|
|
6477
6561
|
} & QueryMetaHasSelect;
|
|
6478
6562
|
interface QueryMetaHasSelect {
|
|
6479
6563
|
meta: {
|
|
@@ -7102,4 +7186,4 @@ type CopyResult<T extends PickQueryMeta> = SetQueryKind<T, 'copy'>;
|
|
|
7102
7186
|
*/
|
|
7103
7187
|
declare function copyTableData<T extends PickQueryMetaShape>(query: T, arg: CopyArg<T>): CopyResult<T>;
|
|
7104
7188
|
|
|
7105
|
-
export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AddQuerySelect, AddQueryWith, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BaseOperators, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn$1 as 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, CreateColumn, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CreateRelationsData, CreateRelationsDataOmittingFKeys, CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbOptions, DbResult, DbTableConstructor, DbTableOptionScopes, DbTableOptions, DecimalColumn, DefaultColumnTypes, DefaultSchemaConfig, Delete, DeleteArgs, DeleteMethodsNames, DeleteQueryData, DeleteResult, DomainColumn, DoublePrecisionColumn, DropMode, DynamicRawSQL, EnumColumn, ExpressionOrQueryReturning, ExpressionOutput, FnExpression, FnExpressionArgs, FnExpressionArgsPairs, FnExpressionArgsValue, For, ForeignKey, ForeignKeyAction, ForeignKeyMatch, ForeignKeyOptions, From,
|
|
7189
|
+
export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AddQuerySelect, AddQueryWith, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BaseOperators, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn$1 as 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, CreateColumn, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CreateRelationsData, CreateRelationsDataOmittingFKeys, CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbOptions, DbResult, DbTableConstructor, DbTableOptionScopes, DbTableOptions, DecimalColumn, DefaultColumnTypes, DefaultSchemaConfig, Delete, DeleteArgs, DeleteMethodsNames, DeleteQueryData, DeleteResult, DomainColumn, DoublePrecisionColumn, DropMode, DynamicRawSQL, EnumColumn, ExpressionOrQueryReturning, ExpressionOutput, FnExpression, FnExpressionArgs, FnExpressionArgsPairs, FnExpressionArgsValue, For, ForeignKey, ForeignKeyAction, ForeignKeyMatch, ForeignKeyOptions, From, FromArg, FromArgOptions, FromQuerySelf, FromResult, GetArg, GetColumnInfo, GetQueryResult, GetResult, GetResultOptional, GetStringArg, GroupArg, Having, HavingItem, HookAction, HookSelect, IdentityColumn, IndexColumnOptions, IndexOptions, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, Join, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinLateralCallback, JoinLateralItem, JoinLateralResult, JoinOverrides, JoinQueryMethod, JoinResult, JoinedParsers, JoinedShapes, JsonItem, JsonMethods, JsonModifiers, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MapTableScopesOption, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumnData, OnConflictItem, OnConflictMergeUpdate, OnConflictQueryBuilder, OnQueryBuilder, 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, PickQueryMetaResultReturnType, 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, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMetaHasSelect, QueryMetaHasWhere, QueryMethods, QueryResult, QueryReturnsAll, QueryScopeData, QueryScopes, QuerySourceItem, QueryTransform, QueryTransformFn, QueryUpsertOrCreate, QueryWithComputed, QueryWithTable, RawSQL, RawSqlMethods, RealColumn, RelationConfigBase, RelationConfigDataForCreate, RelationJoinQuery, RelationQuery, RelationQueryBase, RelationsBase, RelationsChain, SearchArg, SearchMethods, SearchWeight, Select, SelectArg, SelectAs, SelectItem, SelectQueryData, SelectSubQueryResult, SelectableFromShape, SelectableOfType, SelectableOrExpression, SelectableOrExpressionOfType, SerialColumn, SerialColumnData, SetQueryKind, SetQueryReturnsAll, SetQueryReturnsAllKind, SetQueryReturnsColumnInfo, SetQueryReturnsColumnKind, SetQueryReturnsColumnOptional, SetQueryReturnsColumnOrThrow, SetQueryReturnsOne, SetQueryReturnsOneKind, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsPluckColumn, SetQueryReturnsPluckColumnKind, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValueOptional, SetQueryReturnsValueOrThrow, SetQueryReturnsVoid, SetQueryReturnsVoidKind, SetQueryTableAlias, SetQueryWith, SimpleJoinItem, SingleColumnIndexOptions, SingleColumnIndexOptionsForColumn, SmallIntColumn, SmallSerialColumn, SortDir, StringColumn$1 as StringColumn, TableData, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimestampColumn, TimestampTZColumn, ToSQLCtx, ToSQLOptions, ToSQLQuery, Transaction, TransactionAdapter, TransactionOptions, TransformMethods, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArg, UnionItem, UnionKind, UnknownColumn, Update, UpdateArg, UpdateCtx, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdateSelf, UpdatedAtDataInjector, UpsertArg, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereArgs, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereNotArgs, WhereOnItem, WhereOnJoinItem, WhereQueryBase, WhereQueryBuilder, WhereResult, WhereSearchItem, WhereSearchResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowItem, With, WithDataBase, WithDataItem, WithDataItems, WithItem, WithOptions, WrapQueryArg, XMLColumn, _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, _queryWhereIn, _queryWhereNot, _queryWhereNotSql, _queryWhereSql, addComputedColumns, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, checkIfASimpleQuery, cloneQuery, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, constraintPropsToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, extendQuery, foreignKeyArgumentToCode, getClonedQueryData, getColumnInfo, getColumnTypes, getConstraintKind, getQueryAs, getShapeFromSelect, getTableData, handleResult, identityToCode, indexToCode, instantiateColumn, isQueryReturnsAll, isSelectingCount, joinSubQuery, logColors, logParamToLogObject, makeColumnTypes, makeColumnsByType, makeExpression, makeFnExpression, makeRegexToFindInSql, makeSQL, newTableData, parseRecord, parseResult, primaryKeyToCode, processSelectArg, pushLimitSQL, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, queryFrom, queryFromSql, queryJson, queryMethodByReturnType, queryTypeWithLimitOne, queryWrap, quote, quoteString, raw, referencesArgsToCode, resetTableData, resolveSubQueryCallback, saveSearchAlias, setParserForSelectedString, setQueryObjectValue, setQueryOperators, simplifyColumnDefault, sqlQueryArgsToExpression, templateLiteralToSQL, testTransaction, throwIfNoWhere, toSQL, toSQLCacheKey };
|