@zudojs/database 1.3.2 → 1.5.0
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/README.md +83 -0
- package/dist/cache/cache.memory.d.ts +0 -1
- package/dist/cache/cache.memory.js +0 -1
- package/dist/cache/index.d.ts +0 -1
- package/dist/cache/index.js +0 -1
- package/dist/database/database.core.d.ts +20 -7
- package/dist/database/database.core.js +8 -6
- package/dist/database/index.d.ts +0 -1
- package/dist/database/index.js +0 -1
- package/dist/databaseClient/databaseClient.core.d.ts +30 -15
- package/dist/databaseClient/databaseClient.core.js +19 -3
- package/dist/databaseClient/databaseClient.errors.d.ts +19 -2
- package/dist/databaseClient/databaseClient.errors.js +8 -1
- package/dist/databaseClient/databaseClient.logger.d.ts +0 -1
- package/dist/databaseClient/databaseClient.logger.js +0 -1
- package/dist/databaseClient/databaseClient.type.d.ts +52 -0
- package/dist/databaseClient/databaseClient.type.js +11 -0
- package/dist/databaseClient/index.d.ts +2 -3
- package/dist/databaseClient/index.js +1 -2
- package/dist/databaseConnection/databaseConnection.manager.d.ts +0 -1
- package/dist/databaseConnection/databaseConnection.manager.js +0 -1
- package/dist/databaseConnection/index.d.ts +0 -1
- package/dist/databaseConnection/index.js +0 -1
- package/dist/databaseType/databaseType.type.d.ts +6 -5
- package/dist/databaseType/databaseType.type.js +0 -1
- package/dist/databaseType/index.d.ts +0 -1
- package/dist/databaseType/index.js +0 -1
- package/dist/health/health.check.d.ts +0 -1
- package/dist/health/health.check.js +0 -1
- package/dist/health/index.d.ts +0 -1
- package/dist/health/index.js +0 -1
- package/dist/index.d.ts +3 -4
- package/dist/index.js +2 -3
- package/dist/locks/index.d.ts +0 -1
- package/dist/locks/index.js +0 -1
- package/dist/locks/locks.core.d.ts +8 -7
- package/dist/locks/locks.core.js +2 -1
- package/dist/migration/index.d.ts +0 -1
- package/dist/migration/index.js +0 -1
- package/dist/migration/migration.dialect.d.ts +0 -1
- package/dist/migration/migration.dialect.js +0 -1
- package/dist/migration/migration.helpers.d.ts +4 -4
- package/dist/migration/migration.helpers.js +4 -1
- package/dist/migration/migration.runner.d.ts +16 -5
- package/dist/migration/migration.runner.js +69 -17
- package/dist/migration/migration.types.d.ts +20 -6
- package/dist/migration/migration.types.js +0 -1
- package/dist/pagination/index.d.ts +1 -1
- package/dist/pagination/index.js +1 -1
- package/dist/pagination/pagination.core.d.ts +0 -1
- package/dist/pagination/pagination.core.js +0 -1
- package/dist/pagination/pagination.cursorError.d.ts +0 -1
- package/dist/pagination/pagination.cursorError.js +0 -1
- package/dist/pagination/pagination.keyset.d.ts +12 -1
- package/dist/pagination/pagination.keyset.js +15 -3
- package/dist/pagination/pagination.keysetDirection.d.ts +0 -1
- package/dist/pagination/pagination.keysetDirection.js +0 -1
- package/dist/pagination/pagination.keysetValue.d.ts +37 -0
- package/dist/pagination/pagination.keysetValue.js +55 -0
- package/dist/queryBuilder/index.d.ts +0 -1
- package/dist/queryBuilder/index.js +0 -1
- package/dist/queryBuilder/queryBuilder.core.d.ts +0 -1
- package/dist/queryBuilder/queryBuilder.core.js +0 -1
- package/dist/queryBuilder/queryBuilder.factory.d.ts +0 -1
- package/dist/queryBuilder/queryBuilder.factory.js +0 -1
- package/dist/queryBuilder/queryBuilder.filter.d.ts +0 -1
- package/dist/queryBuilder/queryBuilder.filter.js +0 -1
- package/dist/queryBuilder/queryBuilder.prisma.d.ts +0 -1
- package/dist/queryBuilder/queryBuilder.prisma.js +0 -1
- package/dist/queryBuilder/queryBuilder.type.d.ts +0 -1
- package/dist/queryBuilder/queryBuilder.type.js +0 -1
- package/dist/relations/index.d.ts +0 -1
- package/dist/relations/index.js +0 -1
- package/dist/relations/relations.definition.d.ts +0 -1
- package/dist/relations/relations.definition.js +0 -1
- package/dist/repository/index.d.ts +1 -2
- package/dist/repository/index.js +0 -1
- package/dist/repository/repository.base.d.ts +27 -1
- package/dist/repository/repository.base.js +13 -2
- package/dist/repository/repository.delegate.d.ts +0 -1
- package/dist/repository/repository.delegate.js +0 -1
- package/dist/repository/repository.errors.d.ts +3 -1
- package/dist/repository/repository.errors.js +17 -2
- package/dist/seed/index.d.ts +0 -1
- package/dist/seed/index.js +0 -1
- package/dist/seed/seed.runner.d.ts +14 -12
- package/dist/seed/seed.runner.js +0 -1
- package/dist/transaction/index.d.ts +0 -1
- package/dist/transaction/index.js +0 -1
- package/dist/transaction/transaction.backoff.d.ts +0 -1
- package/dist/transaction/transaction.backoff.js +0 -1
- package/dist/transaction/transaction.core.d.ts +27 -11
- package/dist/transaction/transaction.core.js +11 -2
- package/dist/unitOfWork/index.d.ts +0 -1
- package/dist/unitOfWork/index.js +0 -1
- package/dist/unitOfWork/unitOfWork.core.d.ts +12 -11
- package/dist/unitOfWork/unitOfWork.core.js +0 -1
- package/package.json +4 -4
|
@@ -8,37 +8,38 @@ import type { TransactionCallback, TransactionOptions } from "../databaseType/da
|
|
|
8
8
|
* Repositories must be rebound to the transaction client handed to the
|
|
9
9
|
* callback (see `BaseRepository.withTransaction`); repositories built from
|
|
10
10
|
* the root client run outside the transaction.
|
|
11
|
+
*
|
|
12
|
+
* `TTransaction` is the transaction client handed to the callback.
|
|
11
13
|
*/
|
|
12
|
-
export interface UnitOfWork {
|
|
13
|
-
execute<TResult>(callback: TransactionCallback<
|
|
14
|
+
export interface UnitOfWork<TTransaction extends DatabaseTransactionContext = DatabaseTransactionContext> {
|
|
15
|
+
execute<TResult>(callback: TransactionCallback<TTransaction, TResult>, options?: TransactionOptions): Promise<TResult>;
|
|
14
16
|
}
|
|
15
17
|
/**
|
|
16
18
|
* Configuration for a unit of work.
|
|
17
19
|
*/
|
|
18
|
-
export interface UnitOfWorkOptions {
|
|
19
|
-
readonly client: DatabaseClient
|
|
20
|
+
export interface UnitOfWorkOptions<TTransaction extends DatabaseTransactionContext = DatabaseTransactionContext> {
|
|
21
|
+
readonly client: DatabaseClient<TTransaction>;
|
|
20
22
|
}
|
|
21
23
|
/**
|
|
22
24
|
* Prisma-backed unit of work.
|
|
23
25
|
*/
|
|
24
|
-
export declare class DatabaseUnitOfWork implements UnitOfWork {
|
|
26
|
+
export declare class DatabaseUnitOfWork<TTransaction extends DatabaseTransactionContext = DatabaseTransactionContext> implements UnitOfWork<TTransaction> {
|
|
25
27
|
private readonly client;
|
|
26
|
-
constructor(options: UnitOfWorkOptions);
|
|
28
|
+
constructor(options: UnitOfWorkOptions<TTransaction>);
|
|
27
29
|
/**
|
|
28
30
|
* Executes a callback inside a transaction.
|
|
29
31
|
*/
|
|
30
|
-
execute<TResult>(callback: TransactionCallback<
|
|
32
|
+
execute<TResult>(callback: TransactionCallback<TTransaction, TResult>, options?: TransactionOptions): Promise<TResult>;
|
|
31
33
|
/**
|
|
32
34
|
* Returns the database client used by this unit of work.
|
|
33
35
|
*/
|
|
34
|
-
getClient(): DatabaseClient
|
|
36
|
+
getClient(): DatabaseClient<TTransaction>;
|
|
35
37
|
}
|
|
36
38
|
/**
|
|
37
39
|
* Creates a database unit of work.
|
|
38
40
|
*/
|
|
39
|
-
export declare function createUnitOfWork(client: DatabaseClient): DatabaseUnitOfWork
|
|
41
|
+
export declare function createUnitOfWork<TTransaction extends DatabaseTransactionContext = DatabaseTransactionContext>(client: DatabaseClient<TTransaction>): DatabaseUnitOfWork<TTransaction>;
|
|
40
42
|
/**
|
|
41
43
|
* Executes a callback as a single database transaction.
|
|
42
44
|
*/
|
|
43
|
-
export declare function executeUnitOfWork<TResult>(client: DatabaseClient
|
|
44
|
-
//# sourceMappingURL=unitOfWork.core.d.ts.map
|
|
45
|
+
export declare function executeUnitOfWork<TResult, TTransaction extends DatabaseTransactionContext = DatabaseTransactionContext>(client: DatabaseClient<TTransaction>, callback: TransactionCallback<TTransaction, TResult>, options?: TransactionOptions): Promise<TResult>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zudojs/database",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "Database abstraction layer with clients, repositories, transactions, and query building for Zudojs applications.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -41,9 +41,9 @@
|
|
|
41
41
|
"!dist/.tsbuildinfo"
|
|
42
42
|
],
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@zudojs/errors": "1.
|
|
45
|
-
"@zudojs/logger": "1.
|
|
46
|
-
"@zudojs/types": "1.
|
|
44
|
+
"@zudojs/errors": "1.4.0",
|
|
45
|
+
"@zudojs/logger": "1.5.0",
|
|
46
|
+
"@zudojs/types": "1.3.0"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
49
|
"@prisma/client": ">=7.0.0 <8"
|