pqb 0.17.6 → 0.17.8
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 +25 -12
- package/dist/index.js +27 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +27 -8
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -2863,24 +2863,24 @@ type JoinArgs<T extends QueryBase, Arg extends JoinFirstArg<T>> = Arg extends Qu
|
|
|
2863
2863
|
*/
|
|
2864
2864
|
type JoinSelectable<Q extends Query> = keyof Q['result'] | `${AliasOrTable<Q>}.${StringKey<keyof Q['result']>}`;
|
|
2865
2865
|
type JoinQueryArgs<T extends QueryBase, Q extends Query> = [
|
|
2866
|
-
conditions: Record<JoinSelectable<Q>,
|
|
2866
|
+
conditions: Record<JoinSelectable<Q>, keyof T['selectable'] | Expression> | Expression | true
|
|
2867
2867
|
] | [
|
|
2868
2868
|
leftColumn: JoinSelectable<Q> | Expression,
|
|
2869
|
-
rightColumn:
|
|
2869
|
+
rightColumn: keyof T['selectable'] | Expression
|
|
2870
2870
|
] | [
|
|
2871
2871
|
leftColumn: JoinSelectable<Q> | Expression,
|
|
2872
2872
|
op: string,
|
|
2873
|
-
rightColumn:
|
|
2873
|
+
rightColumn: keyof T['selectable'] | Expression
|
|
2874
2874
|
];
|
|
2875
2875
|
type JoinWithArgs<T extends QueryBase, W extends keyof T['withData']> = [
|
|
2876
|
-
conditions: Record<WithSelectable<T, W>,
|
|
2876
|
+
conditions: Record<WithSelectable<T, W>, keyof T['selectable'] | Expression> | Expression
|
|
2877
2877
|
] | [
|
|
2878
2878
|
leftColumn: WithSelectable<T, W> | Expression,
|
|
2879
|
-
rightColumn:
|
|
2879
|
+
rightColumn: keyof T['selectable'] | Expression
|
|
2880
2880
|
] | [
|
|
2881
2881
|
leftColumn: WithSelectable<T, W> | Expression,
|
|
2882
2882
|
op: string,
|
|
2883
|
-
rightColumn:
|
|
2883
|
+
rightColumn: keyof T['selectable'] | Expression
|
|
2884
2884
|
];
|
|
2885
2885
|
/**
|
|
2886
2886
|
* Result of all `join` methods, not `joinLateral`.
|
|
@@ -5672,7 +5672,6 @@ type Query = QueryBase & QueryMethods<ColumnTypesBase> & {
|
|
|
5672
5672
|
shape: ColumnsShape;
|
|
5673
5673
|
singlePrimaryKey: string;
|
|
5674
5674
|
primaryKeys: string[];
|
|
5675
|
-
type: Record<string, unknown>;
|
|
5676
5675
|
inputType: Record<string, unknown>;
|
|
5677
5676
|
q: QueryData;
|
|
5678
5677
|
result: ColumnsShapeBase;
|
|
@@ -5686,7 +5685,6 @@ type Query = QueryBase & QueryMethods<ColumnTypesBase> & {
|
|
|
5686
5685
|
error: new (message: string, length: number, name: QueryErrorName) => QueryError;
|
|
5687
5686
|
isSubQuery: boolean;
|
|
5688
5687
|
};
|
|
5689
|
-
type Selectable<T extends QueryBase> = StringKey<keyof T['selectable']>;
|
|
5690
5688
|
type SelectableOfType<T extends QueryBase, Type> = StringKey<{
|
|
5691
5689
|
[K in keyof T['selectable']]: T['selectable'][K]['column']['type'] extends Type | null ? K : never;
|
|
5692
5690
|
}[keyof T['selectable']]>;
|
|
@@ -6767,9 +6765,7 @@ type ForeignKeyAction = 'NO ACTION' | 'RESTRICT' | 'CASCADE' | 'SET NULL' | 'SET
|
|
|
6767
6765
|
type ForeignKey<Table extends string, Columns extends string[]> = ({
|
|
6768
6766
|
fn(): new () => {
|
|
6769
6767
|
table: Table;
|
|
6770
|
-
columns:
|
|
6771
|
-
shape: ColumnsShape;
|
|
6772
|
-
};
|
|
6768
|
+
columns: ColumnsShape;
|
|
6773
6769
|
};
|
|
6774
6770
|
} | {
|
|
6775
6771
|
table: Table;
|
|
@@ -7135,9 +7131,26 @@ type Arg = {
|
|
|
7135
7131
|
$queryBuilder: Query;
|
|
7136
7132
|
} | Query;
|
|
7137
7133
|
declare const testTransaction: {
|
|
7134
|
+
/**
|
|
7135
|
+
* Start a test transaction.
|
|
7136
|
+
* The returned promise is resolved immediately when transaction starts, not waiting for it to end.
|
|
7137
|
+
*
|
|
7138
|
+
* @param arg - ORM instance or a queryable instance (such as db.someTable).
|
|
7139
|
+
*/
|
|
7138
7140
|
start(arg: Arg): Promise<void>;
|
|
7141
|
+
/**
|
|
7142
|
+
* Rollback a test transaction.
|
|
7143
|
+
*
|
|
7144
|
+
* @param arg - the same ORM or query argument passed into the `testTransaction.start`.
|
|
7145
|
+
*/
|
|
7139
7146
|
rollback(arg: Arg): Promise<void> | undefined;
|
|
7147
|
+
/**
|
|
7148
|
+
* Will roll back the current `testTransaction` (won't have any effect if it was rolled back already),
|
|
7149
|
+
* and if there's no nested test transactions left, it will close the db connection.
|
|
7150
|
+
*
|
|
7151
|
+
* @param arg - the same ORM or query argument passed into the `testTransaction.start`.
|
|
7152
|
+
*/
|
|
7140
7153
|
close(arg: Arg): Promise<void>;
|
|
7141
7154
|
};
|
|
7142
7155
|
|
|
7143
|
-
export { Adapter, AdapterConfig, AdapterOptions, AddQuerySelect, AddQueryWith, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayData, ArrayOfColumnsObjects, AsMethods, BaseOperators, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanNullable, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, ColumnData, ColumnExpression, ColumnFromDbParams, ColumnInfo, ColumnInfoMethods, ColumnInfoQueryData, ColumnOperators, ColumnType, ColumnTypes, ColumnsObject, ColumnsShape, CommonQueryData, CopyMethods, CopyOptions, CopyQueryData, Create, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CustomTypeColumn, DateBaseColumn, DateColumn, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbOptions, DbResult, DbTableOptions, DecimalBaseColumn, DecimalColumn, DefaultColumnTypes, Delete, DeleteMethodsNames, DeleteQueryData, DomainColumn, DoublePrecisionColumn, DropMode, EnumColumn, ExpressionOutput, FnExpression, FnExpressionArg, For, ForeignKey, ForeignKeyAction, ForeignKeyMatch, ForeignKeyOptions, From, FromArgs, FromResult, GetArg, GetQueryResult, GetStringArg, Having, HavingItem, HookAction, HookSelect, IdentityColumn, IndexColumnOptions, IndexOptions, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, Join, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinLateralCallback, JoinLateralItem, JoinLateralResult, JoinOverrides, JoinResult, JoinedParsers, JoinedShapes, JsonItem, JsonMethods, JsonModifiers, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumn, NumberColumnData, OnConflictItem, OnConflictMergeUpdate, OnConflictQueryBuilder, OnQueryBuilder, Operator, Operators, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgs, OrderItem, OrderTsQueryConfig, Over, PathColumn, PluckResultColumnType, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBeforeHook, QueryData, QueryError, QueryErrorName, QueryGet, QueryHookSelect, QueryHooks, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMethods, QueryResult, QueryReturnType, QueryReturnsAll, QuerySourceItem, QueryTransform, QueryTransformFn, QueryUpsertOrCreate, QueryWithTable, RawSQL, RawSqlMethods, RealColumn, RelationConfigBase, RelationQuery, RelationQueryBase, RelationSubQueries, RelationsBase, SearchArg, SearchMethods, SearchWeight, Select, SelectAggMethods, SelectArg, SelectItem, SelectQueryBuilder, SelectQueryData,
|
|
7156
|
+
export { Adapter, AdapterConfig, AdapterOptions, AddQuerySelect, AddQueryWith, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayData, ArrayOfColumnsObjects, AsMethods, BaseOperators, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanNullable, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, ColumnData, ColumnExpression, ColumnFromDbParams, ColumnInfo, ColumnInfoMethods, ColumnInfoQueryData, ColumnOperators, ColumnType, ColumnTypes, ColumnsObject, ColumnsShape, CommonQueryData, CopyMethods, CopyOptions, CopyQueryData, Create, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CustomTypeColumn, DateBaseColumn, DateColumn, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbOptions, DbResult, DbTableOptions, DecimalBaseColumn, DecimalColumn, DefaultColumnTypes, Delete, DeleteMethodsNames, DeleteQueryData, DomainColumn, DoublePrecisionColumn, DropMode, EnumColumn, ExpressionOutput, FnExpression, FnExpressionArg, For, ForeignKey, ForeignKeyAction, ForeignKeyMatch, ForeignKeyOptions, From, FromArgs, FromResult, GetArg, GetQueryResult, GetStringArg, Having, HavingItem, HookAction, HookSelect, IdentityColumn, IndexColumnOptions, IndexOptions, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, Join, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinLateralCallback, JoinLateralItem, JoinLateralResult, JoinOverrides, JoinResult, JoinedParsers, JoinedShapes, JsonItem, JsonMethods, JsonModifiers, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumn, NumberColumnData, OnConflictItem, OnConflictMergeUpdate, OnConflictQueryBuilder, OnQueryBuilder, Operator, Operators, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgs, OrderItem, OrderTsQueryConfig, Over, PathColumn, PluckResultColumnType, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBeforeHook, QueryData, QueryError, QueryErrorName, QueryGet, QueryHookSelect, QueryHooks, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMethods, QueryResult, QueryReturnType, QueryReturnsAll, QuerySourceItem, QueryTransform, QueryTransformFn, QueryUpsertOrCreate, QueryWithTable, RawSQL, RawSqlMethods, RealColumn, RelationConfigBase, RelationQuery, RelationQueryBase, RelationSubQueries, RelationsBase, SearchArg, SearchMethods, SearchWeight, Select, SelectAggMethods, SelectArg, SelectItem, SelectQueryBuilder, SelectQueryData, SelectableBase, SelectableFromShape, SelectableOfType, SelectableOrExpression, SelectableOrExpressionOfType, SerialColumn, SerialColumnData, SetQueryKind, SetQueryReturns, SetQueryReturnsAll, SetQueryReturnsColumn, SetQueryReturnsColumnInfo, SetQueryReturnsColumnOptional, SetQueryReturnsOne, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValue, SetQueryReturnsValueOptional, SetQueryReturnsVoid, SetQueryTableAlias, SetQueryWith, SimpleJoinItem, SingleColumnIndexOptions, SmallIntColumn, SmallSerialColumn, SortDir, StringColumn, SubQueryBuilder, TableData, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimeInterval, TimestampColumn, TimestampTZColumn, ToSQLCtx, ToSQLOptions, Transaction, TransactionAdapter, TransactionOptions, TransformMethods, 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, WhereQueryBase, WhereQueryBuilder, WhereResult, WhereSearchItem, WhereSearchResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowItem, With, WithDataBase, WithDataItem, WithItem, WithOptions, XMLColumn, addOr, addOrNot, addParserForRawExpression, addParserForSelectItem, addQueryOn, addWhere, addWhereIn, addWhereNot, anyShape, checkIfASimpleQuery, cloneQueryArrays, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnTypes, columnsByType, columnsShapeToCode, constraintPropsToCode, constraintToCode, createDb, createOperator, extendQuery, foreignKeyArgumentToCode, getClonedQueryData, getColumnTypes, getConstraintKind, getQueryAs, getShapeFromSelect, getSubQueryBuilder, getTableData, handleResult, identityToCode, indexToCode, instantiateColumn, isQueryReturnsAll, isSelectingCount, joinSubQuery, logColors, logParamToLogObject, makeColumnFn, makeColumnFnClass, makeRegexToFindInSql, makeSQL, newTableData, parseRecord, parseResult, primaryKeyToCode, processSelectArg, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, queryMethodByReturnType, queryTypeWithLimitOne, quote, quoteString, raw, referencesArgsToCode, resetTableData, resolveSubQueryCallback, saveSearchAlias, setQueryObjectValue, simplifyColumnDefault, templateLiteralToSQL, testTransaction, throwIfNoWhere, toSQL, toSQLCacheKey };
|
package/dist/index.js
CHANGED
|
@@ -10195,12 +10195,18 @@ class Rollback extends Error {
|
|
|
10195
10195
|
const trxForTest = Symbol("trxForTest");
|
|
10196
10196
|
const argToDb = (arg) => "$queryBuilder" in arg ? arg.$queryBuilder : arg;
|
|
10197
10197
|
const testTransaction = {
|
|
10198
|
+
/**
|
|
10199
|
+
* Start a test transaction.
|
|
10200
|
+
* The returned promise is resolved immediately when transaction starts, not waiting for it to end.
|
|
10201
|
+
*
|
|
10202
|
+
* @param arg - ORM instance or a queryable instance (such as db.someTable).
|
|
10203
|
+
*/
|
|
10198
10204
|
start(arg) {
|
|
10199
10205
|
var _a, _b;
|
|
10200
10206
|
const db = argToDb(arg);
|
|
10201
10207
|
const { transactionStorage } = db.internal;
|
|
10202
10208
|
const { getStore } = transactionStorage;
|
|
10203
|
-
const adapter = db.baseQuery.q;
|
|
10209
|
+
const { adapter } = db.baseQuery.q;
|
|
10204
10210
|
const data = {
|
|
10205
10211
|
adapter: {
|
|
10206
10212
|
query: adapter.query,
|
|
@@ -10232,17 +10238,30 @@ const testTransaction = {
|
|
|
10232
10238
|
});
|
|
10233
10239
|
});
|
|
10234
10240
|
},
|
|
10241
|
+
/**
|
|
10242
|
+
* Rollback a test transaction.
|
|
10243
|
+
*
|
|
10244
|
+
* @param arg - the same ORM or query argument passed into the `testTransaction.start`.
|
|
10245
|
+
*/
|
|
10235
10246
|
rollback(arg) {
|
|
10236
|
-
var _a
|
|
10247
|
+
var _a;
|
|
10237
10248
|
const db = argToDb(arg);
|
|
10238
|
-
const data =
|
|
10239
|
-
|
|
10240
|
-
|
|
10241
|
-
|
|
10242
|
-
|
|
10249
|
+
const data = db.internal[trxForTest];
|
|
10250
|
+
const last = data == null ? void 0 : data.pop();
|
|
10251
|
+
if (!last)
|
|
10252
|
+
return;
|
|
10253
|
+
if ((data == null ? void 0 : data.length) === 1) {
|
|
10254
|
+
Object.assign(db.baseQuery.q.adapter, data[0].adapter);
|
|
10243
10255
|
}
|
|
10244
|
-
|
|
10256
|
+
(_a = last.reject) == null ? void 0 : _a.call(last, new Rollback());
|
|
10257
|
+
return last.promise;
|
|
10245
10258
|
},
|
|
10259
|
+
/**
|
|
10260
|
+
* Will roll back the current `testTransaction` (won't have any effect if it was rolled back already),
|
|
10261
|
+
* and if there's no nested test transactions left, it will close the db connection.
|
|
10262
|
+
*
|
|
10263
|
+
* @param arg - the same ORM or query argument passed into the `testTransaction.start`.
|
|
10264
|
+
*/
|
|
10246
10265
|
async close(arg) {
|
|
10247
10266
|
var _a;
|
|
10248
10267
|
const db = argToDb(arg);
|