pqb 0.35.2 → 0.35.3
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 +92 -74
- 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,8 +3362,10 @@ 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
|
-
|
|
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['scopes'], Options['softDelete']>>;
|
|
3367
|
+
}
|
|
3368
|
+
type MapTableScopesOption<Scopes extends RecordUnknown | undefined, SoftDelete extends true | PropertyKey | undefined> = {
|
|
3351
3369
|
[K in keyof Scopes | (SoftDelete extends true | PropertyKey ? 'nonDeleted' : never)]: unknown;
|
|
3352
3370
|
};
|
|
3353
3371
|
interface DbResult<ColumnTypes> extends Db<string, never, never, never, never, never, ColumnTypes>, DbTableConstructor<ColumnTypes> {
|
|
@@ -3433,22 +3451,22 @@ interface DbResult<ColumnTypes> extends Db<string, never, never, never, never, n
|
|
|
3433
3451
|
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
3452
|
declare const _initQueryBuilder: (adapter: Adapter, columnTypes: unknown, transactionStorage: AsyncLocalStorage<TransactionState>, commonOptions: DbTableOptions<unknown, undefined, QueryColumns>, options: DbSharedOptions) => Db;
|
|
3435
3453
|
|
|
3436
|
-
|
|
3454
|
+
interface ToSQLCtx {
|
|
3437
3455
|
queryBuilder: Db;
|
|
3438
3456
|
sql: string[];
|
|
3439
3457
|
values: unknown[];
|
|
3440
3458
|
aliasValue?: true;
|
|
3441
|
-
}
|
|
3459
|
+
}
|
|
3442
3460
|
type toSQLCacheKey = typeof toSQLCacheKey;
|
|
3443
3461
|
declare const toSQLCacheKey: unique symbol;
|
|
3444
|
-
|
|
3462
|
+
interface ToSQLOptions {
|
|
3445
3463
|
clearCache?: boolean;
|
|
3446
3464
|
values?: unknown[];
|
|
3447
|
-
}
|
|
3448
|
-
|
|
3465
|
+
}
|
|
3466
|
+
interface ToSqlOptionsInternal extends ToSQLOptions {
|
|
3449
3467
|
aliasValue?: true;
|
|
3450
|
-
}
|
|
3451
|
-
|
|
3468
|
+
}
|
|
3469
|
+
interface ToSQLQuery {
|
|
3452
3470
|
__isQuery: Query['__isQuery'];
|
|
3453
3471
|
q: Query['q'];
|
|
3454
3472
|
queryBuilder: Query['queryBuilder'];
|
|
@@ -3462,7 +3480,7 @@ type ToSQLQuery = {
|
|
|
3462
3480
|
returnType: Query['returnType'];
|
|
3463
3481
|
result: Query['result'];
|
|
3464
3482
|
shape: Query['shape'];
|
|
3465
|
-
}
|
|
3483
|
+
}
|
|
3466
3484
|
declare const toSQL: (table: ToSQLQuery, options?: ToSQLOptions) => Sql;
|
|
3467
3485
|
declare const makeSQL: (table: ToSQLQuery, options?: ToSqlOptionsInternal) => Sql;
|
|
3468
3486
|
declare function pushLimitSQL(sql: string[], values: unknown[], q: SelectQueryData): void;
|
|
@@ -4826,7 +4844,7 @@ declare class Having {
|
|
|
4826
4844
|
}
|
|
4827
4845
|
|
|
4828
4846
|
type AfterHook<Select extends PropertyKey[], Shape extends QueryColumns> = QueryAfterHook<{
|
|
4829
|
-
[K in
|
|
4847
|
+
[K in Select[number]]: K extends keyof Shape ? Shape[K]['outputType'] : never;
|
|
4830
4848
|
}[]>;
|
|
4831
4849
|
type HookSelectArg<T extends PickQueryShape> = (keyof T['shape'] & string)[];
|
|
4832
4850
|
type HookAction = 'Create' | 'Update' | 'Delete';
|
|
@@ -5024,7 +5042,7 @@ interface SelectSelf {
|
|
|
5024
5042
|
result: QueryColumns;
|
|
5025
5043
|
meta: QueryMetaBase;
|
|
5026
5044
|
returnType: QueryReturnType;
|
|
5027
|
-
withData:
|
|
5045
|
+
withData: EmptyObject;
|
|
5028
5046
|
}
|
|
5029
5047
|
type SelectArg<T extends SelectSelf> = '*' | keyof T['meta']['selectable'];
|
|
5030
5048
|
type SelectArgs<T extends SelectSelf> = ('*' | keyof T['meta']['selectable'])[];
|
|
@@ -6468,7 +6486,7 @@ interface QueryHelper<T extends PickQueryMetaShape, Args extends unknown[], Resu
|
|
|
6468
6486
|
};
|
|
6469
6487
|
result: QueryColumns;
|
|
6470
6488
|
windows: EmptyObject;
|
|
6471
|
-
withData:
|
|
6489
|
+
withData: WithDataItems;
|
|
6472
6490
|
}>(q: Q, ...args: Args): Result extends Query ? MergeQuery<Q, Result> : Result;
|
|
6473
6491
|
result: Result;
|
|
6474
6492
|
}
|
|
@@ -7061,10 +7079,12 @@ interface DbExtension {
|
|
|
7061
7079
|
name: string;
|
|
7062
7080
|
version?: string;
|
|
7063
7081
|
}
|
|
7064
|
-
|
|
7065
|
-
|
|
7082
|
+
interface DbDomainArg<ColumnTypes> {
|
|
7083
|
+
(columnTypes: ColumnTypes): ColumnType;
|
|
7084
|
+
}
|
|
7085
|
+
interface DbDomainArgRecord {
|
|
7066
7086
|
[K: string]: DbDomainArg<any>;
|
|
7067
|
-
}
|
|
7087
|
+
}
|
|
7068
7088
|
interface QueryInternal<SinglePrimaryKey = any, UniqueColumns = any, UniqueColumnNames = any, UniqueColumnTuples = any, UniqueConstraints = any> extends QueryInternalBase {
|
|
7069
7089
|
singlePrimaryKey: SinglePrimaryKey;
|
|
7070
7090
|
uniqueColumns: UniqueColumns;
|
|
@@ -7094,7 +7114,6 @@ interface WithDataItem {
|
|
|
7094
7114
|
interface WithDataItems {
|
|
7095
7115
|
[K: string]: WithDataItem;
|
|
7096
7116
|
}
|
|
7097
|
-
type WithDataBase = EmptyObject;
|
|
7098
7117
|
interface Query extends QueryBase, QueryMethods<unknown> {
|
|
7099
7118
|
queryBuilder: Db;
|
|
7100
7119
|
columnTypes: unknown;
|
|
@@ -7109,7 +7128,7 @@ interface Query extends QueryBase, QueryMethods<unknown> {
|
|
|
7109
7128
|
error: new (message: string, length: number, name: QueryErrorName) => QueryError;
|
|
7110
7129
|
}
|
|
7111
7130
|
interface PickQueryWithData {
|
|
7112
|
-
withData:
|
|
7131
|
+
withData: WithDataItems;
|
|
7113
7132
|
}
|
|
7114
7133
|
interface PickQueryWindows {
|
|
7115
7134
|
windows: EmptyObject;
|
|
@@ -7187,11 +7206,6 @@ interface QueryWithTable extends Query {
|
|
|
7187
7206
|
declare const queryTypeWithLimitOne: RecordKeyTrue;
|
|
7188
7207
|
declare const isQueryReturnsAll: (q: Query) => boolean;
|
|
7189
7208
|
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
7209
|
interface QueryMetaHasSelect {
|
|
7196
7210
|
meta: {
|
|
7197
7211
|
hasSelect: true;
|
|
@@ -7315,7 +7329,11 @@ interface QueryOrExpression<T> {
|
|
|
7315
7329
|
value: QueryColumn<T>;
|
|
7316
7330
|
};
|
|
7317
7331
|
}
|
|
7318
|
-
|
|
7332
|
+
interface QueryOrExpressionBooleanOrNullResult {
|
|
7333
|
+
result: {
|
|
7334
|
+
value: QueryColumn<boolean | null>;
|
|
7335
|
+
};
|
|
7336
|
+
}
|
|
7319
7337
|
|
|
7320
7338
|
interface ColumnData extends ColumnDataBase {
|
|
7321
7339
|
maxChars?: number;
|
|
@@ -7961,4 +7979,4 @@ type CopyResult<T extends PickQueryMeta> = SetQueryKind<T, 'copy'>;
|
|
|
7961
7979
|
*/
|
|
7962
7980
|
declare function copyTableData<T extends PickQueryMetaShape>(query: T, arg: CopyArg<T>): CopyResult<T>;
|
|
7963
7981
|
|
|
7964
|
-
export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults,
|
|
7982
|
+
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 };
|