pqb 0.35.2 → 0.35.4
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 +102 -76
- package/dist/index.js.map +1 -1
- 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,
|
|
2
|
+
import { QueryResultRow, AdapterConfigBase, AdapterBase, QueryInput, SingleSqlItem, Sql, RecordUnknown, RecordKeyTrue, EmptyObject, QueryBaseCommon, QueryColumns, QueryMetaBase, QueryReturnType, QueryThen, Expression, MaybeArray, TemplateLiteralArgs, QueryColumn, MaybePromise, FnUnknownToUnknown, RecordString, ColumnsShapeBase, ColumnsParsers, PickQueryTable, BatchParsers, HookSelect, QueryDataTransform, ExpressionChain, getValueKey, PickQueryShape, PickQueryTableMetaResult, EmptyTuple, PickQueryMeta, PickQueryMetaResultReturnType, QueryColumnToNullable, SelectableBase, 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, 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';
|
|
@@ -55,7 +55,9 @@ declare class TransactionAdapter implements Adapter {
|
|
|
55
55
|
close(): Promise<void>;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
interface RelationJoinQuery {
|
|
59
|
+
(joiningQuery: Query, baseQuery: Query): Query;
|
|
60
|
+
}
|
|
59
61
|
interface RelationConfigBase {
|
|
60
62
|
query: Query;
|
|
61
63
|
joinQuery: RelationJoinQuery;
|
|
@@ -75,11 +77,12 @@ interface RelationsBase {
|
|
|
75
77
|
interface RelationQueryBase extends Query {
|
|
76
78
|
relationConfig: RelationConfigBase;
|
|
77
79
|
}
|
|
78
|
-
type RelationQuery<Config extends RelationConfigBase = RelationConfigBase, Params = never, Required = never, One = never> =
|
|
80
|
+
type RelationQuery<Config extends RelationConfigBase = RelationConfigBase, Params = never, Required = never, One = never> = RelationQueryFnAndConfig<Config, Params, Required, One> & Config['query'];
|
|
81
|
+
interface RelationQueryFnAndConfig<Config extends RelationConfigBase = RelationConfigBase, Params = never, Required = never, One = never> {
|
|
82
|
+
(params: Params): One extends true ? Required extends true ? SetQueryReturnsOne<Config['query']> : SetQueryReturnsOneOptional<Config['query']> : Config['query'];
|
|
79
83
|
relationConfig: Config;
|
|
80
|
-
}
|
|
84
|
+
}
|
|
81
85
|
|
|
82
|
-
type CloneSelfKeys = 'clone' | 'baseQuery' | 'q';
|
|
83
86
|
declare abstract class QueryBase<Scopes extends RecordKeyTrue = EmptyObject> implements QueryBaseCommon<Scopes> {
|
|
84
87
|
/**
|
|
85
88
|
* Clones the current query chain, useful for re-using partial query snippets in other queries without mutating the original.
|
|
@@ -93,7 +96,7 @@ declare abstract class QueryBase<Scopes extends RecordKeyTrue = EmptyObject> imp
|
|
|
93
96
|
table?: string;
|
|
94
97
|
shape: QueryColumns;
|
|
95
98
|
relations: RelationsBase;
|
|
96
|
-
withData:
|
|
99
|
+
withData: WithDataItems;
|
|
97
100
|
baseQuery: Query;
|
|
98
101
|
internal: QueryInternal;
|
|
99
102
|
meta: QueryMetaBase<Scopes>;
|
|
@@ -104,12 +107,12 @@ interface QueryBaseThen<T> extends QueryBase {
|
|
|
104
107
|
}
|
|
105
108
|
|
|
106
109
|
declare const checkIfASimpleQuery: (q: Query) => boolean;
|
|
107
|
-
|
|
110
|
+
interface WithItem {
|
|
108
111
|
n: string;
|
|
109
112
|
o?: WithOptions;
|
|
110
113
|
q?: Query;
|
|
111
114
|
s?: Expression;
|
|
112
|
-
}
|
|
115
|
+
}
|
|
113
116
|
interface WithOptions {
|
|
114
117
|
columns?: string[];
|
|
115
118
|
recursive?: true;
|
|
@@ -226,9 +229,9 @@ type WhereOnJoinItem = {
|
|
|
226
229
|
};
|
|
227
230
|
} | string;
|
|
228
231
|
type SearchWeight = 'A' | 'B' | 'C' | 'D';
|
|
229
|
-
|
|
232
|
+
interface SearchWeightRecord {
|
|
230
233
|
[K: string]: SearchWeight;
|
|
231
|
-
}
|
|
234
|
+
}
|
|
232
235
|
interface WhereSearchItem {
|
|
233
236
|
as: string;
|
|
234
237
|
vectorSQL: string;
|
|
@@ -237,13 +240,10 @@ type SortDir = 'ASC' | 'DESC' | 'ASC NULLS FIRST' | 'DESC NULLS LAST';
|
|
|
237
240
|
type OrderItem = string | {
|
|
238
241
|
[K: string]: SortDir;
|
|
239
242
|
} | Expression;
|
|
240
|
-
type ColumnOperators<S extends SelectableBase, Column extends keyof S> = {
|
|
241
|
-
[O in keyof S[Column]['column']['operators']]?: S[Column]['column']['operators'][O]['_opType'];
|
|
242
|
-
};
|
|
243
243
|
type HavingItem = TemplateLiteralArgs | Expression[];
|
|
244
|
-
|
|
244
|
+
interface WindowItem {
|
|
245
245
|
[K: string]: WindowDeclaration | Expression;
|
|
246
|
-
}
|
|
246
|
+
}
|
|
247
247
|
interface WindowDeclaration {
|
|
248
248
|
partitionBy?: SelectableOrExpression | SelectableOrExpression[];
|
|
249
249
|
order?: OrderItem;
|
|
@@ -286,12 +286,16 @@ interface RuntimeComputedQueryColumn<OutputType> extends QueryColumn {
|
|
|
286
286
|
};
|
|
287
287
|
}
|
|
288
288
|
interface ComputedMethods<ColumnTypes, Shape extends QueryColumns> extends QueryComputedArg<ColumnTypes, Shape> {
|
|
289
|
-
computeAtRuntime<Deps extends keyof Shape, OutputType>(dependsOn: Deps[], fn: (record:
|
|
289
|
+
computeAtRuntime<Deps extends keyof Shape, OutputType>(dependsOn: Deps[], fn: (record: {
|
|
290
|
+
[K in keyof Shape & Deps]: Shape[K]['outputType'];
|
|
291
|
+
}) => OutputType): {
|
|
290
292
|
result: {
|
|
291
293
|
value: RuntimeComputedQueryColumn<OutputType>;
|
|
292
294
|
};
|
|
293
295
|
};
|
|
294
|
-
computeBatchAtRuntime<Deps extends keyof Shape, OutputType>(dependsOn: Deps[], fn: (record:
|
|
296
|
+
computeBatchAtRuntime<Deps extends keyof Shape, OutputType>(dependsOn: Deps[], fn: (record: {
|
|
297
|
+
[K in keyof Shape & Deps]: Shape[K]['outputType'];
|
|
298
|
+
}[]) => MaybePromise<OutputType[]>): {
|
|
295
299
|
result: {
|
|
296
300
|
value: RuntimeComputedQueryColumn<OutputType>;
|
|
297
301
|
};
|
|
@@ -341,7 +345,6 @@ interface JoinedParsers {
|
|
|
341
345
|
type JoinOverrides = RecordString;
|
|
342
346
|
type QueryBeforeHook = (query: Query) => void | Promise<void>;
|
|
343
347
|
type QueryAfterHook<Data = unknown> = (data: Data, query: Query) => void | Promise<void>;
|
|
344
|
-
type QueryHookSelect = string[];
|
|
345
348
|
interface QueryScopes {
|
|
346
349
|
[K: string]: QueryScopeData;
|
|
347
350
|
}
|
|
@@ -352,7 +355,9 @@ interface QueryScopeData {
|
|
|
352
355
|
type QueryDataFromItem = string | Query | Expression;
|
|
353
356
|
interface QueryDataJoinTo extends PickQueryTable, PickQueryQ {
|
|
354
357
|
}
|
|
355
|
-
|
|
358
|
+
interface HandleResult {
|
|
359
|
+
(q: Query, returnType: QueryReturnType, result: QueryResult, isSubQuery?: true): MaybePromise<unknown>;
|
|
360
|
+
}
|
|
356
361
|
interface CommonQueryData {
|
|
357
362
|
adapter: Adapter;
|
|
358
363
|
shape: ColumnsShapeBase;
|
|
@@ -472,7 +477,9 @@ interface UpdateQueryDataObject {
|
|
|
472
477
|
arg: unknown;
|
|
473
478
|
} | unknown;
|
|
474
479
|
}
|
|
475
|
-
|
|
480
|
+
interface UpdatedAtDataInjector {
|
|
481
|
+
(data: UpdateQueryDataItem[]): UpdateQueryDataItem | void;
|
|
482
|
+
}
|
|
476
483
|
type UpdateQueryDataItem = UpdateQueryDataObject | Expression | UpdatedAtDataInjector;
|
|
477
484
|
interface UpdateQueryData extends CommonQueryData {
|
|
478
485
|
type: 'update';
|
|
@@ -578,7 +585,7 @@ declare class UnhandledTypeError extends OrchidOrmInternalError {
|
|
|
578
585
|
constructor(query: Query, value: never);
|
|
579
586
|
}
|
|
580
587
|
|
|
581
|
-
type WithSelectable<
|
|
588
|
+
type WithSelectable<W extends WithDataItem> = keyof W['shape'] | `${W['table']}.${keyof W['shape'] & string}`;
|
|
582
589
|
/**
|
|
583
590
|
* The first argument of all `join` and `joinLateral` methods.
|
|
584
591
|
* See argument of {@link join}.
|
|
@@ -588,7 +595,7 @@ type JoinFirstArg<T extends PickQueryRelationsWithData> = PickQueryTableMetaResu
|
|
|
588
595
|
* Arguments of `join` methods (not `joinLateral`).
|
|
589
596
|
* See {@link join}
|
|
590
597
|
*/
|
|
591
|
-
type JoinArgs<T extends PickQueryMetaShapeRelationsWithData, Arg extends JoinFirstArg<T>> = [on?: JoinCallback<T, Arg>] | (Arg extends PickQueryTableMetaResult ? JoinQueryArgs<T, Arg> : Arg extends keyof T['relations'] ? EmptyTuple : Arg extends keyof T['withData'] ? JoinWithArgs<T, Arg> : never);
|
|
598
|
+
type JoinArgs<T extends PickQueryMetaShapeRelationsWithData, Arg extends JoinFirstArg<T>> = [on?: JoinCallback<T, Arg>] | (Arg extends PickQueryTableMetaResult ? JoinQueryArgs<T, Arg> : Arg extends keyof T['relations'] ? EmptyTuple : Arg extends keyof T['withData'] ? JoinWithArgs<T, T['withData'][Arg]> : never);
|
|
592
599
|
/**
|
|
593
600
|
* Column names of the joined table that can be used to join.
|
|
594
601
|
* Derived from 'result', not from 'shape',
|
|
@@ -611,15 +618,15 @@ type JoinQueryArgs<T extends PickQueryMeta, Q extends PickQueryTableMetaResult>
|
|
|
611
618
|
op: string,
|
|
612
619
|
rightColumn: keyof T['meta']['selectable'] | Expression
|
|
613
620
|
];
|
|
614
|
-
type JoinWithArgs<T extends
|
|
621
|
+
type JoinWithArgs<T extends PickQueryMeta, W extends WithDataItem> = [
|
|
615
622
|
conditions: {
|
|
616
|
-
[K in WithSelectable<
|
|
623
|
+
[K in WithSelectable<W>]: keyof T['meta']['selectable'] | Expression;
|
|
617
624
|
} | Expression
|
|
618
625
|
] | [
|
|
619
|
-
leftColumn: WithSelectable<
|
|
626
|
+
leftColumn: WithSelectable<W> | Expression,
|
|
620
627
|
rightColumn: keyof T['meta']['selectable'] | Expression
|
|
621
628
|
] | [
|
|
622
|
-
leftColumn: WithSelectable<
|
|
629
|
+
leftColumn: WithSelectable<W> | Expression,
|
|
623
630
|
op: string,
|
|
624
631
|
rightColumn: keyof T['meta']['selectable'] | Expression
|
|
625
632
|
];
|
|
@@ -632,20 +639,41 @@ type JoinWithArgs<T extends PickQueryMetaWithData, W extends keyof T['withData']
|
|
|
632
639
|
* @param RequireJoined - when false, joined table shape will be mapped to make all columns optional
|
|
633
640
|
* @param RequireMain - when false, main table shape will be mapped to make all columns optional (for right and full join)
|
|
634
641
|
*/
|
|
635
|
-
type JoinResult<T extends PickQueryMetaResultReturnType,
|
|
642
|
+
type JoinResult<T extends PickQueryMetaResultReturnType, JoinedSelectable, RequireMain> = RequireMain extends true ? {
|
|
643
|
+
[K in keyof T]: K extends 'meta' ? {
|
|
644
|
+
[K in keyof T['meta']]: K extends 'selectable' ? T['meta']['selectable'] & JoinedSelectable : T['meta'][K];
|
|
645
|
+
} : T[K];
|
|
646
|
+
} : {
|
|
647
|
+
[K in keyof T]: K extends 'meta' ? {
|
|
648
|
+
[K in keyof T['meta']]: K extends 'selectable' ? {
|
|
649
|
+
[K in keyof T['meta']['selectable']]: {
|
|
650
|
+
as: T['meta']['selectable'][K]['as'];
|
|
651
|
+
column: QueryColumnToNullable<T['meta']['selectable'][K]['column']>;
|
|
652
|
+
};
|
|
653
|
+
} & JoinedSelectable : T['meta'][K];
|
|
654
|
+
} : K extends 'result' ? {
|
|
655
|
+
[K in keyof T['result']]: QueryColumnToNullable<T['result'][K]>;
|
|
656
|
+
} : K extends 'then' ? QueryThen<GetQueryResult<T, {
|
|
657
|
+
[K in keyof T['result']]: QueryColumnToNullable<T['result'][K]>;
|
|
658
|
+
}>> : T[K];
|
|
659
|
+
};
|
|
636
660
|
/**
|
|
637
661
|
* Calls {@link JoinResult} with either callback result, if join has a callback,
|
|
638
662
|
* or with a query derived from the first join argument.
|
|
639
663
|
*/
|
|
640
|
-
type JoinResultFromArgs<T extends PickQueryMetaResultRelationsWithDataReturnType, Arg, Args, RequireJoined, RequireMain> = JoinResult<T, Args extends GenericJoinCallbackTuple ? ReturnType<Args[0]> : Arg extends PickQueryTableMetaResultShape ? Arg['meta']['hasSelect'] extends true ? Arg : {
|
|
664
|
+
type JoinResultFromArgs<T extends PickQueryMetaResultRelationsWithDataReturnType, Arg, Args, RequireJoined, RequireMain> = JoinResult<T, Args extends GenericJoinCallbackTuple ? JoinResultSelectable<ReturnType<Args[0]>['result'], AliasOrTable<ReturnType<Args[0]>>, RequireJoined> : Arg extends PickQueryTableMetaResultShape ? Arg['meta']['hasSelect'] extends true ? JoinResultSelectable<Arg['result'], AliasOrTable<Arg>, RequireJoined> : JoinResultSelectable<Arg['shape'], AliasOrTable<{
|
|
641
665
|
table: Arg['table'];
|
|
642
666
|
meta: Arg['meta'];
|
|
643
|
-
|
|
644
|
-
|
|
667
|
+
}>, RequireJoined> : Arg extends keyof T['relations'] ? JoinResultSelectable<T['relations'][Arg]['relationConfig']['query']['shape'], AliasOrTable<{
|
|
668
|
+
table: T['relations'][Arg]['relationConfig']['query']['table'];
|
|
669
|
+
meta: T['relations'][Arg]['relationConfig']['query']['meta'];
|
|
670
|
+
}>, RequireJoined> : Arg extends GenericJoinCallback ? JoinResultSelectable<ReturnType<Arg>['shape'], AliasOrTable<{
|
|
671
|
+
table: ReturnType<Arg>['table'];
|
|
672
|
+
meta: ReturnType<Arg>['meta'];
|
|
673
|
+
}>, RequireJoined> : Arg extends keyof T['withData'] ? T['withData'][Arg] extends WithDataItem ? JoinResultSelectable<T['withData'][Arg]['shape'], AliasOrTable<{
|
|
645
674
|
table: T['withData'][Arg]['table'];
|
|
646
675
|
meta: QueryMetaBase;
|
|
647
|
-
|
|
648
|
-
} : never : never, RequireJoined, RequireMain>;
|
|
676
|
+
}>, RequireJoined> : never : never, RequireMain>;
|
|
649
677
|
type GenericJoinCallback = (q: never) => PickQueryTableMetaResult;
|
|
650
678
|
type GenericJoinCallbackTuple = [GenericJoinCallback];
|
|
651
679
|
/**
|
|
@@ -689,20 +717,6 @@ type JoinAddSelectable<T extends PickQueryMeta, Selectable> = {
|
|
|
689
717
|
[K in keyof T['meta']]: K extends 'selectable' ? T['meta']['selectable'] & Selectable : T['meta'][K];
|
|
690
718
|
} : T[K];
|
|
691
719
|
};
|
|
692
|
-
type JoinOptionalMain<T extends PickQueryMetaResultReturnType, Selectable extends SelectableBase> = {
|
|
693
|
-
[K in keyof T]: K extends 'meta' ? {
|
|
694
|
-
[K in keyof T['meta']]: K extends 'selectable' ? {
|
|
695
|
-
[K in keyof T['meta']['selectable']]: {
|
|
696
|
-
as: T['meta']['selectable'][K]['as'];
|
|
697
|
-
column: QueryColumnToNullable<T['meta']['selectable'][K]['column']>;
|
|
698
|
-
};
|
|
699
|
-
} & Selectable : T['meta'][K];
|
|
700
|
-
} : K extends 'result' ? {
|
|
701
|
-
[K in keyof T['result']]: QueryColumnToNullable<T['result'][K]>;
|
|
702
|
-
} : K extends 'then' ? QueryThen<GetQueryResult<T, {
|
|
703
|
-
[K in keyof T['result']]: QueryColumnToNullable<T['result'][K]>;
|
|
704
|
-
}>> : T[K];
|
|
705
|
-
};
|
|
706
720
|
/**
|
|
707
721
|
* Map the `with` table first argument of `join` or `joinLateral` to a query type.
|
|
708
722
|
* Constructs `selectable` based on `with` table shape, and adds generic types to conform the `QueryBase` type.
|
|
@@ -2627,7 +2641,9 @@ declare function raw<T = never>(...args: StaticSQLArgs): RawSQL<QueryColumn<T>>;
|
|
|
2627
2641
|
declare function raw<T = never>(...args: [DynamicSQLArg<QueryColumn<T>>]): DynamicRawSQL<QueryColumn<T>>;
|
|
2628
2642
|
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>>>>[];
|
|
2629
2643
|
declare function sqlQueryArgsToExpression(args: SQLQueryArgs): RawSQL<QueryColumn>;
|
|
2630
|
-
|
|
2644
|
+
interface SqlFn {
|
|
2645
|
+
<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>;
|
|
2646
|
+
}
|
|
2631
2647
|
declare const sqlFn: SqlFn;
|
|
2632
2648
|
|
|
2633
2649
|
interface TableData {
|
|
@@ -3253,7 +3269,7 @@ type QueryDefaultReturnData<Shape extends QueryColumnsInit> = {
|
|
|
3253
3269
|
[K in DefaultSelectColumns<Shape>[number]]: Shape[K]['outputType'];
|
|
3254
3270
|
}[];
|
|
3255
3271
|
declare const anyShape: QueryColumnsInit;
|
|
3256
|
-
interface Db<Table extends string | undefined = undefined, Shape extends QueryColumnsInit = QueryColumnsInit, PrimaryKeys = never, UniqueColumns = never, UniqueColumnTuples = never, UniqueConstraints = never, ColumnTypes = DefaultColumnTypes<ColumnSchemaConfig>, ShapeWithComputed extends QueryColumnsInit = Shape, Scopes extends
|
|
3272
|
+
interface Db<Table extends string | undefined = undefined, Shape extends QueryColumnsInit = QueryColumnsInit, PrimaryKeys = never, UniqueColumns = never, UniqueColumnTuples = never, UniqueConstraints = never, ColumnTypes = DefaultColumnTypes<ColumnSchemaConfig>, ShapeWithComputed extends QueryColumnsInit = Shape, Scopes extends RecordUnknown | undefined = EmptyObject> extends DbBase<Adapter, Table, Shape, ColumnTypes, ShapeWithComputed>, QueryMethods<ColumnTypes>, QueryBase {
|
|
3257
3273
|
result: Pick<Shape, DefaultSelectColumns<Shape>[number]>;
|
|
3258
3274
|
queryBuilder: Db;
|
|
3259
3275
|
returnType: undefined;
|
|
@@ -3261,7 +3277,7 @@ interface Db<Table extends string | undefined = undefined, Shape extends QueryCo
|
|
|
3261
3277
|
windows: Query['windows'];
|
|
3262
3278
|
defaultSelectColumns: DefaultSelectColumns<Shape>;
|
|
3263
3279
|
relations: EmptyObject;
|
|
3264
|
-
withData:
|
|
3280
|
+
withData: EmptyObject;
|
|
3265
3281
|
error: new (message: string, length: number, name: QueryErrorName) => QueryError<this>;
|
|
3266
3282
|
meta: {
|
|
3267
3283
|
kind: 'select';
|
|
@@ -3346,10 +3362,20 @@ declare class Db<Table extends string | undefined = undefined, Shape extends Que
|
|
|
3346
3362
|
*/
|
|
3347
3363
|
queryArrays<R extends any[] = any[]>(...args: SQLQueryArgs): Promise<QueryArraysResult<R>>;
|
|
3348
3364
|
}
|
|
3349
|
-
|
|
3350
|
-
|
|
3351
|
-
|
|
3352
|
-
|
|
3365
|
+
interface DbTableConstructor<ColumnTypes> {
|
|
3366
|
+
<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>, ColumnTypes, Shape & ComputedColumnsFromOptions<Options['computed']>, MapTableScopesOption<Options>>;
|
|
3367
|
+
}
|
|
3368
|
+
type MapTableScopesOption<T> = T extends {
|
|
3369
|
+
scopes: RecordUnknown;
|
|
3370
|
+
} ? T extends {
|
|
3371
|
+
softDelete: true | PropertyKey;
|
|
3372
|
+
} ? T['scopes'] & {
|
|
3373
|
+
nonDeleted: unknown;
|
|
3374
|
+
} : T['scopes'] : T extends {
|
|
3375
|
+
softDelete: true | PropertyKey;
|
|
3376
|
+
} ? {
|
|
3377
|
+
nonDeleted: unknown;
|
|
3378
|
+
} : EmptyObject;
|
|
3353
3379
|
interface DbResult<ColumnTypes> extends Db<string, never, never, never, never, never, ColumnTypes>, DbTableConstructor<ColumnTypes> {
|
|
3354
3380
|
adapter: Adapter;
|
|
3355
3381
|
close: Adapter['close'];
|
|
@@ -3433,22 +3459,22 @@ interface DbResult<ColumnTypes> extends Db<string, never, never, never, never, n
|
|
|
3433
3459
|
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>;
|
|
3434
3460
|
declare const _initQueryBuilder: (adapter: Adapter, columnTypes: unknown, transactionStorage: AsyncLocalStorage<TransactionState>, commonOptions: DbTableOptions<unknown, undefined, QueryColumns>, options: DbSharedOptions) => Db;
|
|
3435
3461
|
|
|
3436
|
-
|
|
3462
|
+
interface ToSQLCtx {
|
|
3437
3463
|
queryBuilder: Db;
|
|
3438
3464
|
sql: string[];
|
|
3439
3465
|
values: unknown[];
|
|
3440
3466
|
aliasValue?: true;
|
|
3441
|
-
}
|
|
3467
|
+
}
|
|
3442
3468
|
type toSQLCacheKey = typeof toSQLCacheKey;
|
|
3443
3469
|
declare const toSQLCacheKey: unique symbol;
|
|
3444
|
-
|
|
3470
|
+
interface ToSQLOptions {
|
|
3445
3471
|
clearCache?: boolean;
|
|
3446
3472
|
values?: unknown[];
|
|
3447
|
-
}
|
|
3448
|
-
|
|
3473
|
+
}
|
|
3474
|
+
interface ToSqlOptionsInternal extends ToSQLOptions {
|
|
3449
3475
|
aliasValue?: true;
|
|
3450
|
-
}
|
|
3451
|
-
|
|
3476
|
+
}
|
|
3477
|
+
interface ToSQLQuery {
|
|
3452
3478
|
__isQuery: Query['__isQuery'];
|
|
3453
3479
|
q: Query['q'];
|
|
3454
3480
|
queryBuilder: Query['queryBuilder'];
|
|
@@ -3462,7 +3488,7 @@ type ToSQLQuery = {
|
|
|
3462
3488
|
returnType: Query['returnType'];
|
|
3463
3489
|
result: Query['result'];
|
|
3464
3490
|
shape: Query['shape'];
|
|
3465
|
-
}
|
|
3491
|
+
}
|
|
3466
3492
|
declare const toSQL: (table: ToSQLQuery, options?: ToSQLOptions) => Sql;
|
|
3467
3493
|
declare const makeSQL: (table: ToSQLQuery, options?: ToSqlOptionsInternal) => Sql;
|
|
3468
3494
|
declare function pushLimitSQL(sql: string[], values: unknown[], q: SelectQueryData): void;
|
|
@@ -4826,7 +4852,7 @@ declare class Having {
|
|
|
4826
4852
|
}
|
|
4827
4853
|
|
|
4828
4854
|
type AfterHook<Select extends PropertyKey[], Shape extends QueryColumns> = QueryAfterHook<{
|
|
4829
|
-
[K in
|
|
4855
|
+
[K in Select[number]]: K extends keyof Shape ? Shape[K]['outputType'] : never;
|
|
4830
4856
|
}[]>;
|
|
4831
4857
|
type HookSelectArg<T extends PickQueryShape> = (keyof T['shape'] & string)[];
|
|
4832
4858
|
type HookAction = 'Create' | 'Update' | 'Delete';
|
|
@@ -5024,7 +5050,7 @@ interface SelectSelf {
|
|
|
5024
5050
|
result: QueryColumns;
|
|
5025
5051
|
meta: QueryMetaBase;
|
|
5026
5052
|
returnType: QueryReturnType;
|
|
5027
|
-
withData:
|
|
5053
|
+
withData: EmptyObject;
|
|
5028
5054
|
}
|
|
5029
5055
|
type SelectArg<T extends SelectSelf> = '*' | keyof T['meta']['selectable'];
|
|
5030
5056
|
type SelectArgs<T extends SelectSelf> = ('*' | keyof T['meta']['selectable'])[];
|
|
@@ -6468,7 +6494,7 @@ interface QueryHelper<T extends PickQueryMetaShape, Args extends unknown[], Resu
|
|
|
6468
6494
|
};
|
|
6469
6495
|
result: QueryColumns;
|
|
6470
6496
|
windows: EmptyObject;
|
|
6471
|
-
withData:
|
|
6497
|
+
withData: WithDataItems;
|
|
6472
6498
|
}>(q: Q, ...args: Args): Result extends Query ? MergeQuery<Q, Result> : Result;
|
|
6473
6499
|
result: Result;
|
|
6474
6500
|
}
|
|
@@ -7061,10 +7087,12 @@ interface DbExtension {
|
|
|
7061
7087
|
name: string;
|
|
7062
7088
|
version?: string;
|
|
7063
7089
|
}
|
|
7064
|
-
|
|
7065
|
-
|
|
7090
|
+
interface DbDomainArg<ColumnTypes> {
|
|
7091
|
+
(columnTypes: ColumnTypes): ColumnType;
|
|
7092
|
+
}
|
|
7093
|
+
interface DbDomainArgRecord {
|
|
7066
7094
|
[K: string]: DbDomainArg<any>;
|
|
7067
|
-
}
|
|
7095
|
+
}
|
|
7068
7096
|
interface QueryInternal<SinglePrimaryKey = any, UniqueColumns = any, UniqueColumnNames = any, UniqueColumnTuples = any, UniqueConstraints = any> extends QueryInternalBase {
|
|
7069
7097
|
singlePrimaryKey: SinglePrimaryKey;
|
|
7070
7098
|
uniqueColumns: UniqueColumns;
|
|
@@ -7094,7 +7122,6 @@ interface WithDataItem {
|
|
|
7094
7122
|
interface WithDataItems {
|
|
7095
7123
|
[K: string]: WithDataItem;
|
|
7096
7124
|
}
|
|
7097
|
-
type WithDataBase = EmptyObject;
|
|
7098
7125
|
interface Query extends QueryBase, QueryMethods<unknown> {
|
|
7099
7126
|
queryBuilder: Db;
|
|
7100
7127
|
columnTypes: unknown;
|
|
@@ -7109,7 +7136,7 @@ interface Query extends QueryBase, QueryMethods<unknown> {
|
|
|
7109
7136
|
error: new (message: string, length: number, name: QueryErrorName) => QueryError;
|
|
7110
7137
|
}
|
|
7111
7138
|
interface PickQueryWithData {
|
|
7112
|
-
withData:
|
|
7139
|
+
withData: WithDataItems;
|
|
7113
7140
|
}
|
|
7114
7141
|
interface PickQueryWindows {
|
|
7115
7142
|
windows: EmptyObject;
|
|
@@ -7187,11 +7214,6 @@ interface QueryWithTable extends Query {
|
|
|
7187
7214
|
declare const queryTypeWithLimitOne: RecordKeyTrue;
|
|
7188
7215
|
declare const isQueryReturnsAll: (q: Query) => boolean;
|
|
7189
7216
|
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;
|
|
7190
|
-
type AddQuerySelect<T extends PickQueryMetaResultReturnType, Result extends QueryColumns> = {
|
|
7191
|
-
[K in keyof T]: K extends 'result' ? {
|
|
7192
|
-
[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;
|
|
7193
|
-
} : K extends 'then' ? QueryThen<GetQueryResult<T, Result>> : T[K];
|
|
7194
|
-
} & QueryMetaHasSelect;
|
|
7195
7217
|
interface QueryMetaHasSelect {
|
|
7196
7218
|
meta: {
|
|
7197
7219
|
hasSelect: true;
|
|
@@ -7315,7 +7337,11 @@ interface QueryOrExpression<T> {
|
|
|
7315
7337
|
value: QueryColumn<T>;
|
|
7316
7338
|
};
|
|
7317
7339
|
}
|
|
7318
|
-
|
|
7340
|
+
interface QueryOrExpressionBooleanOrNullResult {
|
|
7341
|
+
result: {
|
|
7342
|
+
value: QueryColumn<boolean | null>;
|
|
7343
|
+
};
|
|
7344
|
+
}
|
|
7319
7345
|
|
|
7320
7346
|
interface ColumnData extends ColumnDataBase {
|
|
7321
7347
|
maxChars?: number;
|
|
@@ -7961,4 +7987,4 @@ type CopyResult<T extends PickQueryMeta> = SetQueryKind<T, 'copy'>;
|
|
|
7961
7987
|
*/
|
|
7962
7988
|
declare function copyTableData<T extends PickQueryMetaShape>(query: T, arg: CopyArg<T>): CopyResult<T>;
|
|
7963
7989
|
|
|
7964
|
-
export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults,
|
|
7990
|
+
export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanQueryColumn, BoxColumn, ByteaColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, ColumnData, ColumnFromDbParams, ColumnInfoQueryData, 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, 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, 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 };
|