pqb 0.11.26 → 0.11.28
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 +143 -100
- package/dist/index.js +140 -27
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +140 -27
- 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 { Sql, QueryBaseCommon, ColumnsShapeBase, QueryInternal, QueryMetaBase, EmptyObject, RawExpression, ColumnTypeBase, MaybeArray, QueryResultRow, AdapterBase, QueryInput, StringKey, ColumnOutput,
|
|
2
|
+
import { Sql, QueryBaseCommon, ColumnsShapeBase, QueryInternal, QueryMetaBase, EmptyObject, RawExpression, ColumnTypeBase, MaybeArray, QueryResultRow, AdapterBase, QueryInput, StringKey, ColumnOutput, QueryThen, QueryCatch, NullableColumn, EmptyTuple, ColumnTypesBase, ColumnShapeOutput, DefaultSelectColumns, DbBase, SetOptional, Spread, CoalesceString, QueryCommon, BaseNumberData, Code, ColumnWithDefault, numberTypeMethods, BaseStringData, PrimaryKeyColumn, DateColumnData, EncodeColumn, ParseColumn, dateTypeMethods, JSONTypeAny, record, ArrayMethodsData, arrayMethods, name, ColumnDataBase, BaseOperators, HiddenColumn, ValidationContext, MessageParam } from 'orchid-core';
|
|
3
3
|
import { PoolConfig, Pool, PoolClient } from 'pg';
|
|
4
4
|
import { inspect } from 'util';
|
|
5
5
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
@@ -25,7 +25,7 @@ declare const makeSql: (table: Query, options?: ToSqlOptionsInternal) => Sql;
|
|
|
25
25
|
|
|
26
26
|
declare abstract class QueryBase implements QueryBaseCommon {
|
|
27
27
|
clone<T extends QueryBase>(this: T): T;
|
|
28
|
-
abstract result:
|
|
28
|
+
abstract result: ColumnsShapeBase;
|
|
29
29
|
query: QueryData;
|
|
30
30
|
table?: string;
|
|
31
31
|
selectable: SelectableBase;
|
|
@@ -457,17 +457,17 @@ type Expression<T extends Query = Query, C extends ColumnTypeBase = ColumnTypeBa
|
|
|
457
457
|
type ExpressionOfType<T extends Query, C extends ColumnTypeBase, Type> = {
|
|
458
458
|
[K in keyof T['selectable']]: ColumnOutput<T['selectable'][K]['column']> extends Type | null ? K : never;
|
|
459
459
|
}[Selectable<T>] | RawExpression<C>;
|
|
460
|
-
type NumberExpression<T extends Query, C extends
|
|
461
|
-
type StringExpression<T extends Query, C extends
|
|
462
|
-
type BooleanExpression<T extends Query, C extends
|
|
463
|
-
type ExpressionOutput<T extends Query, Expr extends Expression<T>> = Expr extends keyof T['selectable'] ? T['selectable'][Expr]['column'] : Expr extends RawExpression<infer
|
|
460
|
+
type NumberExpression<T extends Query, C extends ColumnTypeBase = ColumnTypeBase> = ExpressionOfType<T, C, number>;
|
|
461
|
+
type StringExpression<T extends Query, C extends ColumnTypeBase = ColumnTypeBase> = ExpressionOfType<T, C, string>;
|
|
462
|
+
type BooleanExpression<T extends Query, C extends ColumnTypeBase = ColumnTypeBase> = ExpressionOfType<T, C, boolean>;
|
|
463
|
+
type ExpressionOutput<T extends Query, Expr extends Expression<T>> = Expr extends keyof T['selectable'] ? T['selectable'][Expr]['column'] : Expr extends RawExpression<infer ColumnTypeBase> ? ColumnTypeBase : never;
|
|
464
464
|
|
|
465
465
|
declare const queryMethodByReturnType: Record<QueryReturnType, 'query' | 'arrays'>;
|
|
466
466
|
type Resolve = (result: any) => any;
|
|
467
467
|
type Reject = (error: any) => any;
|
|
468
468
|
declare class Then {
|
|
469
469
|
get then(): typeof maybeWrappedThen;
|
|
470
|
-
catch
|
|
470
|
+
catch(this: Query, fn: (reason: any) => unknown): Promise<any>;
|
|
471
471
|
}
|
|
472
472
|
declare const handleResult: CommonQueryData['handleResult'];
|
|
473
473
|
declare function maybeWrappedThen(this: Query, resolve?: Resolve, reject?: Reject): Promise<any>;
|
|
@@ -496,12 +496,12 @@ type SelectResult<T extends Query, Args extends SelectArg<T>[], SelectStringsRes
|
|
|
496
496
|
T['selectable']
|
|
497
497
|
]>, AsKeys extends keyof SelectAsResult[0] = keyof SelectAsResult[0], ResultKeys extends keyof T['result'] = T['meta']['hasSelect'] extends true ? keyof T['result'] : never, ShapeKeys extends keyof T['shape'] = '*' extends Args[number] ? keyof T['shape'] : never, Result extends ColumnsShapeBase = {
|
|
498
498
|
[K in StringsKeys | AsKeys | ResultKeys | ShapeKeys]: K extends StringsKeys ? SelectStringsResult[K] : K extends AsKeys ? SelectAsResult[0][K] : K extends ResultKeys ? T['result'][K] : K extends ShapeKeys ? T['shape'][K] : never;
|
|
499
|
-
}
|
|
499
|
+
}, Data = GetQueryResult<T['returnType'], Result>> = (T['meta']['hasSelect'] extends true ? unknown : {
|
|
500
500
|
meta: {
|
|
501
501
|
hasSelect: true;
|
|
502
502
|
};
|
|
503
503
|
}) & {
|
|
504
|
-
[K in keyof T]: K extends 'result' ? Result : K extends 'then' ? QueryThen<
|
|
504
|
+
[K in keyof T]: K extends 'result' ? Result : K extends 'then' ? QueryThen<Data> : K extends 'catch' ? QueryCatch<Data> : K extends 'selectable' ? SelectAsResult[1] : T[K];
|
|
505
505
|
};
|
|
506
506
|
type SelectStringArgsResult<T extends Query, Args extends SelectArg<T>[]> = {
|
|
507
507
|
[Arg in Args[number] as Arg extends keyof T['selectable'] ? T['selectable'][Arg]['as'] : never]: Arg extends keyof T['selectable'] ? T['selectable'][Arg]['column'] : never;
|
|
@@ -543,22 +543,22 @@ type FromArgs<T extends Query> = [
|
|
|
543
543
|
second?: {
|
|
544
544
|
only?: boolean;
|
|
545
545
|
}
|
|
546
|
-
];
|
|
547
|
-
type FromResult<T extends Query, Args extends FromArgs<T
|
|
546
|
+
] | [TemplateStringsArray, ...unknown[]];
|
|
547
|
+
type FromResult<T extends Query, Args extends FromArgs<T>> = Args extends TemplateStringsArray ? T : Args[0] extends string ? T['withData'] extends Record<string, WithDataItem> ? Args[0] extends keyof T['withData'] ? Omit<T, 'meta' | 'selectable'> & {
|
|
548
548
|
meta: Omit<T['meta'], 'as'> & {
|
|
549
549
|
as?: string;
|
|
550
550
|
};
|
|
551
|
-
selectable: SelectableFromShape<T['withData'][
|
|
552
|
-
} : SetQueryTableAlias<T,
|
|
551
|
+
selectable: SelectableFromShape<T['withData'][Args[0]]['shape'], Args[0]>;
|
|
552
|
+
} : SetQueryTableAlias<T, Args[0]> : SetQueryTableAlias<T, Args[0]> : Args[0] extends Query ? FromQueryResult<T, Args[0]> : T;
|
|
553
553
|
type FromQueryResult<T extends Query, Q extends Query, Selectable extends SelectableBase = {
|
|
554
554
|
[K in keyof Q['result']]: K extends string ? {
|
|
555
555
|
as: K;
|
|
556
556
|
column: Q['result'][K];
|
|
557
557
|
} : never;
|
|
558
|
-
}
|
|
558
|
+
}, Data = GetQueryResult<T['returnType'], Q['result']>> = {
|
|
559
559
|
[K in keyof T]: K extends 'meta' ? Omit<T['meta'], 'hasSelect' | 'as'> & {
|
|
560
560
|
as: AliasOrTable<Q>;
|
|
561
|
-
} : K extends 'selectable' ? Selectable : K extends 'result' | 'shape' ? Q['result'] : K extends 'then' ? QueryThen<
|
|
561
|
+
} : K extends 'selectable' ? Selectable : K extends 'result' | 'shape' ? Q['result'] : K extends 'then' ? QueryThen<Data> : K extends 'catch' ? QueryCatch<Data> : T[K];
|
|
562
562
|
};
|
|
563
563
|
declare class From {
|
|
564
564
|
from<T extends Query, Args extends FromArgs<T>>(this: T, ...args: Args): FromResult<T, Args>;
|
|
@@ -575,6 +575,7 @@ type WhereArg<T extends QueryBase> = (Omit<{
|
|
|
575
575
|
values: unknown[][] | Query | RawExpression;
|
|
576
576
|
}>;
|
|
577
577
|
}) | QueryBase | RawExpression | ((q: WhereQueryBuilder<T>) => WhereQueryBuilder);
|
|
578
|
+
type WhereArgs<T extends QueryBase> = WhereArg<T>[] | [TemplateStringsArray, ...unknown[]];
|
|
578
579
|
type WhereInColumn<T extends QueryBase> = keyof T['selectable'] | [keyof T['selectable'], ...(keyof T['selectable'])[]];
|
|
579
580
|
type WhereInValues<T extends QueryBase, Column extends WhereInColumn<T>> = Column extends keyof T['selectable'] ? T['selectable'][Column]['column']['type'][] | Query | RawExpression : ({
|
|
580
581
|
[I in keyof Column]: Column[I] extends keyof T['selectable'] ? T['selectable'][Column[I]]['column']['type'] : never;
|
|
@@ -591,20 +592,20 @@ type WhereResult<T extends QueryBase> = T & {
|
|
|
591
592
|
type WhereInArg<T extends Pick<Query, 'selectable'>> = {
|
|
592
593
|
[K in keyof T['selectable']]?: T['selectable'][K]['column']['type'][] | Query | RawExpression;
|
|
593
594
|
};
|
|
594
|
-
declare const addWhere: <T extends Where>(q: T, args:
|
|
595
|
-
declare const addWhereNot: <T extends QueryBase>(q: T, args:
|
|
595
|
+
declare const addWhere: <T extends Where>(q: T, args: WhereArgs<T>) => WhereResult<T>;
|
|
596
|
+
declare const addWhereNot: <T extends QueryBase>(q: T, args: WhereArgs<T>) => WhereResult<T>;
|
|
596
597
|
declare const addOr: <T extends QueryBase>(q: T, args: WhereArg<T>[]) => WhereResult<T>;
|
|
597
598
|
declare const addOrNot: <T extends QueryBase>(q: T, args: WhereArg<T>[]) => WhereResult<T>;
|
|
598
599
|
declare const addWhereIn: <T extends QueryBase>(q: T, and: boolean, arg: unknown, values: unknown[] | unknown[][] | Query | RawExpression | undefined, not?: boolean) => WhereResult<T>;
|
|
599
600
|
declare abstract class Where extends QueryBase {
|
|
600
|
-
where<T extends Where>(this: T, ...args:
|
|
601
|
-
_where<T extends Where>(this: T, ...args:
|
|
602
|
-
whereNot<T extends Where>(this: T, ...args:
|
|
603
|
-
_whereNot<T extends Where>(this: T, ...args:
|
|
604
|
-
and<T extends Where>(this: T, ...args:
|
|
605
|
-
_and<T extends Where>(this: T, ...args:
|
|
606
|
-
andNot<T extends Where>(this: T, ...args:
|
|
607
|
-
_andNot<T extends Where>(this: T, ...args:
|
|
601
|
+
where<T extends Where>(this: T, ...args: WhereArgs<T>): WhereResult<T>;
|
|
602
|
+
_where<T extends Where>(this: T, ...args: WhereArgs<T>): WhereResult<T>;
|
|
603
|
+
whereNot<T extends Where>(this: T, ...args: WhereArgs<T>): WhereResult<T>;
|
|
604
|
+
_whereNot<T extends Where>(this: T, ...args: WhereArgs<T>): WhereResult<T>;
|
|
605
|
+
and<T extends Where>(this: T, ...args: WhereArgs<T>): WhereResult<T>;
|
|
606
|
+
_and<T extends Where>(this: T, ...args: WhereArgs<T>): WhereResult<T>;
|
|
607
|
+
andNot<T extends Where>(this: T, ...args: WhereArgs<T>): WhereResult<T>;
|
|
608
|
+
_andNot<T extends Where>(this: T, ...args: WhereArgs<T>): WhereResult<T>;
|
|
608
609
|
or<T extends Where>(this: T, ...args: WhereArg<T>[]): WhereResult<T>;
|
|
609
610
|
_or<T extends Where>(this: T, ...args: WhereArg<T>[]): WhereResult<T>;
|
|
610
611
|
orNot<T extends Where>(this: T, ...args: WhereArg<T>[]): WhereResult<T>;
|
|
@@ -691,7 +692,7 @@ type JoinLateralResult<T extends Query, R extends QueryBase, RequireJoined exten
|
|
|
691
692
|
}>> = RequireMain extends true ? JoinAddSelectable<T, Selectable> : JoinOptionalMain<T, Selectable>;
|
|
692
693
|
type JoinResultSelectable<J extends Pick<Query, 'result' | 'table' | 'meta'>, RequireJoined extends boolean, CbResult extends {
|
|
693
694
|
meta: QueryMetaBase;
|
|
694
|
-
}, Result extends
|
|
695
|
+
}, Result extends ColumnsShapeBase = RequireJoined extends true ? J['result'] : {
|
|
695
696
|
[K in keyof J['result']]: NullableColumn<J['result'][K]>;
|
|
696
697
|
}, As extends string = CbResult extends {
|
|
697
698
|
meta: QueryMetaBase & {
|
|
@@ -711,15 +712,15 @@ type JoinResultSelectable<J extends Pick<Query, 'result' | 'table' | 'meta'>, Re
|
|
|
711
712
|
type JoinAddSelectable<T extends Query, Selectable extends SelectableBase> = {
|
|
712
713
|
[K in keyof T]: K extends 'selectable' ? T['selectable'] & Selectable : T[K];
|
|
713
714
|
};
|
|
714
|
-
type JoinOptionalMain<T extends Query, Selectable extends SelectableBase, Result extends
|
|
715
|
+
type JoinOptionalMain<T extends Query, Selectable extends SelectableBase, Result extends ColumnsShapeBase = {
|
|
715
716
|
[K in keyof T['result']]: NullableColumn<T['result'][K]>;
|
|
716
|
-
}
|
|
717
|
+
}, Data = GetQueryResult<T['returnType'], Result>> = {
|
|
717
718
|
[K in keyof T]: K extends 'selectable' ? {
|
|
718
719
|
[K in keyof T['selectable']]: {
|
|
719
720
|
as: T['selectable'][K]['as'];
|
|
720
721
|
column: NullableColumn<T['selectable'][K]['column']>;
|
|
721
722
|
};
|
|
722
|
-
} & Selectable : K extends 'result' ? Result : K extends 'then' ? QueryThen<
|
|
723
|
+
} & Selectable : K extends 'result' ? Result : K extends 'then' ? QueryThen<Data> : K extends 'catch' ? QueryCatch<Data> : T[K];
|
|
723
724
|
};
|
|
724
725
|
type JoinWithArgToQuery<With extends WithDataItem, Selectable extends SelectableBase = {
|
|
725
726
|
[K in keyof With['shape']]: {
|
|
@@ -862,7 +863,7 @@ type DbTableOptions = {
|
|
|
862
863
|
snakeCase?: boolean;
|
|
863
864
|
} & QueryLogOptions;
|
|
864
865
|
declare const anyShape: Record<string, ColumnType<unknown, orchid_core.BaseOperators, unknown>>;
|
|
865
|
-
interface Db<Table extends string | undefined = undefined, Shape extends ColumnsShape = Record<string, never>, Relations extends Query['relations'] = Query['relations'], CT extends ColumnTypesBase = DefaultColumnTypes> extends DbBase<Adapter, Table, Shape, CT>, QueryMethods {
|
|
866
|
+
interface Db<Table extends string | undefined = undefined, Shape extends ColumnsShape = Record<string, never>, Relations extends Query['relations'] = Query['relations'], CT extends ColumnTypesBase = DefaultColumnTypes, Data = Pick<ColumnShapeOutput<Shape>, DefaultSelectColumns<Shape>[number]>[]> extends DbBase<Adapter, Table, Shape, CT>, QueryMethods {
|
|
866
867
|
new (adapter: Adapter, queryBuilder: Db<Table, Shape, Relations, CT>, table?: Table, shape?: Shape, options?: DbTableOptions): this;
|
|
867
868
|
queryBuilder: Db;
|
|
868
869
|
whereQueryBuilder: Query['whereQueryBuilder'];
|
|
@@ -871,7 +872,8 @@ interface Db<Table extends string | undefined = undefined, Shape extends Columns
|
|
|
871
872
|
query: QueryData;
|
|
872
873
|
selectable: SelectableFromShape<Shape, Table>;
|
|
873
874
|
returnType: Query['returnType'];
|
|
874
|
-
then:
|
|
875
|
+
then: QueryThen<Data>;
|
|
876
|
+
catch: QueryCatch<Data>;
|
|
875
877
|
windows: Query['windows'];
|
|
876
878
|
defaultSelectColumns: DefaultSelectColumns<Shape>;
|
|
877
879
|
relations: Relations;
|
|
@@ -906,16 +908,16 @@ declare const createDb: <CT extends Record<string, orchid_core.AnyColumnTypeCrea
|
|
|
906
908
|
type WithArgsOptions = Omit<WithOptions, 'columns'> & {
|
|
907
909
|
columns?: boolean | string[];
|
|
908
910
|
};
|
|
909
|
-
type WithArgs = [string,
|
|
910
|
-
type WithShape<Args extends WithArgs> = Args[1] extends Query ? Args[1]['result'] : Args[1] extends (qb: Db) => Query ? ReturnType<Args[1]>['result'] : Args[2] extends Query ? Args[2]['result'] : Args[2] extends (qb: Db) => Query ? ReturnType<Args[2]>['result'] : Args[1] extends
|
|
911
|
-
type WithResult<T extends Query, Args extends WithArgs, Shape extends
|
|
911
|
+
type WithArgs = [string, ColumnsShapeBase, RawExpression] | [string, WithArgsOptions, ColumnsShapeBase, RawExpression] | [string, Query | ((qb: Db) => Query)] | [string, WithArgsOptions, Query | ((qb: Db) => Query)];
|
|
912
|
+
type WithShape<Args extends WithArgs> = Args[1] extends Query ? Args[1]['result'] : Args[1] extends (qb: Db) => Query ? ReturnType<Args[1]>['result'] : Args[2] extends Query ? Args[2]['result'] : Args[2] extends (qb: Db) => Query ? ReturnType<Args[2]>['result'] : Args[1] extends ColumnsShapeBase ? Args[1] : Args[2] extends ColumnsShapeBase ? Args[2] : Args[2] extends (t: ColumnTypes) => ColumnsShapeBase ? ReturnType<Args[2]> extends ColumnsShapeBase ? ReturnType<Args[2]> : never : never;
|
|
913
|
+
type WithResult<T extends Query, Args extends WithArgs, Shape extends ColumnsShapeBase> = AddQueryWith<T, {
|
|
912
914
|
table: Args[0];
|
|
913
915
|
shape: Shape;
|
|
914
916
|
type: ColumnShapeOutput<Shape>;
|
|
915
917
|
}>;
|
|
916
918
|
declare class With {
|
|
917
|
-
with<T extends Query, Args extends WithArgs, Shape extends
|
|
918
|
-
_with<T extends Query, Args extends WithArgs, Shape extends
|
|
919
|
+
with<T extends Query, Args extends WithArgs, Shape extends ColumnsShapeBase = WithShape<Args>>(this: T, ...args: Args): WithResult<T, Args, Shape>;
|
|
920
|
+
_with<T extends Query, Args extends WithArgs, Shape extends ColumnsShapeBase = WithShape<Args>>(this: T, ...args: Args): WithResult<T, Args, Shape>;
|
|
919
921
|
}
|
|
920
922
|
|
|
921
923
|
type UnionArg<T extends Query> = (Omit<Query, 'result'> & {
|
|
@@ -1272,11 +1274,12 @@ type HavingArg<T extends Query = Query> = ({
|
|
|
1272
1274
|
} & {
|
|
1273
1275
|
count?: number | HavingArgObject<T, 'count'>;
|
|
1274
1276
|
}) | Query | RawExpression;
|
|
1277
|
+
type HavingArgs<T extends Query> = [...args: HavingArg<T>[]] | [TemplateStringsArray, ...unknown[]];
|
|
1275
1278
|
declare class Having {
|
|
1276
|
-
having<T extends Query>(this: T, ...args:
|
|
1277
|
-
_having<T extends Query>(this: T, ...args:
|
|
1278
|
-
havingOr<T extends Query>(this: T, ...args:
|
|
1279
|
-
_havingOr<T extends Query>(this: T, ...args:
|
|
1279
|
+
having<T extends Query>(this: T, ...args: HavingArgs<T>): T;
|
|
1280
|
+
_having<T extends Query>(this: T, ...args: HavingArgs<T>): T;
|
|
1281
|
+
havingOr<T extends Query>(this: T, ...args: HavingArgs<T>): T;
|
|
1282
|
+
_havingOr<T extends Query>(this: T, ...args: HavingArgs<T>): T;
|
|
1280
1283
|
}
|
|
1281
1284
|
|
|
1282
1285
|
declare class Window {
|
|
@@ -1364,11 +1367,12 @@ declare class QueryUpsertOrCreate {
|
|
|
1364
1367
|
_orCreate<T extends UpsertThis>(this: T, data: UpsertCreateArg<T>): UpsertResult<T>;
|
|
1365
1368
|
}
|
|
1366
1369
|
|
|
1367
|
-
type MergeQuery<T extends Query, Q extends Query, ReturnType extends QueryReturnType = QueryReturnType extends Q['returnType'] ? T['returnType'] : Q['returnType']
|
|
1370
|
+
type MergeQuery<T extends Query, Q extends Query, ReturnType extends QueryReturnType = QueryReturnType extends Q['returnType'] ? T['returnType'] : Q['returnType'], Data = T['meta']['hasSelect'] extends true ? GetQueryResult<ReturnType, Spread<[T['result'], Q['result']]>> : GetQueryResult<ReturnType, Q['result']>> = Omit<T, 'result' | 'returnType' | 'then' | 'catch' | 'selectable' | 'windows' | 'withData'> & {
|
|
1368
1371
|
meta: Q['meta'];
|
|
1369
1372
|
result: T['meta']['hasSelect'] extends true ? Spread<[T['result'], Q['result']]> : Q['result'];
|
|
1370
1373
|
returnType: ReturnType;
|
|
1371
|
-
then:
|
|
1374
|
+
then: QueryThen<Data>;
|
|
1375
|
+
catch: QueryCatch<Data>;
|
|
1372
1376
|
selectable: T['selectable'] & Q['selectable'];
|
|
1373
1377
|
windows: T['windows'] & Q['windows'];
|
|
1374
1378
|
withData: T['withData'] & Q['withData'];
|
|
@@ -1378,8 +1382,36 @@ declare class MergeQueryMethods {
|
|
|
1378
1382
|
_merge<T extends Query, Q extends Query>(this: T, q: Q): MergeQuery<T, Q>;
|
|
1379
1383
|
}
|
|
1380
1384
|
|
|
1385
|
+
type SqlArgs<T extends Query> = SqlColumnArgs<T> | SqlNoColumnArgs;
|
|
1386
|
+
type SqlColumnArgs<T extends Query> = [column: ColumnFn<T>, params?: {
|
|
1387
|
+
raw?: string;
|
|
1388
|
+
values?: Values;
|
|
1389
|
+
}];
|
|
1390
|
+
type SqlColumnArgsWithSQL<T extends Query> = [column: ColumnFn<T>, params: {
|
|
1391
|
+
raw: string;
|
|
1392
|
+
}];
|
|
1393
|
+
type SqlNoColumnArgs = [params: {
|
|
1394
|
+
raw: string;
|
|
1395
|
+
values?: Values;
|
|
1396
|
+
}] | [params: {
|
|
1397
|
+
values: Values;
|
|
1398
|
+
}] | TemplateLiteralArgs;
|
|
1399
|
+
type Values = Record<string, unknown>;
|
|
1400
|
+
type ColumnFn<T extends Query> = (types: T['columnTypes']) => ColumnType;
|
|
1401
|
+
type TemplateLiteralArgs = [
|
|
1402
|
+
strings: TemplateStringsArray,
|
|
1403
|
+
...values: unknown[]
|
|
1404
|
+
];
|
|
1405
|
+
type SqlFn<C extends ColumnType> = (...args: TemplateLiteralArgs) => RawExpression<C>;
|
|
1406
|
+
type SqlResult<T extends Query, Args extends SqlArgs<T>> = Args extends SqlColumnArgs<T> ? Args extends SqlColumnArgsWithSQL<T> ? RawExpression<ReturnType<Args[0]>> : SqlFn<ReturnType<Args[0]>> : Args extends [{
|
|
1407
|
+
raw: string;
|
|
1408
|
+
}] | TemplateLiteralArgs ? RawExpression : SqlFn<ColumnType>;
|
|
1381
1409
|
type RawArgs<CT extends ColumnTypesBase, C extends ColumnType> = [column: (types: CT) => C, sql: string, values?: Record<string, unknown>] | [sql: string, values?: Record<string, unknown>];
|
|
1382
|
-
declare class
|
|
1410
|
+
declare class RawSqlMethods {
|
|
1411
|
+
sql<T extends Query, Args extends SqlArgs<T>>(this: T, ...args: Args): SqlResult<T, Args>;
|
|
1412
|
+
/**
|
|
1413
|
+
* @deprecated use `sql` method instead, `raw` will be removed
|
|
1414
|
+
*/
|
|
1383
1415
|
raw<T extends Query, C extends ColumnType>(this: T, ...args: RawArgs<T['columnTypes'], C>): RawExpression<C>;
|
|
1384
1416
|
}
|
|
1385
1417
|
|
|
@@ -1407,7 +1439,9 @@ type OrderArg<T extends Query, Key extends PropertyKey = keyof T['selectable'] |
|
|
|
1407
1439
|
}[keyof T['result']]> = Key | {
|
|
1408
1440
|
[K in Key]?: SortDir;
|
|
1409
1441
|
} | RawExpression;
|
|
1410
|
-
|
|
1442
|
+
type OrderArgs<T extends Query> = OrderArg<T>[] | [TemplateStringsArray, ...unknown[]];
|
|
1443
|
+
type FindArgs<T extends Query> = [T['shape'][T['singlePrimaryKey']]['type'] | RawExpression] | [TemplateStringsArray, ...unknown[]];
|
|
1444
|
+
interface QueryMethods extends Omit<AsMethods, 'result'>, Aggregate, Select, From, Join, With, Union, Json, Create, Update, Delete, Transaction, For, ColumnInfoMethods, Omit<Where, 'result'>, Clear, Having, Window, Then, QueryLog, QueryHooks, QueryUpsertOrCreate, QueryGet, MergeQueryMethods, RawSqlMethods, CopyMethods {
|
|
1411
1445
|
}
|
|
1412
1446
|
declare class QueryMethods {
|
|
1413
1447
|
windows: EmptyObject;
|
|
@@ -1427,10 +1461,10 @@ declare class QueryMethods {
|
|
|
1427
1461
|
toSql(this: Query, options?: ToSqlOptions): Sql;
|
|
1428
1462
|
distinct<T extends Query>(this: T, ...columns: Expression<T>[]): T;
|
|
1429
1463
|
_distinct<T extends Query>(this: T, ...columns: Expression<T>[]): T;
|
|
1430
|
-
find<T extends Query>(this: T,
|
|
1431
|
-
_find<T extends Query>(this: T,
|
|
1432
|
-
findOptional<T extends Query>(this: T,
|
|
1433
|
-
_findOptional<T extends Query>(this: T,
|
|
1464
|
+
find<T extends Query>(this: T, ...args: FindArgs<T>): SetQueryReturnsOne<WhereResult<T>>;
|
|
1465
|
+
_find<T extends Query>(this: T, ...args: FindArgs<T>): SetQueryReturnsOne<WhereResult<T>>;
|
|
1466
|
+
findOptional<T extends Query>(this: T, ...args: FindArgs<T>): SetQueryReturnsOneOptional<WhereResult<T>>;
|
|
1467
|
+
_findOptional<T extends Query>(this: T, ...args: FindArgs<T>): SetQueryReturnsOneOptional<WhereResult<T>>;
|
|
1434
1468
|
findBy<T extends Query>(this: T, ...args: WhereArg<T>[]): SetQueryReturnsOne<WhereResult<T>>;
|
|
1435
1469
|
_findBy<T extends Query>(this: T, ...args: WhereArg<T>[]): SetQueryReturnsOne<WhereResult<T>>;
|
|
1436
1470
|
findByOptional<T extends Query>(this: T, ...args: WhereArg<T>[]): SetQueryReturnsOneOptional<WhereResult<T>>;
|
|
@@ -1443,8 +1477,8 @@ declare class QueryMethods {
|
|
|
1443
1477
|
_window<T extends Query, W extends WindowArg<T>>(this: T, arg: W): WindowResult<T, W>;
|
|
1444
1478
|
wrap<T extends Query, Q extends Query, As extends string = 't'>(this: T, query: Q, as?: As): SetQueryTableAlias<Q, As>;
|
|
1445
1479
|
_wrap<T extends Query, Q extends Query, As extends string = 't'>(this: T, query: Q, as?: As): SetQueryTableAlias<Q, As>;
|
|
1446
|
-
order<T extends Query>(this: T, ...args:
|
|
1447
|
-
_order<T extends Query>(this: T, ...args:
|
|
1480
|
+
order<T extends Query>(this: T, ...args: OrderArgs<T>): T;
|
|
1481
|
+
_order<T extends Query>(this: T, ...args: OrderArgs<T>): T;
|
|
1448
1482
|
limit<T extends Query>(this: T, arg: number | undefined): T;
|
|
1449
1483
|
_limit<T extends Query>(this: T, arg: number | undefined): T;
|
|
1450
1484
|
offset<T extends Query>(this: T, arg: number | undefined): T;
|
|
@@ -1471,7 +1505,7 @@ type AggregateOptions<T extends Query = Query, As extends string | undefined = a
|
|
|
1471
1505
|
withinGroup?: boolean;
|
|
1472
1506
|
over?: keyof T['windows'] | WindowArgDeclaration<T>;
|
|
1473
1507
|
};
|
|
1474
|
-
type Aggregate1ArgumentTypes<T extends Query = Query, C extends
|
|
1508
|
+
type Aggregate1ArgumentTypes<T extends Query = Query, C extends ColumnTypeBase = ColumnTypeBase> = {
|
|
1475
1509
|
count: Expression<T, C>;
|
|
1476
1510
|
avg: NumberExpression<T, C>;
|
|
1477
1511
|
min: Expression<T, C>;
|
|
@@ -1599,7 +1633,7 @@ type ColumnParser = (input: unknown) => unknown;
|
|
|
1599
1633
|
type ColumnsParsers = Record<string | getValueKey, ColumnParser>;
|
|
1600
1634
|
type SelectableBase = Record<PropertyKey, {
|
|
1601
1635
|
as: string;
|
|
1602
|
-
column:
|
|
1636
|
+
column: ColumnTypeBase;
|
|
1603
1637
|
}>;
|
|
1604
1638
|
type SelectableFromShape<Shape extends ColumnsShapeBase, Table extends string | undefined> = {
|
|
1605
1639
|
[K in keyof Shape]: {
|
|
@@ -1614,7 +1648,7 @@ type SelectableFromShape<Shape extends ColumnsShapeBase, Table extends string |
|
|
|
1614
1648
|
};
|
|
1615
1649
|
type WithDataItem = {
|
|
1616
1650
|
table: string;
|
|
1617
|
-
shape:
|
|
1651
|
+
shape: ColumnsShapeBase;
|
|
1618
1652
|
};
|
|
1619
1653
|
type WithDataBase = Record<never, WithDataItem>;
|
|
1620
1654
|
type Query = QueryCommon & QueryMethods & {
|
|
@@ -1629,10 +1663,11 @@ type Query = QueryCommon & QueryMethods & {
|
|
|
1629
1663
|
type: Record<string, unknown>;
|
|
1630
1664
|
inputType: Record<string, unknown>;
|
|
1631
1665
|
query: QueryData;
|
|
1632
|
-
result:
|
|
1666
|
+
result: ColumnsShapeBase;
|
|
1633
1667
|
selectable: SelectableBase;
|
|
1634
1668
|
returnType: QueryReturnType;
|
|
1635
|
-
then:
|
|
1669
|
+
then: QueryThen<unknown>;
|
|
1670
|
+
catch: QueryCatch<unknown>;
|
|
1636
1671
|
windows: EmptyObject;
|
|
1637
1672
|
defaultSelectColumns: string[];
|
|
1638
1673
|
relations: RelationsBase;
|
|
@@ -1649,32 +1684,32 @@ type QueryReturnType = 'all' | 'one' | 'oneOrThrow' | 'rows' | 'pluck' | 'value'
|
|
|
1649
1684
|
declare const queryTypeWithLimitOne: Record<QueryReturnType, true | undefined>;
|
|
1650
1685
|
declare const isQueryReturnsAll: (q: Query) => boolean;
|
|
1651
1686
|
type QueryReturnsAll<T extends QueryReturnType> = (QueryReturnType extends T ? 'all' : T) extends 'all' ? true : false;
|
|
1652
|
-
type
|
|
1687
|
+
type GetQueryResult<ReturnType extends QueryReturnType, Result extends ColumnsShapeBase> = QueryReturnsAll<ReturnType> extends true ? ColumnShapeOutput<Result>[] : ReturnType extends 'one' ? ColumnShapeOutput<Result> | undefined : ReturnType extends 'oneOrThrow' ? ColumnShapeOutput<Result> : ReturnType extends 'value' ? Result extends {
|
|
1653
1688
|
value: ColumnType;
|
|
1654
|
-
} ?
|
|
1689
|
+
} ? Result['value']['type'] | undefined : never : ReturnType extends 'valueOrThrow' ? Result extends {
|
|
1655
1690
|
value: ColumnType;
|
|
1656
|
-
} ?
|
|
1691
|
+
} ? Result['value']['type'] : never : ReturnType extends 'rows' ? ColumnShapeOutput<Result>[keyof Result][][] : ReturnType extends 'pluck' ? Result extends {
|
|
1657
1692
|
pluck: ColumnType;
|
|
1658
|
-
} ?
|
|
1659
|
-
type AddQuerySelect<T extends Pick<Query, 'result' | 'then' | 'returnType' | 'meta'>, Result extends ColumnsShapeBase
|
|
1660
|
-
|
|
1661
|
-
hasSelect: true;
|
|
1662
|
-
} : K extends 'result' ? Result : K extends 'then' ? QueryThen<T['returnType'], Result> : T[K];
|
|
1663
|
-
};
|
|
1664
|
-
type MergeSelect<T extends Pick<Query, 'result' | 'then' | 'returnType' | 'meta'>, Result extends ColumnsShapeBase, Merged extends ColumnsShapeBase = {
|
|
1693
|
+
} ? Result['pluck']['type'][] : never : ReturnType extends 'rowCount' ? number : ReturnType extends 'void' ? void : never;
|
|
1694
|
+
type AddQuerySelect<T extends Pick<Query, 'result' | 'then' | 'returnType' | 'meta'>, Result extends ColumnsShapeBase, Data = GetQueryResult<T['returnType'], Result>> = T['meta']['hasSelect'] extends true ? MergeSelect<T, Result, Data> : SetSelect<T, Result, Data>;
|
|
1695
|
+
type MergeSelect<T extends Pick<Query, 'result' | 'then' | 'returnType' | 'meta'>, Result extends ColumnsShapeBase, Data, Merged extends ColumnsShapeBase = {
|
|
1665
1696
|
[K in keyof T['result']]: K extends keyof Result ? unknown : T['result'][K];
|
|
1666
1697
|
} & Result> = {
|
|
1667
|
-
[K in keyof T]: K extends 'result' ? Merged : K extends 'then' ? QueryThen<
|
|
1698
|
+
[K in keyof T]: K extends 'result' ? Merged : K extends 'then' ? QueryThen<Data> : K extends 'catch' ? QueryCatch<Data> : T[K];
|
|
1699
|
+
};
|
|
1700
|
+
type SetSelect<T extends Pick<Query, 'result' | 'then' | 'returnType' | 'meta'>, Result extends ColumnsShapeBase, Data> = {
|
|
1701
|
+
[K in keyof T]: K extends 'meta' ? T['meta'] & {
|
|
1702
|
+
hasSelect: true;
|
|
1703
|
+
} : K extends 'result' ? Result : K extends 'then' ? QueryThen<Data> : K extends 'catch' ? QueryCatch<Data> : T[K];
|
|
1668
1704
|
};
|
|
1669
|
-
type SetQueryReturns<T extends Query, R extends QueryReturnType
|
|
1670
|
-
returnType:
|
|
1671
|
-
then: QueryThen<R, T['result']>;
|
|
1705
|
+
type SetQueryReturns<T extends Query, R extends QueryReturnType, Data = GetQueryResult<R, T['result']>> = {
|
|
1706
|
+
[K in keyof T]: K extends 'returnType' ? R : K extends 'then' ? QueryThen<Data> : K extends 'catch' ? QueryCatch<Data> : T[K];
|
|
1672
1707
|
};
|
|
1673
1708
|
type SetQueryReturnsAll<T extends Query> = SetQueryReturns<T, 'all'>;
|
|
1674
1709
|
type SetQueryReturnsOneOptional<T extends Query> = SetQueryReturns<T, 'one'>;
|
|
1675
1710
|
type SetQueryReturnsOne<T extends Query> = SetQueryReturns<T, 'oneOrThrow'>;
|
|
1676
1711
|
type SetQueryReturnsRows<T extends Query> = SetQueryReturns<T, 'rows'>;
|
|
1677
|
-
type SetQueryReturnsPluck<T extends Query, S extends keyof T['selectable'] | RawExpression, C extends ColumnTypeBase = S extends keyof T['selectable'] ? T['selectable'][S]['column'] : S extends RawExpression ? S['__column'] : never> = Omit<T, 'result' | 'returnType' | 'then'> & {
|
|
1712
|
+
type SetQueryReturnsPluck<T extends Query, S extends keyof T['selectable'] | RawExpression, C extends ColumnTypeBase = S extends keyof T['selectable'] ? T['selectable'][S]['column'] : S extends RawExpression ? S['__column'] : never> = Omit<T, 'result' | 'returnType' | 'then' | 'catch'> & {
|
|
1678
1713
|
meta: {
|
|
1679
1714
|
hasSelect: true;
|
|
1680
1715
|
};
|
|
@@ -1682,9 +1717,10 @@ type SetQueryReturnsPluck<T extends Query, S extends keyof T['selectable'] | Raw
|
|
|
1682
1717
|
pluck: C;
|
|
1683
1718
|
};
|
|
1684
1719
|
returnType: 'pluck';
|
|
1685
|
-
then:
|
|
1720
|
+
then: QueryThen<C['type'][]>;
|
|
1721
|
+
catch: QueryCatch<C['type'][]>;
|
|
1686
1722
|
};
|
|
1687
|
-
type SetQueryReturnsValueOptional<T extends Query, Arg extends Exclude<GetArg<T>, RawExpression> | ColumnTypeBase, Column extends ColumnTypeBase = Arg extends ColumnTypeBase ? Arg : Arg extends keyof T['selectable'] ? T['selectable'][Arg]['column'] : Arg extends RelationQueryBase ? Arg['result']['value'] : never> = Omit<T, 'result' | 'returnType' | 'then'> & {
|
|
1723
|
+
type SetQueryReturnsValueOptional<T extends Query, Arg extends Exclude<GetArg<T>, RawExpression> | ColumnTypeBase, Column extends ColumnTypeBase = Arg extends ColumnTypeBase ? Arg : Arg extends keyof T['selectable'] ? T['selectable'][Arg]['column'] : Arg extends RelationQueryBase ? Arg['result']['value'] : never> = Omit<T, 'result' | 'returnType' | 'then' | 'catch'> & {
|
|
1688
1724
|
meta: {
|
|
1689
1725
|
hasSelect: true;
|
|
1690
1726
|
};
|
|
@@ -1692,9 +1728,10 @@ type SetQueryReturnsValueOptional<T extends Query, Arg extends Exclude<GetArg<T>
|
|
|
1692
1728
|
value: Column;
|
|
1693
1729
|
};
|
|
1694
1730
|
returnType: 'value';
|
|
1695
|
-
then:
|
|
1731
|
+
then: QueryThen<Column['type'] | undefined>;
|
|
1732
|
+
catch: QueryThen<Column['type'] | undefined>;
|
|
1696
1733
|
};
|
|
1697
|
-
type SetQueryReturnsValue<T extends Query, Arg extends Exclude<GetArg<T>, RawExpression> | ColumnTypeBase, Column extends ColumnTypeBase = Arg extends ColumnTypeBase ? Arg : Arg extends keyof T['selectable'] ? T['selectable'][Arg]['column'] : Arg extends RelationQueryBase ? Arg['result']['value'] : never> = Omit<T, 'result' | 'returnType' | 'then'> & {
|
|
1734
|
+
type SetQueryReturnsValue<T extends Query, Arg extends Exclude<GetArg<T>, RawExpression> | ColumnTypeBase, Column extends ColumnTypeBase = Arg extends ColumnTypeBase ? Arg : Arg extends keyof T['selectable'] ? T['selectable'][Arg]['column'] : Arg extends RelationQueryBase ? Arg['result']['value'] : never> = Omit<T, 'result' | 'returnType' | 'then' | 'catch'> & {
|
|
1698
1735
|
meta: {
|
|
1699
1736
|
hasSelect: true;
|
|
1700
1737
|
};
|
|
@@ -1702,16 +1739,18 @@ type SetQueryReturnsValue<T extends Query, Arg extends Exclude<GetArg<T>, RawExp
|
|
|
1702
1739
|
value: Column;
|
|
1703
1740
|
};
|
|
1704
1741
|
returnType: 'valueOrThrow';
|
|
1705
|
-
then:
|
|
1742
|
+
then: QueryThen<Column['type']>;
|
|
1743
|
+
catch: QueryCatch<Column['type']>;
|
|
1706
1744
|
};
|
|
1707
1745
|
type SetQueryReturnsRowCount<T extends Query> = SetQueryReturns<T, 'rowCount'>;
|
|
1708
1746
|
type SetQueryReturnsVoid<T extends Query> = SetQueryReturns<T, 'void'>;
|
|
1709
|
-
type SetQueryReturnsColumnInfo<T extends Query, Column extends keyof T['shape'] | undefined, Result = Column extends keyof T['shape'] ? ColumnInfo : Record<keyof T['shape'], ColumnInfo>> = Omit<T, 'result' | 'returnType' | 'then'> & {
|
|
1747
|
+
type SetQueryReturnsColumnInfo<T extends Query, Column extends keyof T['shape'] | undefined, Result = Column extends keyof T['shape'] ? ColumnInfo : Record<keyof T['shape'], ColumnInfo>> = Omit<T, 'result' | 'returnType' | 'then' | 'catch'> & {
|
|
1710
1748
|
result: {
|
|
1711
1749
|
value: ColumnType<Result>;
|
|
1712
1750
|
};
|
|
1713
1751
|
returnType: 'value';
|
|
1714
|
-
then:
|
|
1752
|
+
then: QueryThen<Result>;
|
|
1753
|
+
catch: QueryCatch<Result>;
|
|
1715
1754
|
};
|
|
1716
1755
|
type SetQueryTableAlias<T extends Pick<Query, 'selectable' | 'table' | 'meta'> & {
|
|
1717
1756
|
shape: ColumnsShapeBase;
|
|
@@ -1783,11 +1822,11 @@ declare const Operators: {
|
|
|
1783
1822
|
not: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
|
|
1784
1823
|
type: number | RawExpression | Query;
|
|
1785
1824
|
};
|
|
1786
|
-
in: ((key: string, value: RawExpression |
|
|
1787
|
-
type: RawExpression |
|
|
1825
|
+
in: ((key: string, value: RawExpression | number[] | Query, values: unknown[]) => string) & {
|
|
1826
|
+
type: RawExpression | number[] | Query;
|
|
1788
1827
|
};
|
|
1789
|
-
notIn: ((key: string, value: RawExpression |
|
|
1790
|
-
type: RawExpression |
|
|
1828
|
+
notIn: ((key: string, value: RawExpression | number[] | Query, values: unknown[]) => string) & {
|
|
1829
|
+
type: RawExpression | number[] | Query;
|
|
1791
1830
|
};
|
|
1792
1831
|
};
|
|
1793
1832
|
date: {
|
|
@@ -1920,7 +1959,7 @@ declare const Operators: {
|
|
|
1920
1959
|
};
|
|
1921
1960
|
|
|
1922
1961
|
type ColumnsShape = Record<string, ColumnType>;
|
|
1923
|
-
declare abstract class ColumnsObject<Shape extends
|
|
1962
|
+
declare abstract class ColumnsObject<Shape extends ColumnsShapeBase> extends ColumnType<{
|
|
1924
1963
|
[K in keyof Shape]: Shape[K]['type'];
|
|
1925
1964
|
}, typeof Operators.any> {
|
|
1926
1965
|
shape: Shape;
|
|
@@ -1941,7 +1980,7 @@ declare abstract class ColumnsObject<Shape extends ColumnsShape> extends ColumnT
|
|
|
1941
1980
|
};
|
|
1942
1981
|
constructor(shape: Shape);
|
|
1943
1982
|
}
|
|
1944
|
-
declare abstract class ArrayOfColumnsObjects<Shape extends
|
|
1983
|
+
declare abstract class ArrayOfColumnsObjects<Shape extends ColumnsShapeBase> extends ColumnType<{
|
|
1945
1984
|
[K in keyof Shape]: Shape[K]['type'];
|
|
1946
1985
|
}[], typeof Operators.any> {
|
|
1947
1986
|
shape: Shape;
|
|
@@ -1962,7 +2001,7 @@ declare abstract class ArrayOfColumnsObjects<Shape extends ColumnsShape> extends
|
|
|
1962
2001
|
};
|
|
1963
2002
|
constructor(shape: Shape);
|
|
1964
2003
|
}
|
|
1965
|
-
declare abstract class PluckResultColumnType<C extends
|
|
2004
|
+
declare abstract class PluckResultColumnType<C extends ColumnTypeBase> extends ColumnTypeBase<C['type'][], typeof Operators.any> {
|
|
1966
2005
|
}
|
|
1967
2006
|
|
|
1968
2007
|
type NumberColumn = ColumnType<number, typeof Operators.number>;
|
|
@@ -1999,11 +2038,11 @@ declare abstract class NumberBaseColumn extends ColumnType<number, typeof Operat
|
|
|
1999
2038
|
not: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
|
|
2000
2039
|
type: number | RawExpression | Query;
|
|
2001
2040
|
};
|
|
2002
|
-
in: ((key: string, value: RawExpression |
|
|
2003
|
-
type: RawExpression |
|
|
2041
|
+
in: ((key: string, value: RawExpression | number[] | Query, values: unknown[]) => string) & {
|
|
2042
|
+
type: RawExpression | number[] | Query;
|
|
2004
2043
|
};
|
|
2005
|
-
notIn: ((key: string, value: RawExpression |
|
|
2006
|
-
type: RawExpression |
|
|
2044
|
+
notIn: ((key: string, value: RawExpression | number[] | Query, values: unknown[]) => string) & {
|
|
2045
|
+
type: RawExpression | number[] | Query;
|
|
2007
2046
|
};
|
|
2008
2047
|
};
|
|
2009
2048
|
}
|
|
@@ -2034,11 +2073,11 @@ declare abstract class NumberAsStringBaseColumn extends ColumnType<string, typeo
|
|
|
2034
2073
|
not: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
|
|
2035
2074
|
type: number | RawExpression | Query;
|
|
2036
2075
|
};
|
|
2037
|
-
in: ((key: string, value: RawExpression |
|
|
2038
|
-
type: RawExpression |
|
|
2076
|
+
in: ((key: string, value: RawExpression | number[] | Query, values: unknown[]) => string) & {
|
|
2077
|
+
type: RawExpression | number[] | Query;
|
|
2039
2078
|
};
|
|
2040
|
-
notIn: ((key: string, value: RawExpression |
|
|
2041
|
-
type: RawExpression |
|
|
2079
|
+
notIn: ((key: string, value: RawExpression | number[] | Query, values: unknown[]) => string) & {
|
|
2080
|
+
type: RawExpression | number[] | Query;
|
|
2042
2081
|
};
|
|
2043
2082
|
};
|
|
2044
2083
|
data: ColumnData;
|
|
@@ -2070,11 +2109,11 @@ declare class DecimalBaseColumn<Precision extends number | undefined = undefined
|
|
|
2070
2109
|
not: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
|
|
2071
2110
|
type: number | RawExpression | Query;
|
|
2072
2111
|
};
|
|
2073
|
-
in: ((key: string, value: RawExpression |
|
|
2074
|
-
type: RawExpression |
|
|
2112
|
+
in: ((key: string, value: RawExpression | number[] | Query, values: unknown[]) => string) & {
|
|
2113
|
+
type: RawExpression | number[] | Query;
|
|
2075
2114
|
};
|
|
2076
|
-
notIn: ((key: string, value: RawExpression |
|
|
2077
|
-
type: RawExpression |
|
|
2115
|
+
notIn: ((key: string, value: RawExpression | number[] | Query, values: unknown[]) => string) & {
|
|
2116
|
+
type: RawExpression | number[] | Query;
|
|
2078
2117
|
};
|
|
2079
2118
|
};
|
|
2080
2119
|
dataType: "decimal";
|
|
@@ -3334,9 +3373,9 @@ type ArrayData<Item extends ColumnTypeBase> = ColumnData & ArrayMethodsData & {
|
|
|
3334
3373
|
item: Item;
|
|
3335
3374
|
};
|
|
3336
3375
|
type ArrayMethods = typeof arrayMethods;
|
|
3337
|
-
interface ArrayColumn<Item extends
|
|
3376
|
+
interface ArrayColumn<Item extends ColumnTypeBase> extends ColumnType<Item['type'][], typeof Operators.array>, ArrayMethods {
|
|
3338
3377
|
}
|
|
3339
|
-
declare class ArrayColumn<Item extends
|
|
3378
|
+
declare class ArrayColumn<Item extends ColumnTypeBase> extends ColumnType<Item['type'][], typeof Operators.array> {
|
|
3340
3379
|
dataType: "array";
|
|
3341
3380
|
operators: {
|
|
3342
3381
|
equals: ((key: string, value: any, values: unknown[]) => string) & {
|
|
@@ -3435,6 +3474,10 @@ declare const getTableData: () => TableData;
|
|
|
3435
3474
|
declare const resetTableData: (data?: TableData) => void;
|
|
3436
3475
|
declare const getColumnTypes: <CT extends Record<string, orchid_core.AnyColumnTypeCreator>, Shape extends ColumnsShape>(types: CT, fn: (t: CT) => Shape, nowSQL: string | undefined, data?: TableData) => Shape;
|
|
3437
3476
|
declare function text(min: number, max: number): TextColumn;
|
|
3477
|
+
declare function sql(sql: TemplateStringsArray, ...values: unknown[]): RawExpression;
|
|
3478
|
+
declare function sql(sql: string): RawExpression;
|
|
3479
|
+
declare function sql(values: Record<string, unknown>, sql: string): RawExpression;
|
|
3480
|
+
declare function sql(values: Record<string, unknown>): (...sql: [TemplateStringsArray, ...unknown[]]) => RawExpression;
|
|
3438
3481
|
type DefaultColumnTypes = typeof columnTypes;
|
|
3439
3482
|
declare const columnTypes: {
|
|
3440
3483
|
timestamps<T extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
|
|
@@ -3482,7 +3525,7 @@ declare const columnTypes: {
|
|
|
3482
3525
|
updatedAt: orchid_core.ColumnWithDefault<T_3, RawExpression>;
|
|
3483
3526
|
};
|
|
3484
3527
|
name: typeof name;
|
|
3485
|
-
|
|
3528
|
+
sql: typeof sql;
|
|
3486
3529
|
smallint(): SmallIntColumn;
|
|
3487
3530
|
integer(): IntegerColumn;
|
|
3488
3531
|
bigint(): BigIntColumn;
|
|
@@ -3734,4 +3777,4 @@ declare const testTransaction: {
|
|
|
3734
3777
|
close(arg: Arg): Promise<void>;
|
|
3735
3778
|
};
|
|
3736
3779
|
|
|
3737
|
-
export { Adapter, AdapterConfig, AdapterOptions, AddQuerySelect, AddQueryWith, AfterHook, AfterHookKey, Aggregate, Aggregate1ArgumentTypes, AggregateArg, AggregateItem, AggregateItemArg, AggregateItemOptions, AggregateOptions, AliasOrTable, ArrayColumn, ArrayData, ArrayOfColumnsObjects, BaseRelation, BeforeHook, BeforeHookKey, BelongsToRelation, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanExpression, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, ColumnData, ColumnFromDbParams, ColumnInfo, ColumnInfoMethods, ColumnInfoQueryData, ColumnNameOfTable, ColumnOperators, ColumnParser, ColumnType, ColumnTypes, ColumnsObject, ColumnsParsers, ColumnsShape, CommonQueryData, CopyOptions, CopyQueryData, Create, CreateCtx, CreateData, CreateMethodsNames, CustomTypeColumn, DateBaseColumn, DateColumn, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbOptions, DbResult, DbTableOptions, DecimalBaseColumn, DecimalColumn, DefaultColumnTypes, Delete, DeleteMethodsNames, DeleteQueryData, DomainColumn, DoublePrecisionColumn, DropMode, EnumColumn, Expression, ExpressionOfType, ExpressionOutput, For, ForeignKey, ForeignKeyAction, ForeignKeyMatch, ForeignKeyOptions, ForeignKeyTable, From, FromArgs, FromResult, GetArg, HasAndBelongsToManyRelation, HasManyRelation, HasOneRelation, Having, HavingArg, HavingItem, IdentityColumn, IndexColumnOptions, IndexOptions, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, JSONTypes, Join, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinLateralCallback, JoinLateralItem, JoinLateralResult, JoinResult, JoinedParsers, JoinedShapes, Json, JsonItem, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumn, NumberColumnData, NumberExpression, OnConflictItem, OnConflictMergeUpdate, OnConflictQueryBuilder, OnQueryBuilder, Operators, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderItem, PathColumn, PluckResultColumnType, PointColumn, PolygonColumn, Query, QueryArraysResult, QueryBase, QueryData, QueryError, QueryErrorName, QueryGet, QueryHooks, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMethods, QueryResult, QueryReturnType, QueryReturnsAll,
|
|
3780
|
+
export { Adapter, AdapterConfig, AdapterOptions, AddQuerySelect, AddQueryWith, AfterHook, AfterHookKey, Aggregate, Aggregate1ArgumentTypes, AggregateArg, AggregateItem, AggregateItemArg, AggregateItemOptions, AggregateOptions, AliasOrTable, ArrayColumn, ArrayData, ArrayOfColumnsObjects, BaseRelation, BeforeHook, BeforeHookKey, BelongsToRelation, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanExpression, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, ColumnData, ColumnFromDbParams, ColumnInfo, ColumnInfoMethods, ColumnInfoQueryData, ColumnNameOfTable, ColumnOperators, ColumnParser, ColumnType, ColumnTypes, ColumnsObject, ColumnsParsers, ColumnsShape, CommonQueryData, CopyOptions, CopyQueryData, Create, CreateCtx, CreateData, CreateMethodsNames, CustomTypeColumn, DateBaseColumn, DateColumn, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbOptions, DbResult, DbTableOptions, DecimalBaseColumn, DecimalColumn, DefaultColumnTypes, Delete, DeleteMethodsNames, DeleteQueryData, DomainColumn, DoublePrecisionColumn, DropMode, EnumColumn, Expression, ExpressionOfType, ExpressionOutput, For, ForeignKey, ForeignKeyAction, ForeignKeyMatch, ForeignKeyOptions, ForeignKeyTable, From, FromArgs, FromResult, GetArg, GetQueryResult, HasAndBelongsToManyRelation, HasManyRelation, HasOneRelation, Having, HavingArg, HavingArgs, HavingItem, IdentityColumn, IndexColumnOptions, IndexOptions, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, JSONTypes, Join, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinLateralCallback, JoinLateralItem, JoinLateralResult, JoinResult, JoinedParsers, JoinedShapes, Json, JsonItem, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumn, NumberColumnData, NumberExpression, OnConflictItem, OnConflictMergeUpdate, OnConflictQueryBuilder, OnQueryBuilder, Operators, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgs, OrderItem, PathColumn, PluckResultColumnType, PointColumn, PolygonColumn, Query, QueryArraysResult, QueryBase, QueryData, QueryError, QueryErrorName, QueryGet, QueryHooks, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMethods, QueryResult, QueryReturnType, QueryReturnsAll, QueryUpsertOrCreate, QueryWithTable, RawSqlMethods, RealColumn, Relation, RelationQuery, RelationQueryBase, RelationQueryData, RelationsBase, Select, SelectAgg, SelectArg, SelectFunctionItem, SelectItem, SelectQueryData, Selectable, SelectableBase, SelectableFromShape, SerialColumn, SerialColumnData, SetQueryReturns, SetQueryReturnsAll, SetQueryReturnsColumnInfo, SetQueryReturnsOne, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValue, SetQueryReturnsValueOptional, SetQueryReturnsVoid, SetQueryTableAlias, SetQueryWith, SimpleJoinItem, SingleColumnIndexOptions, SmallIntColumn, SmallSerialColumn, SortDir, StringColumn, StringExpression, TableData, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimeInterval, TimestampColumn, TimestampTZColumn, ToSqlCtx, ToSqlOptions, Transaction, TransactionAdapter, TransactionOptions, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArg, UnionItem, UnionKind, UnknownColumn, Update, UpdateCtx, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdatedAtDataInjector, UpsertCreateArg, UpsertData, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereArgs, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereOnItem, WhereOnJoinItem, WhereQueryBuilder, WhereResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowFunctionOptions, WindowItem, With, WithDataBase, WithDataItem, WithItem, WithOptions, XMLColumn, addOr, addOrNot, addParserForRawExpression, addParserForSelectItem, addParserToQuery, addQueryHook, addQueryOn, addQueryOrOn, addWhere, addWhereIn, addWhereNot, aggregate1FunctionNames, anyShape, checkIfASimpleQuery, cloneQueryArrays, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnTypes, utils as columnUtils, columnsByType, columnsShapeToCode, constraintPropsToCode, constraintToCode, createDb, foreignKeyArgumentToCode, getClonedQueryData, getColumnTypes, getConstraintKind, getQueryAs, getRaw, getShapeFromSelect, getTableData, getValueKey, handleResult, identityToCode, indexToCode, instantiateColumn, isQueryReturnsAll, isRequiredRelationKey, jsonTypes, logColors, logParamToLogObject, makeRegexToFindInSql, makeSql, newTableData, parseRecord, parseResult, primaryKeyToCode, processSelectArg, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, queryMethodByReturnType, queryTypeWithLimitOne, quote, quoteString, referencesArgsToCode, relationQueryKey, resetTableData, setQueryObjectValue, simplifyColumnDefault, testTransaction, toSql, toSqlCacheKey };
|