pqb 0.34.0 → 0.35.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 +212 -134
- package/dist/index.js +1117 -438
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1114 -438
- 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,
|
|
2
|
+
import { QueryResultRow, AdapterConfigBase, AdapterBase, QueryInput, SingleSqlItem, Sql, RecordUnknown, RecordKeyTrue, EmptyObject, QueryBaseCommon, QueryColumns, QueryMetaBase, QueryReturnType, QueryThen, Expression, MaybeArray, SelectableBase, TemplateLiteralArgs, QueryColumn, MaybePromise, FnUnknownToUnknown, RecordString, ColumnsShapeBase, ColumnsParsers, PickQueryTable, BatchParsers, HookSelect, QueryDataTransform, ExpressionChain, getValueKey, 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 } 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';
|
|
@@ -119,12 +119,12 @@ interface WithOptions {
|
|
|
119
119
|
materialized?: true;
|
|
120
120
|
notMaterialized?: true;
|
|
121
121
|
}
|
|
122
|
-
type SelectItem = string | SelectAs | Expression;
|
|
122
|
+
type SelectItem = string | SelectAs | Expression | undefined;
|
|
123
123
|
interface SelectAs {
|
|
124
124
|
selectAs: SelectAsValue;
|
|
125
125
|
}
|
|
126
126
|
interface SelectAsValue {
|
|
127
|
-
[K: string]: string | Query | Expression;
|
|
127
|
+
[K: string]: string | Query | Expression | undefined;
|
|
128
128
|
}
|
|
129
129
|
type OrderTsQueryConfig = true | OrderTsQueryConfigObject;
|
|
130
130
|
interface OrderTsQueryConfigObject {
|
|
@@ -268,9 +268,75 @@ type OnConflictMerge = string | string[] | {
|
|
|
268
268
|
except: string | string[];
|
|
269
269
|
};
|
|
270
270
|
|
|
271
|
+
declare module 'orchid-core' {
|
|
272
|
+
interface ColumnDataBase {
|
|
273
|
+
computed?: Expression;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
type ComputedColumnsFromOptions<T extends ComputedOptionsFactory<never, never> | undefined> = T extends (...args: any[]) => any ? {
|
|
277
|
+
[K in keyof ReturnType<T>]: ReturnType<T>[K]['result']['value'];
|
|
278
|
+
} : EmptyObject;
|
|
279
|
+
type ComputedOptionsFactory<ColumnTypes, Shape extends QueryColumns> = (t: ComputedMethods<ColumnTypes, Shape>) => {
|
|
280
|
+
[K: string]: QueryOrExpression<unknown>;
|
|
281
|
+
};
|
|
282
|
+
interface RuntimeComputedQueryColumn<OutputType> extends QueryColumn {
|
|
283
|
+
dataType: 'runtimeComputed';
|
|
284
|
+
type: never;
|
|
285
|
+
outputType: OutputType;
|
|
286
|
+
queryType: undefined;
|
|
287
|
+
operators: {
|
|
288
|
+
cannotQueryRuntimeComputed: never;
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
interface ComputedMethods<ColumnTypes, Shape extends QueryColumns> extends QueryComputedArg<ColumnTypes, Shape> {
|
|
292
|
+
computeAtRuntime<Deps extends keyof Shape, OutputType>(dependsOn: Deps[], fn: (record: Pick<Shape, Deps>) => OutputType): {
|
|
293
|
+
result: {
|
|
294
|
+
value: RuntimeComputedQueryColumn<OutputType>;
|
|
295
|
+
};
|
|
296
|
+
};
|
|
297
|
+
computeBatchAtRuntime<Deps extends keyof Shape, OutputType>(dependsOn: Deps[], fn: (record: Pick<Shape, Deps>[]) => MaybePromise<OutputType[]>): {
|
|
298
|
+
result: {
|
|
299
|
+
value: RuntimeComputedQueryColumn<OutputType>;
|
|
300
|
+
};
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
declare class ComputedColumn {
|
|
304
|
+
kind: 'one' | 'many';
|
|
305
|
+
deps: string[];
|
|
306
|
+
fn: FnUnknownToUnknown;
|
|
307
|
+
constructor(kind: 'one' | 'many', deps: string[], fn: FnUnknownToUnknown);
|
|
308
|
+
}
|
|
309
|
+
interface ComputedColumns {
|
|
310
|
+
[K: string]: ComputedColumn;
|
|
311
|
+
}
|
|
312
|
+
interface QueryComputedArg<ColumnTypes, Shape extends QueryColumns> extends ExpressionMethods, SqlMethod<ColumnTypes> {
|
|
313
|
+
shape: Shape;
|
|
314
|
+
columnTypes: ColumnTypes;
|
|
315
|
+
windows: EmptyObject;
|
|
316
|
+
relations: RelationsBase;
|
|
317
|
+
result: EmptyObject;
|
|
318
|
+
meta: Omit<QueryMetaBase, 'selectable'> & {
|
|
319
|
+
selectable: {
|
|
320
|
+
[K in keyof Shape]: {
|
|
321
|
+
as: string;
|
|
322
|
+
column: QueryColumn;
|
|
323
|
+
};
|
|
324
|
+
};
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
declare const applyComputedColumns: (q: Query, fn: ComputedOptionsFactory<never, never>) => void;
|
|
328
|
+
declare const processComputedResult: (query: QueryData, result: unknown) => Promise<void[]> | undefined;
|
|
329
|
+
declare const processComputedBatches: (query: QueryData, batches: QueryBatchResult[], originalReturnType: QueryReturnType, returnType: QueryReturnType, tempColumns: Set<string> | undefined, renames: RecordString | undefined, key: string) => Promise<void> | undefined;
|
|
330
|
+
|
|
271
331
|
interface RecordOfColumnsShapeBase {
|
|
272
332
|
[K: string]: ColumnsShapeBase;
|
|
273
333
|
}
|
|
334
|
+
interface WithConfigs {
|
|
335
|
+
[K: string]: {
|
|
336
|
+
shape: ColumnsShapeBase;
|
|
337
|
+
computeds?: ComputedColumns;
|
|
338
|
+
};
|
|
339
|
+
}
|
|
274
340
|
type JoinedShapes = RecordOfColumnsShapeBase;
|
|
275
341
|
interface JoinedParsers {
|
|
276
342
|
[K: string]: ColumnsParsers;
|
|
@@ -289,19 +355,26 @@ interface QueryScopeData {
|
|
|
289
355
|
type QueryDataFromItem = string | Query | Expression;
|
|
290
356
|
interface QueryDataJoinTo extends PickQueryTable, PickQueryQ {
|
|
291
357
|
}
|
|
358
|
+
type HandleResult = (q: Query, returnType: QueryReturnType, result: QueryResult, isSubQuery?: true) => MaybePromise<unknown>;
|
|
292
359
|
interface CommonQueryData {
|
|
293
360
|
adapter: Adapter;
|
|
294
361
|
shape: ColumnsShapeBase;
|
|
295
362
|
patchResult?(q: Query, queryResult: QueryResult): Promise<void>;
|
|
296
|
-
handleResult
|
|
363
|
+
handleResult: HandleResult;
|
|
297
364
|
returnType: QueryReturnType;
|
|
298
365
|
wrapInTransaction?: boolean;
|
|
299
366
|
throwOnNotFound?: boolean;
|
|
300
367
|
with?: WithItem[];
|
|
301
|
-
withShapes?:
|
|
368
|
+
withShapes?: WithConfigs;
|
|
302
369
|
joinTo?: QueryDataJoinTo;
|
|
303
370
|
joinedShapes?: JoinedShapes;
|
|
304
371
|
joinedParsers?: JoinedParsers;
|
|
372
|
+
joinedBatchParsers?: {
|
|
373
|
+
[K: string]: BatchParsers;
|
|
374
|
+
};
|
|
375
|
+
joinedComputeds?: {
|
|
376
|
+
[K: string]: ComputedColumns;
|
|
377
|
+
};
|
|
305
378
|
joinedForSelect?: string;
|
|
306
379
|
innerJoinLateral?: true;
|
|
307
380
|
joinOverrides?: JoinOverrides;
|
|
@@ -317,22 +390,26 @@ interface CommonQueryData {
|
|
|
317
390
|
or?: WhereItem[][];
|
|
318
391
|
coalesceValue?: unknown | Expression;
|
|
319
392
|
parsers?: ColumnsParsers;
|
|
393
|
+
batchParsers?: BatchParsers;
|
|
320
394
|
notFoundDefault?: unknown;
|
|
321
395
|
defaults?: RecordUnknown;
|
|
396
|
+
hookSelect?: HookSelect;
|
|
397
|
+
computeds?: ComputedColumns;
|
|
398
|
+
selectedComputeds?: ComputedColumns;
|
|
322
399
|
before?: QueryBeforeHook[];
|
|
323
400
|
after?: QueryAfterHook[];
|
|
324
401
|
beforeCreate?: QueryBeforeHook[];
|
|
325
402
|
afterCreate?: QueryAfterHook[];
|
|
326
403
|
afterCreateCommit?: QueryAfterHook[];
|
|
327
|
-
afterCreateSelect?:
|
|
404
|
+
afterCreateSelect?: Set<string>;
|
|
328
405
|
beforeUpdate?: QueryBeforeHook[];
|
|
329
406
|
afterUpdate?: QueryAfterHook[];
|
|
330
407
|
afterUpdateCommit?: QueryAfterHook[];
|
|
331
|
-
afterUpdateSelect?:
|
|
408
|
+
afterUpdateSelect?: Set<string>;
|
|
332
409
|
beforeDelete?: QueryBeforeHook[];
|
|
333
410
|
afterDelete?: QueryAfterHook[];
|
|
334
411
|
afterDeleteCommit?: QueryAfterHook[];
|
|
335
|
-
afterDeleteSelect?:
|
|
412
|
+
afterDeleteSelect?: Set<string>;
|
|
336
413
|
log?: QueryLogObject;
|
|
337
414
|
logger: QueryLogger;
|
|
338
415
|
autoPreparedStatements?: boolean;
|
|
@@ -664,21 +741,6 @@ type JoinArgToQueryCallback = (...args: any[]) => PickQueryTableMetaResult;
|
|
|
664
741
|
* Callback must return a query builder.
|
|
665
742
|
*/
|
|
666
743
|
type JoinCallback<T extends PickQueryMetaShapeRelationsWithData, Arg extends JoinFirstArg<T>> = (q: JoinQueryBuilder<T, JoinArgToQuery<T, Arg>>) => PickQueryTableMetaResult;
|
|
667
|
-
/**
|
|
668
|
-
* Type of the `joinLateral`.
|
|
669
|
-
*
|
|
670
|
-
* Receives a query builder that can access columns of both the main and the joined table.
|
|
671
|
-
*
|
|
672
|
-
* Query builder inside callback is the query derived from the `joinLateral` first argument,
|
|
673
|
-
* all query methods are allowed, `on` methods are available.
|
|
674
|
-
*
|
|
675
|
-
* The callback must return a query object. Its resulting type will become a type of the joined table.
|
|
676
|
-
*/
|
|
677
|
-
type JoinLateralCallback<T extends PickQueryMetaShapeRelationsWithData, Arg extends JoinFirstArg<T>, Table extends string, Meta extends QueryMetaBase, Result extends QueryColumns> = (q: JoinQueryBuilder<T, JoinArgToQuery<T, Arg>>) => {
|
|
678
|
-
table: Table;
|
|
679
|
-
meta: Meta;
|
|
680
|
-
result: Result;
|
|
681
|
-
};
|
|
682
744
|
/**
|
|
683
745
|
* Type of {@link Join.join} query method.
|
|
684
746
|
*/
|
|
@@ -1235,7 +1297,11 @@ declare class Join {
|
|
|
1235
1297
|
* @param arg - {@link JoinFirstArg}
|
|
1236
1298
|
* @param cb - {@link JoinLateralCallback}
|
|
1237
1299
|
*/
|
|
1238
|
-
joinLateral<T extends PickQueryMetaResultRelationsWithDataReturnTypeShape, Arg extends JoinFirstArg<T>, Table extends string, Meta extends QueryMetaBase, Result extends QueryColumns>(this: T, arg: Arg, cb:
|
|
1300
|
+
joinLateral<T extends PickQueryMetaResultRelationsWithDataReturnTypeShape, Arg extends JoinFirstArg<T>, Table extends string, Meta extends QueryMetaBase, Result extends QueryColumns>(this: T, arg: Arg, cb: (q: JoinQueryBuilder<T, JoinArgToQuery<T, Arg>>) => {
|
|
1301
|
+
table: Table;
|
|
1302
|
+
meta: Meta;
|
|
1303
|
+
result: Result;
|
|
1304
|
+
}): JoinLateralResult<T, Table, Meta, Result, true>;
|
|
1239
1305
|
/**
|
|
1240
1306
|
* The same as {@link joinLateral}, but when no records found for the join it will result in `null`:
|
|
1241
1307
|
*
|
|
@@ -1251,7 +1317,11 @@ declare class Join {
|
|
|
1251
1317
|
* @param arg - {@link JoinFirstArg}
|
|
1252
1318
|
* @param cb - {@link JoinLateralCallback}
|
|
1253
1319
|
*/
|
|
1254
|
-
leftJoinLateral<T extends PickQueryMetaResultRelationsWithDataReturnTypeShape, Arg extends JoinFirstArg<T>, Table extends string, Meta extends QueryMetaBase, Result extends QueryColumns>(this: T, arg: Arg, cb:
|
|
1320
|
+
leftJoinLateral<T extends PickQueryMetaResultRelationsWithDataReturnTypeShape, Arg extends JoinFirstArg<T>, Table extends string, Meta extends QueryMetaBase, Result extends QueryColumns>(this: T, arg: Arg, cb: (q: JoinQueryBuilder<T, JoinArgToQuery<T, Arg>>) => {
|
|
1321
|
+
table: Table;
|
|
1322
|
+
meta: Meta;
|
|
1323
|
+
result: Result;
|
|
1324
|
+
}): JoinLateralResult<T, Table, Meta, Result, false>;
|
|
1255
1325
|
}
|
|
1256
1326
|
type OnArgs<S extends SelectableBase> = [leftColumn: keyof S, rightColumn: keyof S] | [leftColumn: keyof S, op: string, rightColumn: keyof S];
|
|
1257
1327
|
declare const pushQueryOn: <T extends PickQueryMeta>(q: T, joinFrom: PickQueryMeta, joinTo: PickQueryMeta, ...on: OnArgs<SelectableBase>) => T;
|
|
@@ -1264,21 +1334,21 @@ type OnJsonPathEqualsArgs<S extends SelectableBase> = [
|
|
|
1264
1334
|
rightPath: string
|
|
1265
1335
|
];
|
|
1266
1336
|
/**
|
|
1267
|
-
* Mutative {@link OnMethods.on}
|
|
1337
|
+
* Mutative {@link OnMethods.prototype.on}
|
|
1268
1338
|
*/
|
|
1269
1339
|
declare const _queryJoinOn: <T extends PickQueryMeta>(q: T, args: OnArgs<T['meta']['selectable']>) => T;
|
|
1270
1340
|
/**
|
|
1271
|
-
* Mutative {@link OnMethods.orOn}
|
|
1341
|
+
* Mutative {@link OnMethods.prototype.orOn}
|
|
1272
1342
|
*/
|
|
1273
1343
|
declare const _queryJoinOrOn: <T extends PickQueryMeta>(q: T, args: OnArgs<T['meta']['selectable']>) => T;
|
|
1274
1344
|
/**
|
|
1275
|
-
* Mutative {@link OnMethods.onJsonPathEquals}
|
|
1345
|
+
* Mutative {@link OnMethods.prototype.onJsonPathEquals}
|
|
1276
1346
|
*/
|
|
1277
1347
|
declare const _queryJoinOnJsonPathEquals: <T extends PickQueryMeta>(q: T, args: OnJsonPathEqualsArgs<T["meta"]["selectable"]>) => T;
|
|
1278
1348
|
/**
|
|
1279
1349
|
* Argument of join callback.
|
|
1280
1350
|
* It is a query object of table that you're joining, with ability to select main table's columns.
|
|
1281
|
-
* Adds {@link OnMethods.on} method and similar to the query.
|
|
1351
|
+
* Adds {@link OnMethods.prototype.on} method and similar to the query.
|
|
1282
1352
|
*/
|
|
1283
1353
|
type JoinQueryBuilder<T extends PickQueryMetaShape = PickQueryMetaShape, J extends PickQueryTableMetaResult = PickQueryTableMetaResult> = {
|
|
1284
1354
|
[K in keyof J]: K extends 'meta' ? {
|
|
@@ -1709,7 +1779,21 @@ type WhereArg<T extends PickQueryMetaRelations> = {
|
|
|
1709
1779
|
[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<{
|
|
1710
1780
|
columns: (keyof T['meta']['selectable'])[];
|
|
1711
1781
|
values: unknown[][] | QueryBase | Expression;
|
|
1712
|
-
}> : T['meta']['selectable'][K]['column']['queryType'] | null |
|
|
1782
|
+
}> : T['meta']['selectable'][K]['column']['queryType'] | null | {
|
|
1783
|
+
[O in keyof T['meta']['selectable'][K]['column']['operators']]?: T['meta']['selectable'][K]['column']['operators'][O]['_opType'];
|
|
1784
|
+
} | {
|
|
1785
|
+
result: {
|
|
1786
|
+
value: {
|
|
1787
|
+
queryType: T['meta']['selectable'][K]['column']['queryType'] | null;
|
|
1788
|
+
};
|
|
1789
|
+
};
|
|
1790
|
+
} | ((q: T) => {
|
|
1791
|
+
result: {
|
|
1792
|
+
value: {
|
|
1793
|
+
queryType: T['meta']['selectable'][K]['column']['queryType'] | null;
|
|
1794
|
+
};
|
|
1795
|
+
};
|
|
1796
|
+
});
|
|
1713
1797
|
} | QueryOrExpressionBooleanOrNullResult | ((q: WhereQueryBuilder<T>) => QueryOrExpressionBooleanOrNullResult | WhereQueryBuilder<T>);
|
|
1714
1798
|
/**
|
|
1715
1799
|
* Callback argument of `where`.
|
|
@@ -1744,35 +1828,35 @@ interface QueryMetaHasWhere {
|
|
|
1744
1828
|
};
|
|
1745
1829
|
}
|
|
1746
1830
|
/**
|
|
1747
|
-
* Mutative {@link Where.where}
|
|
1831
|
+
* Mutative {@link Where.prototype.where}
|
|
1748
1832
|
*/
|
|
1749
1833
|
declare const _queryWhere: <T extends PickQueryMetaRelations>(q: T, args: WhereArgs<T>) => WhereResult<T>;
|
|
1750
1834
|
/**
|
|
1751
|
-
* Mutative {@link Where.whereSql}
|
|
1835
|
+
* Mutative {@link Where.prototype.whereSql}
|
|
1752
1836
|
*/
|
|
1753
1837
|
declare const _queryWhereSql: <T>(q: T, args: SQLQueryArgs) => T;
|
|
1754
1838
|
/**
|
|
1755
|
-
* Mutative {@link Where.whereNot}
|
|
1839
|
+
* Mutative {@link Where.prototype.whereNot}
|
|
1756
1840
|
*/
|
|
1757
1841
|
declare const _queryWhereNot: <T extends PickQueryMetaRelations>(q: T, args: WhereNotArgs<T>) => WhereResult<T>;
|
|
1758
1842
|
/**
|
|
1759
|
-
* Mutative {@link Where.whereNotSql}
|
|
1843
|
+
* Mutative {@link Where.prototype.whereNotSql}
|
|
1760
1844
|
*/
|
|
1761
1845
|
declare const _queryWhereNotSql: <T>(q: T, args: SQLQueryArgs) => T;
|
|
1762
1846
|
/**
|
|
1763
|
-
* Mutative {@link Where.orWhere}
|
|
1847
|
+
* Mutative {@link Where.prototype.orWhere}
|
|
1764
1848
|
*/
|
|
1765
1849
|
declare const _queryOr: <T extends PickQueryMetaRelations>(q: T, args: WhereArgs<T>) => WhereResult<T>;
|
|
1766
1850
|
/**
|
|
1767
|
-
* Mutative {@link Where.orWhereNot}
|
|
1851
|
+
* Mutative {@link Where.prototype.orWhereNot}
|
|
1768
1852
|
*/
|
|
1769
1853
|
declare const _queryOrNot: <T extends PickQueryMetaRelations>(q: T, args: WhereArgs<T>) => WhereResult<T>;
|
|
1770
1854
|
/**
|
|
1771
|
-
* Mutative {@link Where.whereIn}
|
|
1855
|
+
* Mutative {@link Where.prototype.whereIn}
|
|
1772
1856
|
*/
|
|
1773
1857
|
declare const _queryWhereIn: <T>(q: T, and: boolean, arg: unknown, values: unknown[] | unknown[][] | Query | Expression | undefined, not?: boolean) => WhereResult<T>;
|
|
1774
1858
|
/**
|
|
1775
|
-
* Mutative {@link Where.whereExists}
|
|
1859
|
+
* Mutative {@link Where.prototype.whereExists}
|
|
1776
1860
|
*/
|
|
1777
1861
|
declare const _queryWhereExists: <T extends PickQueryMetaShapeRelationsWithData, Arg extends JoinFirstArg<T>>(q: T, arg: Arg, args: JoinArgs<T, Arg>) => WhereResult<T>;
|
|
1778
1862
|
declare class Where {
|
|
@@ -2533,19 +2617,17 @@ declare class RawSQL<T extends QueryColumn, ColumnTypes = DefaultColumnTypes<Col
|
|
|
2533
2617
|
interface DynamicRawSQL<T extends QueryColumn> extends Expression<T>, ExpressionTypeMethod {
|
|
2534
2618
|
}
|
|
2535
2619
|
declare class DynamicRawSQL<T extends QueryColumn, ColumnTypes = DefaultColumnTypes<ColumnSchemaConfig>> extends Expression<T> {
|
|
2536
|
-
fn: DynamicSQLArg
|
|
2620
|
+
fn: DynamicSQLArg<T>;
|
|
2537
2621
|
columnTypes: ColumnTypes;
|
|
2538
2622
|
result: {
|
|
2539
2623
|
value: T;
|
|
2540
2624
|
};
|
|
2541
|
-
q:
|
|
2542
|
-
|
|
2543
|
-
};
|
|
2544
|
-
constructor(fn: DynamicSQLArg);
|
|
2625
|
+
q: ExpressionData;
|
|
2626
|
+
constructor(fn: DynamicSQLArg<T>);
|
|
2545
2627
|
makeSQL(ctx: ToSQLCtx, quotedAs?: string): string;
|
|
2546
2628
|
}
|
|
2547
2629
|
declare function raw<T = never>(...args: StaticSQLArgs): RawSQL<QueryColumn<T>>;
|
|
2548
|
-
declare function raw<T = never>(...args: [DynamicSQLArg]): DynamicRawSQL<QueryColumn<T>>;
|
|
2630
|
+
declare function raw<T = never>(...args: [DynamicSQLArg<QueryColumn<T>>]): DynamicRawSQL<QueryColumn<T>>;
|
|
2549
2631
|
declare const countSelect: RawSQL<QueryColumn<unknown, any>, DefaultColumnTypes<ColumnSchemaConfig<orchid_core.ColumnTypeBase<orchid_core.ColumnTypeSchemaArg, unknown, any, any, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>>>>[];
|
|
2550
2632
|
declare function sqlQueryArgsToExpression(args: SQLQueryArgs): RawSQL<QueryColumn>;
|
|
2551
2633
|
type SqlFn = <T, Args extends [sql: TemplateStringsArray, ...values: unknown[]] | [sql: string] | [values: RecordUnknown, sql?: string]>(this: T, ...args: Args) => Args extends [RecordUnknown] ? (...sql: TemplateLiteralArgs) => RawSQLBase<QueryColumn, T> : RawSQLBase<QueryColumn, T>;
|
|
@@ -2679,8 +2761,7 @@ type TableDataInput = {
|
|
|
2679
2761
|
constraint?: TableData.Constraint;
|
|
2680
2762
|
};
|
|
2681
2763
|
interface TableDataItem {
|
|
2682
|
-
|
|
2683
|
-
name: unknown;
|
|
2764
|
+
tableDataItem: true;
|
|
2684
2765
|
}
|
|
2685
2766
|
interface UniqueTableDataItem<Shape extends QueryColumns = QueryColumns> {
|
|
2686
2767
|
columns: (keyof Shape)[];
|
|
@@ -2688,6 +2769,7 @@ interface UniqueTableDataItem<Shape extends QueryColumns = QueryColumns> {
|
|
|
2688
2769
|
}
|
|
2689
2770
|
interface TableDataMethods<Key extends PropertyKey> {
|
|
2690
2771
|
primaryKey<Columns extends [Key, ...Key[]], Name extends string>(columns: Columns, name?: Name): {
|
|
2772
|
+
tableDataItem: true;
|
|
2691
2773
|
columns: Columns;
|
|
2692
2774
|
name: string extends Name ? never : Name;
|
|
2693
2775
|
};
|
|
@@ -2695,6 +2777,7 @@ interface TableDataMethods<Key extends PropertyKey> {
|
|
|
2695
2777
|
Key | TableData.Index.ColumnOrExpressionOptions<Key>,
|
|
2696
2778
|
...(Key | TableData.Index.ColumnOrExpressionOptions<Key>)[]
|
|
2697
2779
|
], Name extends string>(columns: Columns, ...args: [options?: TableData.Index.UniqueOptionsArg] | [name?: Name, options?: TableData.Index.UniqueOptionsArg]): {
|
|
2780
|
+
tableDataItem: true;
|
|
2698
2781
|
columns: Columns extends (Key | TableData.Index.ColumnOptionsForColumn<Key>)[] ? {
|
|
2699
2782
|
[I in keyof Columns]: 'column' extends keyof Columns[I] ? Columns[I]['column'] : Columns[I];
|
|
2700
2783
|
} : never;
|
|
@@ -3146,7 +3229,7 @@ type DbOptions<SchemaConfig extends ColumnSchemaConfig, ColumnTypes> = ({
|
|
|
3146
3229
|
snakeCase?: boolean;
|
|
3147
3230
|
nowSQL?: string;
|
|
3148
3231
|
};
|
|
3149
|
-
interface DbTableOptions<Table extends string | undefined, Shape extends QueryColumns> extends QueryLogOptions {
|
|
3232
|
+
interface DbTableOptions<ColumnTypes, Table extends string | undefined, Shape extends QueryColumns> extends QueryLogOptions {
|
|
3150
3233
|
schema?: string;
|
|
3151
3234
|
autoPreparedStatements?: boolean;
|
|
3152
3235
|
noPrimaryKey?: NoPrimaryKeyOption;
|
|
@@ -3161,6 +3244,7 @@ interface DbTableOptions<Table extends string | undefined, Shape extends QueryCo
|
|
|
3161
3244
|
*/
|
|
3162
3245
|
softDelete?: SoftDeleteOption<Shape>;
|
|
3163
3246
|
comment?: string;
|
|
3247
|
+
computed?: ComputedOptionsFactory<ColumnTypes, Shape>;
|
|
3164
3248
|
}
|
|
3165
3249
|
/**
|
|
3166
3250
|
* See {@link ScopeMethods}
|
|
@@ -3175,7 +3259,7 @@ declare const anyShape: QueryColumnsInit;
|
|
|
3175
3259
|
interface Db<Table extends string | undefined = undefined, Shape extends QueryColumnsInit = QueryColumnsInit, PrimaryKeys = never, UniqueColumns = never, UniqueColumnTuples = never, UniqueConstraints = never, Relations extends RelationsBase = EmptyObject, ColumnTypes = DefaultColumnTypes<ColumnSchemaConfig>, ShapeWithComputed extends QueryColumnsInit = Shape, Scopes extends CoreQueryScopes | undefined = EmptyObject> extends DbBase<Adapter, Table, Shape, ColumnTypes, ShapeWithComputed>, QueryMethods<ColumnTypes>, QueryBase {
|
|
3176
3260
|
result: Pick<Shape, DefaultSelectColumns<Shape>[number]>;
|
|
3177
3261
|
queryBuilder: Db;
|
|
3178
|
-
returnType:
|
|
3262
|
+
returnType: undefined;
|
|
3179
3263
|
then: QueryThen<QueryDefaultReturnData<Shape>>;
|
|
3180
3264
|
windows: Query['windows'];
|
|
3181
3265
|
defaultSelectColumns: DefaultSelectColumns<Shape>;
|
|
@@ -3205,7 +3289,7 @@ declare class Db<Table extends string | undefined = undefined, Shape extends Que
|
|
|
3205
3289
|
table: Table;
|
|
3206
3290
|
shape: ShapeWithComputed;
|
|
3207
3291
|
columnTypes: ColumnTypes;
|
|
3208
|
-
constructor(adapter: Adapter, queryBuilder: Db, table: Table, shape: ShapeWithComputed, columnTypes: ColumnTypes, transactionStorage: AsyncLocalStorage<TransactionState>, options: DbTableOptions<Table, ShapeWithComputed>, tableData?: TableData);
|
|
3292
|
+
constructor(adapter: Adapter, queryBuilder: Db, table: Table, shape: ShapeWithComputed, columnTypes: ColumnTypes, transactionStorage: AsyncLocalStorage<TransactionState>, options: DbTableOptions<ColumnTypes, Table, ShapeWithComputed>, tableData?: TableData);
|
|
3209
3293
|
[inspect.custom](): string;
|
|
3210
3294
|
/**
|
|
3211
3295
|
* Use `query` to perform raw SQL queries.
|
|
@@ -3265,7 +3349,7 @@ declare class Db<Table extends string | undefined = undefined, Shape extends Que
|
|
|
3265
3349
|
*/
|
|
3266
3350
|
queryArrays<R extends any[] = any[]>(...args: SQLQueryArgs): Promise<QueryArraysResult<R>>;
|
|
3267
3351
|
}
|
|
3268
|
-
type DbTableConstructor<ColumnTypes> = <Table extends string, Shape extends QueryColumnsInit, Data extends MaybeArray<TableDataItem>, Options extends DbTableOptions<Table, Shape>>(table: Table, shape?: ((t: ColumnTypes) => Shape) | Shape, tableData?: TableDataFn<Shape, Data>, options?: Options) => Db<Table, Shape, keyof ShapeColumnPrimaryKeys<Shape> extends never ? never : ShapeColumnPrimaryKeys<Shape>, ShapeUniqueColumns<Shape> | TableDataItemsUniqueColumns<Shape, Data>, TableDataItemsUniqueColumnTuples<Shape, Data>, UniqueConstraints<Shape> | TableDataItemsUniqueConstraints<Data>, EmptyObject, ColumnTypes, Shape
|
|
3352
|
+
type DbTableConstructor<ColumnTypes> = <Table extends string, Shape extends QueryColumnsInit, Data extends MaybeArray<TableDataItem>, Options extends DbTableOptions<ColumnTypes, Table, Shape>>(table: Table, shape?: ((t: ColumnTypes) => Shape) | Shape, tableData?: TableDataFn<Shape, Data>, options?: Options) => Db<Table, Shape, keyof ShapeColumnPrimaryKeys<Shape> extends never ? never : ShapeColumnPrimaryKeys<Shape>, ShapeUniqueColumns<Shape> | TableDataItemsUniqueColumns<Shape, Data>, TableDataItemsUniqueColumnTuples<Shape, Data>, UniqueConstraints<Shape> | TableDataItemsUniqueConstraints<Data>, EmptyObject, ColumnTypes, Shape & ComputedColumnsFromOptions<Options['computed']>, MapTableScopesOption<Options['scopes'], Options['softDelete']>>;
|
|
3269
3353
|
type MapTableScopesOption<Scopes extends CoreQueryScopes | undefined, SoftDelete extends true | PropertyKey | undefined> = {
|
|
3270
3354
|
[K in keyof Scopes | (SoftDelete extends true | PropertyKey ? 'nonDeleted' : never)]: unknown;
|
|
3271
3355
|
};
|
|
@@ -3350,7 +3434,7 @@ interface DbResult<ColumnTypes> extends Db<string, never, never, never, never, n
|
|
|
3350
3434
|
* ```
|
|
3351
3435
|
*/
|
|
3352
3436
|
declare const createDb: <SchemaConfig extends ColumnSchemaConfig<ColumnTypeBase<orchid_core.ColumnTypeSchemaArg, unknown, any, any, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>> = DefaultSchemaConfig, ColumnTypes = DefaultColumnTypes<SchemaConfig>>({ log, logger, snakeCase, nowSQL, schemaConfig, columnTypes: ctOrFn, ...options }: DbOptions<SchemaConfig, ColumnTypes>) => DbResult<ColumnTypes>;
|
|
3353
|
-
declare const _initQueryBuilder: (adapter: Adapter, columnTypes: unknown, transactionStorage: AsyncLocalStorage<TransactionState>, commonOptions: DbTableOptions<undefined, QueryColumns>, options: DbSharedOptions) => Db;
|
|
3437
|
+
declare const _initQueryBuilder: (adapter: Adapter, columnTypes: unknown, transactionStorage: AsyncLocalStorage<TransactionState>, commonOptions: DbTableOptions<unknown, undefined, QueryColumns>, options: DbSharedOptions) => Db;
|
|
3354
3438
|
|
|
3355
3439
|
type ToSQLCtx = {
|
|
3356
3440
|
queryBuilder: Db;
|
|
@@ -3390,7 +3474,15 @@ declare const getSqlText: (sql: Sql) => string;
|
|
|
3390
3474
|
|
|
3391
3475
|
type AliasOrTable<T extends PickQueryMetaTable> = T['meta']['as'] extends string ? T['meta']['as'] : T['table'] extends string ? T['table'] : never;
|
|
3392
3476
|
type SelectableOrExpression<T extends PickQueryMeta = PickQueryMeta, C extends QueryColumn = QueryColumn> = '*' | keyof T['meta']['selectable'] | Expression<C>;
|
|
3393
|
-
type SelectableOrExpressions<T extends
|
|
3477
|
+
type SelectableOrExpressions<T extends {
|
|
3478
|
+
meta: {
|
|
3479
|
+
selectable: unknown;
|
|
3480
|
+
};
|
|
3481
|
+
} = {
|
|
3482
|
+
meta: {
|
|
3483
|
+
selectable: unknown;
|
|
3484
|
+
};
|
|
3485
|
+
}, C extends QueryColumn = QueryColumn> = ('*' | keyof T['meta']['selectable'] | Expression<C>)[];
|
|
3394
3486
|
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;
|
|
3395
3487
|
declare const getClonedQueryData: (query: QueryData) => QueryData;
|
|
3396
3488
|
declare const getQueryAs: (q: {
|
|
@@ -3910,19 +4002,21 @@ type CreateDataWithDefaultsForRelations<T extends CreateSelf, Defaults extends k
|
|
|
3910
4002
|
[K in Defaults as K extends OmitFKeys ? never : K]?: CreateColumn<T, K>;
|
|
3911
4003
|
};
|
|
3912
4004
|
type CreateColumn<T extends CreateSelf, K extends keyof T['inputType']> = T['inputType'][K] | QueryOrExpression<T['inputType'][K]> | ((q: T) => QueryOrExpression<T['inputType'][K]>);
|
|
3913
|
-
type CreateRelationsData<T extends CreateSelf, BelongsToData> = CreateDataWithDefaultsForRelations<T, keyof T['meta']['defaults'], T['relations'][keyof T['relations']]['relationConfig']['omitForeignKeyInCreate']> & BelongsToData & T['relations'][keyof T['relations']]['relationConfig']['optionalDataForCreate'];
|
|
3914
|
-
type CreateBelongsToData<T extends CreateSelf> =
|
|
4005
|
+
type CreateRelationsData<T extends CreateSelf, BelongsToData> = CreateDataWithDefaultsForRelations<T, keyof T['meta']['defaults'], T['relations'][keyof T['relations']]['relationConfig']['omitForeignKeyInCreate']> & ([BelongsToData] extends [never] ? EmptyObject : BelongsToData) & T['relations'][keyof T['relations']]['relationConfig']['optionalDataForCreate'];
|
|
4006
|
+
type CreateBelongsToData<T extends CreateSelf> = [
|
|
4007
|
+
T['relations'][keyof T['relations']]['relationConfig']['dataForCreate']
|
|
4008
|
+
] extends [never] ? never : CreateRelationsDataOmittingFKeys<T, T['relations'][keyof T['relations']]['relationConfig']['dataForCreate']>;
|
|
3915
4009
|
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']> & {
|
|
3916
4010
|
[P in keyof T['meta']['defaults'] & keyof Union['columns']]?: Union['columns'][P];
|
|
3917
|
-
} & Partial<Union['nested']> : Union['columns'] | Union['nested']) => void : never) extends (u: infer Obj
|
|
4011
|
+
} & Partial<Union['nested']> : Union['columns'] | Union['nested']) => void : never) extends (u: infer Obj) => void ? Obj : never;
|
|
3918
4012
|
type CreateResult<T extends CreateSelf, BT> = T extends {
|
|
3919
4013
|
isCount: true;
|
|
3920
|
-
} ? SetQueryKind<T, 'create'> :
|
|
4014
|
+
} ? SetQueryKind<T, 'create'> : T['returnType'] extends undefined | 'all' ? SetQueryReturnsOneKindResult<T, 'create', NarrowCreateResult<T, BT>> : T['returnType'] extends 'pluck' ? SetQueryReturnsColumnKindResult<T, 'create', NarrowCreateResult<T, BT>> : SetQueryKindResult<T, 'create', NarrowCreateResult<T, BT>>;
|
|
3921
4015
|
type CreateRawOrFromResult<T extends CreateSelf> = T extends {
|
|
3922
4016
|
isCount: true;
|
|
3923
|
-
} ? SetQueryKind<T, 'create'> :
|
|
3924
|
-
type InsertResult<T extends CreateSelf, BT> = T['meta']['hasSelect'] extends true ?
|
|
3925
|
-
type InsertRawOrFromResult<T extends CreateSelf> = T['meta']['hasSelect'] extends true ?
|
|
4017
|
+
} ? SetQueryKind<T, 'create'> : T['returnType'] extends undefined | 'all' ? SetQueryReturnsOneKind<T, 'create'> : T['returnType'] extends 'pluck' ? SetQueryReturnsColumnKind<T, 'create'> : SetQueryKind<T, 'create'>;
|
|
4018
|
+
type InsertResult<T extends CreateSelf, BT> = T['meta']['hasSelect'] extends true ? T['returnType'] extends undefined | 'all' ? SetQueryReturnsOneKindResult<T, 'create', NarrowCreateResult<T, BT>> : T['returnType'] extends 'pluck' ? SetQueryReturnsColumnKindResult<T, 'create', NarrowCreateResult<T, BT>> : SetQueryKindResult<T, 'create', NarrowCreateResult<T, BT>> : SetQueryReturnsRowCount<T, 'create'>;
|
|
4019
|
+
type InsertRawOrFromResult<T extends CreateSelf> = T['meta']['hasSelect'] extends true ? T['returnType'] extends undefined | 'all' ? SetQueryReturnsOneKind<T, 'create'> : T['returnType'] extends 'pluck' ? SetQueryReturnsColumnKind<T, 'create'> : SetQueryKind<T, 'create'> : SetQueryReturnsRowCount<T, 'create'>;
|
|
3926
4020
|
type CreateManyResult<T extends CreateSelf, BT> = T extends {
|
|
3927
4021
|
isCount: true;
|
|
3928
4022
|
} ? SetQueryKindResult<T, 'create', NarrowCreateResult<T, BT>> : T['returnType'] extends 'one' | 'oneOrThrow' ? SetQueryReturnsAllKindResult<T, 'create', NarrowCreateResult<T, BT>> : T['returnType'] extends 'value' | 'valueOrThrow' ? SetQueryReturnsPluckColumnKindResult<T, 'create', NarrowCreateResult<T, BT>> : SetQueryKindResult<T, 'create', NarrowCreateResult<T, BT>>;
|
|
@@ -3937,10 +4031,12 @@ type InsertManyRawOrFromResult<T extends CreateSelf> = T['meta']['hasSelect'] ex
|
|
|
3937
4031
|
*
|
|
3938
4032
|
* The same should work as well with any non-null columns passed to `create`, but it's to be implemented later.
|
|
3939
4033
|
*/
|
|
3940
|
-
type NarrowCreateResult<T extends CreateSelf,
|
|
3941
|
-
|
|
4034
|
+
type NarrowCreateResult<T extends CreateSelf, Bt> = [
|
|
4035
|
+
{
|
|
4036
|
+
[K in keyof T['relations']]: T['relations'][K]['relationConfig']['omitForeignKeyInCreate'];
|
|
4037
|
+
}[keyof T['relations'] & keyof Bt]
|
|
3942
4038
|
] extends [never] ? T['result'] : {
|
|
3943
|
-
[K in keyof T['result']]: K extends T['relations'][keyof T['relations']
|
|
4039
|
+
[K in keyof T['result']]: K extends T['relations'][keyof T['relations']]['relationConfig']['omitForeignKeyInCreate'] ? QueryColumn<Exclude<T['result'][K]['type'], null>, T['result'][K]['operators']> : T['result'][K];
|
|
3944
4040
|
};
|
|
3945
4041
|
type IgnoreResult<T extends CreateSelf> = T['returnType'] extends 'oneOrThrow' ? SetQueryReturnsOneOptional<T> : T['returnType'] extends 'valueOrThrow' ? SetQueryReturnsColumnOptional<T, T['result']['value']> : T;
|
|
3946
4042
|
interface CreateRawData<T extends CreateSelf> {
|
|
@@ -3976,10 +4072,10 @@ interface CreateCtx {
|
|
|
3976
4072
|
returnTypeAll?: true;
|
|
3977
4073
|
resultAll: RecordUnknown[];
|
|
3978
4074
|
}
|
|
3979
|
-
declare const _queryCreate: <T extends CreateSelf, BT extends
|
|
3980
|
-
declare const _queryInsert: <T extends CreateSelf, BT extends
|
|
3981
|
-
declare const _queryCreateMany: <T extends CreateSelf, BT extends
|
|
3982
|
-
declare const _queryInsertMany: <T extends CreateSelf, BT extends
|
|
4075
|
+
declare const _queryCreate: <T extends CreateSelf, BT extends CreateBelongsToData<T>>(q: T, data: CreateData<T, BT>) => CreateResult<T, BT>;
|
|
4076
|
+
declare const _queryInsert: <T extends CreateSelf, BT extends CreateBelongsToData<T>>(q: T, data: CreateData<T, BT>) => InsertResult<T, BT>;
|
|
4077
|
+
declare const _queryCreateMany: <T extends CreateSelf, BT extends CreateBelongsToData<T>>(q: T, data: CreateData<T, BT>[]) => CreateManyResult<T, BT>;
|
|
4078
|
+
declare const _queryInsertMany: <T extends CreateSelf, BT extends CreateBelongsToData<T>>(q: T, data: CreateData<T, BT>[]) => InsertManyResult<T, BT>;
|
|
3983
4079
|
declare const _queryCreateRaw: <T extends CreateSelf>(q: T, args: CreateRawArgs<T, CreateRawData<T>>) => CreateRawOrFromResult<T>;
|
|
3984
4080
|
declare const _queryInsertRaw: <T extends CreateSelf>(q: T, args: CreateRawArgs<T, CreateRawData<T>>) => InsertRawOrFromResult<T>;
|
|
3985
4081
|
declare const _queryCreateManyRaw: <T extends CreateSelf>(q: T, args: CreateRawArgs<T, CreateManyRawData<T>>) => CreateManyRawOrFromResult<T>;
|
|
@@ -3992,7 +4088,7 @@ declare const _queryInsertFrom: <T extends CreateSelf, Q extends Query & {
|
|
|
3992
4088
|
}>(q: T, query: Q, data?: Omit<CreateData<T, CreateBelongsToData<T>>, keyof Q['result']>) => InsertRawOrFromResult<T>;
|
|
3993
4089
|
declare const _queryCreateManyFrom: <T extends CreateSelf>(q: T, query: Query) => CreateManyRawOrFromResult<T>;
|
|
3994
4090
|
declare const _queryInsertManyFrom: <T extends CreateSelf>(q: T, query: Query) => InsertManyRawOrFromResult<T>;
|
|
3995
|
-
declare const _queryDefaults: <T extends CreateSelf, Data extends Partial<CreateData<T,
|
|
4091
|
+
declare const _queryDefaults: <T extends CreateSelf, Data extends Partial<CreateData<T, CreateBelongsToData<T>>>>(q: T, data: Data) => AddQueryDefaults<T, { [K in keyof Data]: true; }>;
|
|
3996
4092
|
/**
|
|
3997
4093
|
* Names of all create methods,
|
|
3998
4094
|
* is used in {@link RelationQuery} to remove these methods if chained relation shouldn't have them,
|
|
@@ -4735,22 +4831,22 @@ declare class Having {
|
|
|
4735
4831
|
type AfterHook<Select extends PropertyKey[], Shape extends QueryColumns> = QueryAfterHook<{
|
|
4736
4832
|
[K in keyof Select[number]]: K extends keyof Shape ? Shape[K]['outputType'] : never;
|
|
4737
4833
|
}[]>;
|
|
4738
|
-
type
|
|
4834
|
+
type HookSelectArg<T extends PickQueryShape> = (keyof T['shape'] & string)[];
|
|
4739
4835
|
type HookAction = 'Create' | 'Update' | 'Delete';
|
|
4740
4836
|
declare const _queryHookBeforeQuery: <T extends PickQueryShape>(q: T, cb: QueryBeforeHook) => T;
|
|
4741
4837
|
declare const _queryHookAfterQuery: <T extends PickQueryShape>(q: T, cb: QueryAfterHook) => T;
|
|
4742
4838
|
declare const _queryHookBeforeCreate: <T extends PickQueryShape>(q: T, cb: QueryBeforeHook) => T;
|
|
4743
|
-
declare const _queryHookAfterCreate: <T extends PickQueryShape, S extends
|
|
4744
|
-
declare const _queryHookAfterCreateCommit: <T extends PickQueryShape, S extends
|
|
4839
|
+
declare const _queryHookAfterCreate: <T extends PickQueryShape, S extends HookSelectArg<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
|
|
4840
|
+
declare const _queryHookAfterCreateCommit: <T extends PickQueryShape, S extends HookSelectArg<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
|
|
4745
4841
|
declare const _queryHookBeforeUpdate: <T extends PickQueryShape>(q: T, cb: QueryBeforeHook) => T;
|
|
4746
|
-
declare const _queryHookAfterUpdate: <T extends PickQueryShape, S extends
|
|
4747
|
-
declare const _queryHookAfterUpdateCommit: <T extends PickQueryShape, S extends
|
|
4842
|
+
declare const _queryHookAfterUpdate: <T extends PickQueryShape, S extends HookSelectArg<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
|
|
4843
|
+
declare const _queryHookAfterUpdateCommit: <T extends PickQueryShape, S extends HookSelectArg<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
|
|
4748
4844
|
declare const _queryHookBeforeSave: <T extends PickQueryShape>(q: T, cb: QueryBeforeHook) => T;
|
|
4749
|
-
declare const _queryHookAfterSave: <T extends PickQueryShape, S extends
|
|
4750
|
-
declare const _queryAfterSaveCommit: <T extends PickQueryShape, S extends
|
|
4845
|
+
declare const _queryHookAfterSave: <T extends PickQueryShape, S extends HookSelectArg<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
|
|
4846
|
+
declare const _queryAfterSaveCommit: <T extends PickQueryShape, S extends HookSelectArg<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
|
|
4751
4847
|
declare const _queryHookBeforeDelete: <T extends PickQueryShape>(q: T, cb: QueryBeforeHook) => T;
|
|
4752
|
-
declare const _queryHookAfterDelete: <T extends PickQueryShape, S extends
|
|
4753
|
-
declare const _queryHookAfterDeleteCommit: <T extends PickQueryShape, S extends
|
|
4848
|
+
declare const _queryHookAfterDelete: <T extends PickQueryShape, S extends HookSelectArg<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
|
|
4849
|
+
declare const _queryHookAfterDeleteCommit: <T extends PickQueryShape, S extends HookSelectArg<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
|
|
4754
4850
|
declare abstract class QueryHooks {
|
|
4755
4851
|
/**
|
|
4756
4852
|
* Run the function before any kind of query.
|
|
@@ -4781,7 +4877,7 @@ declare abstract class QueryHooks {
|
|
|
4781
4877
|
* @param select - list of columns to select for the hook
|
|
4782
4878
|
* @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
|
|
4783
4879
|
*/
|
|
4784
|
-
afterCreate<T extends PickQueryShape, S extends
|
|
4880
|
+
afterCreate<T extends PickQueryShape, S extends HookSelectArg<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
|
|
4785
4881
|
/**
|
|
4786
4882
|
* Run the function after transaction for a `create` kind of query will be committed.
|
|
4787
4883
|
* If the query wasn't wrapped in a transaction, will run after the query.
|
|
@@ -4789,7 +4885,7 @@ declare abstract class QueryHooks {
|
|
|
4789
4885
|
* @param select - list of columns to select for the hook
|
|
4790
4886
|
* @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
|
|
4791
4887
|
*/
|
|
4792
|
-
afterCreateCommit<T extends PickQueryShape, S extends
|
|
4888
|
+
afterCreateCommit<T extends PickQueryShape, S extends HookSelectArg<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
|
|
4793
4889
|
/**
|
|
4794
4890
|
* Run the function before an `update` kind of query.
|
|
4795
4891
|
*
|
|
@@ -4806,7 +4902,7 @@ declare abstract class QueryHooks {
|
|
|
4806
4902
|
* @param select - list of columns to select for the hook
|
|
4807
4903
|
* @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
|
|
4808
4904
|
*/
|
|
4809
|
-
afterUpdate<T extends PickQueryShape, S extends
|
|
4905
|
+
afterUpdate<T extends PickQueryShape, S extends HookSelectArg<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
|
|
4810
4906
|
/**
|
|
4811
4907
|
* Run the function after transaction for an `update` kind of query will be committed.
|
|
4812
4908
|
* If the query wasn't wrapped in a transaction, will run after the query.
|
|
@@ -4815,7 +4911,7 @@ declare abstract class QueryHooks {
|
|
|
4815
4911
|
* @param select - list of columns to select for the hook
|
|
4816
4912
|
* @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
|
|
4817
4913
|
*/
|
|
4818
|
-
afterUpdateCommit<T extends PickQueryShape, S extends
|
|
4914
|
+
afterUpdateCommit<T extends PickQueryShape, S extends HookSelectArg<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
|
|
4819
4915
|
/**
|
|
4820
4916
|
* Run the function before a `create` or an `update` kind of query.
|
|
4821
4917
|
*
|
|
@@ -4832,7 +4928,7 @@ declare abstract class QueryHooks {
|
|
|
4832
4928
|
* @param select - list of columns to select for the hook
|
|
4833
4929
|
* @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
|
|
4834
4930
|
*/
|
|
4835
|
-
afterSave<T extends PickQueryShape, S extends
|
|
4931
|
+
afterSave<T extends PickQueryShape, S extends HookSelectArg<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
|
|
4836
4932
|
/**
|
|
4837
4933
|
* Run the function after transaction for a `create` or an `update` kind of query will be committed.
|
|
4838
4934
|
* If the query wasn't wrapped in a transaction, will run after the query.
|
|
@@ -4841,7 +4937,7 @@ declare abstract class QueryHooks {
|
|
|
4841
4937
|
* @param select - list of columns to select for the hook
|
|
4842
4938
|
* @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
|
|
4843
4939
|
*/
|
|
4844
|
-
afterSaveCommit<T extends PickQueryShape, S extends
|
|
4940
|
+
afterSaveCommit<T extends PickQueryShape, S extends HookSelectArg<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
|
|
4845
4941
|
/**
|
|
4846
4942
|
* Run the function before a `delete` kind of query.
|
|
4847
4943
|
*
|
|
@@ -4858,7 +4954,7 @@ declare abstract class QueryHooks {
|
|
|
4858
4954
|
* @param select - list of columns to select for the hook
|
|
4859
4955
|
* @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
|
|
4860
4956
|
*/
|
|
4861
|
-
afterDelete<T extends PickQueryShape, S extends
|
|
4957
|
+
afterDelete<T extends PickQueryShape, S extends HookSelectArg<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
|
|
4862
4958
|
/**
|
|
4863
4959
|
* Run the function after transaction for a `delete` kind of query will be committed.
|
|
4864
4960
|
* If the query wasn't wrapped in a transaction, will run after the query.
|
|
@@ -4867,7 +4963,7 @@ declare abstract class QueryHooks {
|
|
|
4867
4963
|
* @param select - list of columns to select for the hook
|
|
4868
4964
|
* @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
|
|
4869
4965
|
*/
|
|
4870
|
-
afterDeleteCommit<T extends PickQueryShape, S extends
|
|
4966
|
+
afterDeleteCommit<T extends PickQueryShape, S extends HookSelectArg<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
|
|
4871
4967
|
}
|
|
4872
4968
|
|
|
4873
4969
|
declare abstract class JsonMethods {
|
|
@@ -4916,7 +5012,7 @@ declare class QueryLog {
|
|
|
4916
5012
|
type MergeQuery<T extends PickQueryMetaResultReturnTypeWithDataWindows, Q extends PickQueryMetaResultReturnTypeWithDataWindows> = {
|
|
4917
5013
|
[K in keyof T]: K extends 'meta' ? {
|
|
4918
5014
|
[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];
|
|
4919
|
-
} : K extends 'result' ? MergeQueryResult<T, Q> : K extends 'returnType' ?
|
|
5015
|
+
} : K extends 'result' ? MergeQueryResult<T, Q> : K extends 'returnType' ? Q['returnType'] extends undefined ? T['returnType'] : Q['returnType'] : K extends 'then' ? QueryThen<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];
|
|
4920
5016
|
};
|
|
4921
5017
|
type MergeQueryResult<T extends PickQueryMetaResult, Q extends PickQueryMetaResult> = T['meta']['hasSelect'] extends true ? Q['meta']['hasSelect'] extends true ? {
|
|
4922
5018
|
[K in keyof T['result'] | keyof Q['result']]: K extends keyof Q['result'] ? Q['result'][K] : T['result'][K];
|
|
@@ -4938,7 +5034,9 @@ type SelectArgs<T extends SelectSelf> = ('*' | keyof T['meta']['selectable'])[];
|
|
|
4938
5034
|
interface SelectAsArg<T extends SelectSelf> {
|
|
4939
5035
|
[K: string]: keyof T['meta']['selectable'] | Expression | ((q: {
|
|
4940
5036
|
[K in keyof T]: K extends keyof T['relations'] ? T['relations'][K]['relationConfig']['methodQuery'] : T[K];
|
|
4941
|
-
}) => QueryBase
|
|
5037
|
+
}) => (QueryBase & {
|
|
5038
|
+
returnType: Exclude<QueryReturnType, 'rows'>;
|
|
5039
|
+
}) | Expression);
|
|
4942
5040
|
}
|
|
4943
5041
|
type SelectResult<T extends SelectSelf, Columns extends PropertyKey[]> = {
|
|
4944
5042
|
[K in keyof T]: K extends 'result' ? ('*' extends Columns[number] ? {
|
|
@@ -4967,9 +5065,9 @@ type SelectResultColumnsAndObj<T extends SelectSelf, Columns extends PropertyKey
|
|
|
4967
5065
|
selectable: SelectAsSelectable<Obj>;
|
|
4968
5066
|
} : K extends 'result' ? // Combine previously selected items, all columns if * was provided,
|
|
4969
5067
|
{
|
|
4970
|
-
[K in ('*' extends Columns[number] ? Exclude<Columns[number], '*'> | keyof T['shape'] : Columns[number]) | keyof Obj as K extends
|
|
5068
|
+
[K in ('*' extends Columns[number] ? Exclude<Columns[number], '*'> | keyof T['shape'] : Columns[number]) | keyof Obj as K extends Columns[number] ? T['meta']['selectable'][K]['as'] : K]: K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : K extends Columns[number] ? T['meta']['selectable'][K]['column'] : never;
|
|
4971
5069
|
} & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown) : K extends 'then' ? QueryThen<GetQueryResult<T, {
|
|
4972
|
-
[K in ('*' extends Columns[number] ? Exclude<Columns[number], '*'> | keyof T['shape'] : Columns[number]) | keyof Obj as K extends
|
|
5070
|
+
[K in ('*' extends Columns[number] ? Exclude<Columns[number], '*'> | keyof T['shape'] : Columns[number]) | keyof Obj as K extends Columns[number] ? T['meta']['selectable'][K]['as'] : K]: K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : K extends Columns[number] ? T['meta']['selectable'][K]['column'] : never;
|
|
4973
5071
|
} & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown)>> : T[K];
|
|
4974
5072
|
};
|
|
4975
5073
|
type SelectAsSelectable<Arg> = {
|
|
@@ -4991,11 +5089,16 @@ type SelectAsSelectable<Arg> = {
|
|
|
4991
5089
|
} : never;
|
|
4992
5090
|
}[keyof Arg];
|
|
4993
5091
|
type SelectAsValueResult<T extends SelectSelf, Arg> = Arg extends keyof T['meta']['selectable'] ? T['meta']['selectable'][Arg]['column'] : Arg extends Expression ? Arg['result']['value'] : Arg extends (q: never) => QueryBase ? SelectSubQueryResult<ReturnType<Arg>> : Arg extends (q: never) => Expression ? ReturnType<Arg>['result']['value'] : Arg extends (q: never) => QueryBase | Expression ? SelectSubQueryResult<Exclude<ReturnType<Arg>, Expression>> | Exclude<ReturnType<Arg>, QueryBase>['result']['value'] : never;
|
|
4994
|
-
type SelectSubQueryResult<Arg extends SelectSelf> =
|
|
5092
|
+
type SelectSubQueryResult<Arg extends SelectSelf> = Arg['returnType'] extends undefined | 'all' ? ColumnsShapeToObjectArray<Arg['result']> : Arg['returnType'] extends 'value' | 'valueOrThrow' ? Arg['result']['value'] : Arg['returnType'] extends 'pluck' ? ColumnsShapeToPluck<Arg['result']> : Arg['returnType'] extends 'one' ? ColumnsShapeToNullableObject<Arg['result']> : ColumnsShapeToObject<Arg['result']>;
|
|
4995
5093
|
declare const addParserForRawExpression: (q: PickQueryQ, key: string | getValueKey, raw: Expression) => void;
|
|
4996
|
-
|
|
4997
|
-
|
|
4998
|
-
|
|
5094
|
+
interface QueryBatchResult {
|
|
5095
|
+
data: any;
|
|
5096
|
+
parent: any;
|
|
5097
|
+
key: PropertyKey;
|
|
5098
|
+
}
|
|
5099
|
+
declare const addParserForSelectItem: <T extends PickQueryMeta>(q: T, as: string | getValueKey | undefined, key: string, arg: SelectableOrExpression<T> | Query) => string | Expression | Query | undefined;
|
|
5100
|
+
declare const processSelectArg: <T extends SelectSelf>(q: T, as: string | undefined, arg: SelectArg<T>, columnAs?: string | getValueKey) => SelectItem | undefined | false;
|
|
5101
|
+
declare const setParserForSelectedString: (q: PickQueryQAndInternal, arg: string, as: string | getValueKey | undefined, columnAs?: string | getValueKey) => string | undefined;
|
|
4999
5102
|
declare const getShapeFromSelect: (q: QueryBase, isSubQuery?: boolean) => QueryColumns;
|
|
5000
5103
|
declare function _querySelect<T extends SelectSelf, Columns extends SelectArgs<T>>(q: T, columns: Columns): SelectResult<T, Columns>;
|
|
5001
5104
|
declare function _querySelect<T extends SelectSelf, Obj extends SelectAsArg<T>>(q: T, obj: Obj): SelectResultObj<T, Obj>;
|
|
@@ -5225,7 +5328,7 @@ declare class SqlMethod<ColumnTypes> {
|
|
|
5225
5328
|
* @return object that has `type` and `values` methods
|
|
5226
5329
|
*/
|
|
5227
5330
|
sql<T = unknown>(this: PickQueryColumnTypes, ...args: StaticSQLArgs): RawSQL<QueryColumn<T>, ColumnTypes>;
|
|
5228
|
-
sql<T = unknown>(this: PickQueryColumnTypes, ...args: [DynamicSQLArg]): DynamicRawSQL<QueryColumn<T>, ColumnTypes>;
|
|
5331
|
+
sql<T = unknown>(this: PickQueryColumnTypes, ...args: [DynamicSQLArg<QueryColumn<T>>]): DynamicRawSQL<QueryColumn<T>, ColumnTypes>;
|
|
5229
5332
|
}
|
|
5230
5333
|
|
|
5231
5334
|
interface WithArgsOptions {
|
|
@@ -5439,7 +5542,7 @@ type UpdateData<T extends UpdateSelf> = {
|
|
|
5439
5542
|
[K in keyof T['inputType'] | keyof T['relations']]?: K extends keyof T['inputType'] ? UpdateColumn<T, K> : UpdateRelationData<T, T['relations'][K]['relationConfig']>;
|
|
5440
5543
|
};
|
|
5441
5544
|
type UpdateColumn<T extends UpdateSelf, Key extends keyof T['inputType']> = T['inputType'][Key] | QueryOrExpression<T['inputType'][Key]> | ((q: T) => QueryOrExpression<T['inputType'][Key]>);
|
|
5442
|
-
type UpdateRelationData<T extends UpdateSelf, Rel extends RelationConfigBase> =
|
|
5545
|
+
type UpdateRelationData<T extends UpdateSelf, Rel extends RelationConfigBase> = T['returnType'] extends undefined | 'all' ? Rel['dataForUpdate'] : Rel['one'] extends true ? Rel['dataForUpdate'] | Rel['dataForUpdateOne'] : Rel['dataForUpdate'] & Rel['dataForUpdateOne'];
|
|
5443
5546
|
type UpdateArg<T extends UpdateSelf> = T['meta']['hasWhere'] extends true ? UpdateData<T> : never;
|
|
5444
5547
|
type UpdateRawArgs<T extends UpdateSelf> = T['meta']['hasWhere'] extends true ? SQLQueryArgs : never;
|
|
5445
5548
|
type UpdateResult<T extends UpdateSelf> = T['meta']['hasSelect'] extends true ? SetQueryKind<T, 'update'> : SetQueryReturnsRowCount<T, 'update'>;
|
|
@@ -6327,10 +6430,10 @@ declare class QueryMap {
|
|
|
6327
6430
|
*
|
|
6328
6431
|
* @param fn - function to transform an individual record
|
|
6329
6432
|
*/
|
|
6330
|
-
map<T extends Query, Result extends RecordUnknown>(this: T, fn: (input:
|
|
6433
|
+
map<T extends Query, Result extends RecordUnknown>(this: T, fn: (input: T['returnType'] extends undefined | 'all' ? T['then'] extends QueryThen<(infer Data)[]> ? Data : never : T['then'] extends QueryThen<infer Data> ? Data : never) => Result): {
|
|
6331
6434
|
[K in keyof T]: K extends 'result' ? {
|
|
6332
6435
|
[K in keyof Result]: QueryColumn<Result[K]>;
|
|
6333
|
-
} : K extends 'then' ? QueryThen<
|
|
6436
|
+
} : K extends 'then' ? QueryThen<T['returnType'] extends undefined | 'all' ? Result[] : Result> : T[K];
|
|
6334
6437
|
};
|
|
6335
6438
|
}
|
|
6336
6439
|
|
|
@@ -6352,11 +6455,13 @@ type OrderArg<T extends OrderArgSelf> = OrderArgKey<T> | OrderArgTsQuery<T> | {
|
|
|
6352
6455
|
} | Expression;
|
|
6353
6456
|
type OrderArgs<T extends OrderArgSelf> = OrderArg<T>[];
|
|
6354
6457
|
type OrderArgTsQuery<T extends OrderArgSelf> = string | undefined extends T['meta']['tsQuery'] ? never : Exclude<T['meta']['tsQuery'], undefined>;
|
|
6355
|
-
type OrderArgKey<T extends OrderArgSelf> =
|
|
6356
|
-
[K in keyof T['
|
|
6458
|
+
type OrderArgKey<T extends OrderArgSelf> = {
|
|
6459
|
+
[K in keyof T['meta']['selectable']]: T['meta']['selectable'][K]['column']['queryType'] extends undefined ? never : K;
|
|
6460
|
+
}[keyof T['meta']['selectable']] | {
|
|
6461
|
+
[K in keyof T['result']]: T['result'][K]['dataType'] extends 'array' | 'object' | 'runtimeComputed' ? never : K;
|
|
6357
6462
|
}[keyof T['result']];
|
|
6358
6463
|
type GroupArgs<T extends PickQueryResult> = ({
|
|
6359
|
-
[K in keyof T['result']]: T['result'][K]['dataType'] extends 'array' | 'object' ? never : K;
|
|
6464
|
+
[K in keyof T['result']]: T['result'][K]['dataType'] extends 'array' | 'object' | 'runtimeComputed' ? never : K;
|
|
6360
6465
|
}[keyof T['result']] | Expression)[];
|
|
6361
6466
|
interface QueryHelper<T extends PickQueryMetaShape, Args extends unknown[], Result> {
|
|
6362
6467
|
<Q extends {
|
|
@@ -6935,14 +7040,14 @@ declare class QueryMethods<ColumnTypes> {
|
|
|
6935
7040
|
}
|
|
6936
7041
|
|
|
6937
7042
|
declare const queryMethodByReturnType: {
|
|
6938
|
-
[K in
|
|
7043
|
+
[K in string]: 'query' | 'arrays';
|
|
6939
7044
|
};
|
|
6940
7045
|
declare class Then {
|
|
6941
7046
|
catch(this: Query, fn: (reason: any) => unknown): Promise<unknown>;
|
|
6942
7047
|
}
|
|
6943
|
-
declare const handleResult:
|
|
6944
|
-
declare const
|
|
6945
|
-
declare const
|
|
7048
|
+
declare const handleResult: HandleResult;
|
|
7049
|
+
declare const parseRecord: (parsers: ColumnsParsers, row: any) => unknown;
|
|
7050
|
+
declare const filterResult: (q: Query, returnType: QueryReturnType, queryResult: QueryResult, result: unknown, tempColumns: Set<string> | undefined, hasAfterHook?: unknown) => unknown;
|
|
6946
7051
|
|
|
6947
7052
|
declare function queryJson<T>(self: T, coalesce?: boolean): SetQueryReturnsColumnOptional<T, QueryColumn<string>>;
|
|
6948
7053
|
|
|
@@ -7082,20 +7187,9 @@ type SelectableOrExpressionOfType<T extends PickQueryMeta, C extends PickType> =
|
|
|
7082
7187
|
interface QueryWithTable extends Query {
|
|
7083
7188
|
table: string;
|
|
7084
7189
|
}
|
|
7085
|
-
declare const queryTypeWithLimitOne:
|
|
7086
|
-
all: true | undefined;
|
|
7087
|
-
one: true | undefined;
|
|
7088
|
-
oneOrThrow: true | undefined;
|
|
7089
|
-
rows: true | undefined;
|
|
7090
|
-
pluck: true | undefined;
|
|
7091
|
-
value: true | undefined;
|
|
7092
|
-
valueOrThrow: true | undefined;
|
|
7093
|
-
rowCount: true | undefined;
|
|
7094
|
-
void: true | undefined;
|
|
7095
|
-
};
|
|
7190
|
+
declare const queryTypeWithLimitOne: RecordKeyTrue;
|
|
7096
7191
|
declare const isQueryReturnsAll: (q: Query) => boolean;
|
|
7097
|
-
type
|
|
7098
|
-
type GetQueryResult<T extends PickQueryReturnType, Result extends QueryColumns> = QueryReturnsAll<T['returnType']> extends true ? ColumnShapeOutput<Result>[] : T['returnType'] extends 'one' ? ColumnShapeOutput<Result> | undefined : T['returnType'] extends 'oneOrThrow' ? ColumnShapeOutput<Result> : T['returnType'] extends 'value' ? Result['value']['outputType'] | undefined : T['returnType'] extends 'valueOrThrow' ? Result['value']['outputType'] : T['returnType'] extends 'rows' ? ColumnShapeOutput<Result>[keyof Result][][] : T['returnType'] extends 'pluck' ? Result['pluck']['outputType'][] : T['returnType'] extends 'rowCount' ? number : void;
|
|
7192
|
+
type GetQueryResult<T extends PickQueryReturnType, Result extends QueryColumns> = T['returnType'] extends undefined | 'all' ? ColumnShapeOutput<Result>[] : T['returnType'] extends 'one' ? ColumnShapeOutput<Result> | undefined : T['returnType'] extends 'oneOrThrow' ? ColumnShapeOutput<Result> : T['returnType'] extends 'value' ? Result['value']['outputType'] | undefined : T['returnType'] extends 'valueOrThrow' ? Result['value']['outputType'] : T['returnType'] extends 'rows' ? ColumnShapeOutput<Result>[keyof Result][][] : T['returnType'] extends 'pluck' ? Result['pluck']['outputType'][] : T['returnType'] extends 'rowCount' ? number : void;
|
|
7099
7193
|
type AddQuerySelect<T extends PickQueryMetaResultReturnType, Result extends QueryColumns> = {
|
|
7100
7194
|
[K in keyof T]: K extends 'result' ? {
|
|
7101
7195
|
[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;
|
|
@@ -7669,6 +7763,7 @@ declare abstract class VirtualColumn<Schema extends ColumnSchemaConfig, InputSch
|
|
|
7669
7763
|
}
|
|
7670
7764
|
|
|
7671
7765
|
declare class UnknownColumn<Schema extends ColumnSchemaConfig> extends VirtualColumn<Schema> {
|
|
7766
|
+
static instance: UnknownColumn<DefaultSchemaConfig>;
|
|
7672
7767
|
constructor(schema: Schema);
|
|
7673
7768
|
}
|
|
7674
7769
|
|
|
@@ -7773,23 +7868,6 @@ declare const testTransaction: {
|
|
|
7773
7868
|
close(arg: Arg): Promise<void>;
|
|
7774
7869
|
};
|
|
7775
7870
|
|
|
7776
|
-
interface ComputedColumnsBase<T extends PickQueryTableMetaShape> {
|
|
7777
|
-
[K: string]: (q: T) => Expression;
|
|
7778
|
-
}
|
|
7779
|
-
type QueryWithComputed<T extends PickQueryTableMetaShape, Computed extends ComputedColumnsBase<T>, Shape extends QueryColumns = {
|
|
7780
|
-
[K in keyof Computed]: ReturnType<Computed[K]>['result']['value'];
|
|
7781
|
-
}> = {
|
|
7782
|
-
[K in keyof T]: K extends 'shape' ? T['shape'] & Shape : K extends 'meta' ? T['meta'] & {
|
|
7783
|
-
selectable: SelectableFromShape<Shape, T['table']>;
|
|
7784
|
-
} : T[K];
|
|
7785
|
-
};
|
|
7786
|
-
declare module 'orchid-core' {
|
|
7787
|
-
interface ColumnDataBase {
|
|
7788
|
-
computed?: Expression;
|
|
7789
|
-
}
|
|
7790
|
-
}
|
|
7791
|
-
declare function addComputedColumns<T extends PickQueryTableMetaShape, Computed extends ComputedColumnsBase<T>>(q: T, computed: Computed): QueryWithComputed<T, Computed>;
|
|
7792
|
-
|
|
7793
7871
|
/**
|
|
7794
7872
|
* Result type for `columnInfo` method.
|
|
7795
7873
|
* Sets query kind to 'columnInfo', returns a single value (may return undefined),
|
|
@@ -7886,4 +7964,4 @@ type CopyResult<T extends PickQueryMeta> = SetQueryKind<T, 'copy'>;
|
|
|
7886
7964
|
*/
|
|
7887
7965
|
declare function copyTableData<T extends PickQueryMetaShape>(query: T, arg: CopyArg<T>): CopyResult<T>;
|
|
7888
7966
|
|
|
7889
|
-
export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AddQuerySelect, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanQueryColumn, BoxColumn, ByteaColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, CloneSelfKeys, ColumnData, ColumnFromDbParams, ColumnInfoQueryData, ColumnOperators, ColumnRefExpression, ColumnType, ColumnsByType, ColumnsShape, ColumnsShapeToNullableObject, ColumnsShapeToObject, ColumnsShapeToObjectArray, ColumnsShapeToPluck, CommonQueryData,
|
|
7967
|
+
export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AddQuerySelect, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanQueryColumn, BoxColumn, ByteaColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, CloneSelfKeys, ColumnData, ColumnFromDbParams, ColumnInfoQueryData, ColumnOperators, ColumnRefExpression, ColumnType, ColumnsByType, ColumnsShape, ColumnsShapeToNullableObject, ColumnsShapeToObject, ColumnsShapeToObjectArray, ColumnsShapeToPluck, CommonQueryData, ComputedColumn, ComputedColumns, ComputedColumnsFromOptions, ComputedMethods, ComputedOptionsFactory, 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, HandleResult, Having, HavingItem, HookAction, HookSelectArg, IdentityColumn, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, Join, JoinArgToQuery, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinItemArgs, 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, QueryBatchResult, QueryBeforeHook, QueryComputedArg, QueryData, QueryDataFromItem, QueryDataJoinTo, QueryDefaultReturnData, QueryError, QueryErrorName, QueryGet, QueryGetSelf, QueryHelperResult, QueryHookSelect, QueryHooks, QueryInternal, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMetaHasSelect, QueryMetaHasWhere, QueryMethods, QueryOrExpression, QueryOrExpressionBooleanOrNullResult, QueryResult, QueryScopeData, QueryScopes, QuerySourceItem, QueryUpsertOrCreate, QueryWithTable, RawSQL, RealColumn, RecordOfColumnsShapeBase, RefExpression, RelationConfigBase, RelationConfigDataForCreate, RelationJoinQuery, RelationQuery, RelationQueryBase, RelationsBase, RuntimeComputedQueryColumn, SearchArg, SearchMethods, SearchWeight, SearchWeightRecord, Select, SelectArg, SelectArgs, SelectAs, SelectAsValue, 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, WithConfigs, 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, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, applyComputedColumns, checkIfASimpleQuery, cloneQuery, cloneQueryBaseUnscoped, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, commitSql, constraintInnerToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, extendQuery, filterResult, 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, parseTableData, parseTableDataInput, primaryKeyInnerToCode, processComputedBatches, processComputedResult, 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 };
|