stabilize-orm 1.3.9 → 2.1.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 +1097 -561
- package/dist/auto-migrate.d.ts +34 -0
- package/dist/auto-migrate.d.ts.map +1 -0
- package/dist/auto-migrate.js +3003 -0
- package/dist/auto-migrate.js.map +163 -0
- package/dist/cache.d.ts +90 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +166 -0
- package/dist/cache.js.map +64 -0
- package/dist/client.d.ts +73 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +2997 -0
- package/dist/client.js.map +162 -0
- package/dist/hooks.d.ts +31 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +4 -0
- package/dist/hooks.js.map +11 -0
- package/dist/index.d.ts +101 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3183 -0
- package/dist/index.js.map +222 -0
- package/dist/logger.d.ts +40 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +8 -0
- package/dist/logger.js.map +11 -0
- package/dist/migrations.d.ts +31 -0
- package/dist/migrations.d.ts.map +1 -0
- package/dist/migrations.js +3009 -0
- package/dist/migrations.js.map +164 -0
- package/{model.ts → dist/model.d.ts} +124 -189
- package/dist/model.d.ts.map +1 -0
- package/dist/model.js +4 -0
- package/dist/model.js.map +10 -0
- package/dist/query-builder.d.ts +91 -0
- package/dist/query-builder.d.ts.map +1 -0
- package/dist/query-builder.js +14 -0
- package/dist/query-builder.js.map +12 -0
- package/dist/repository.d.ts +165 -0
- package/dist/repository.d.ts.map +1 -0
- package/dist/repository.js +176 -0
- package/dist/repository.js.map +69 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types.d.ts +110 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +10 -0
- package/dist/utils/encryption.d.ts +13 -0
- package/dist/utils/encryption.d.ts.map +1 -0
- package/dist/utils/encryption.js +4 -0
- package/dist/utils/encryption.js.map +10 -0
- package/package.json +96 -17
- package/.eslintrc.json +0 -10
- package/.github/ISSUE_TEMPLATE/PULL_REQUEST_TEMPLATE.md +0 -23
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -25
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -17
- package/.github/workflows/ci-cd.yml +0 -22
- package/CHANGELOG.md +0 -75
- package/CODE_OF_CONDUCT.md +0 -87
- package/CONTRIBUTING.md +0 -48
- package/FUNDING.md +0 -14
- package/SECURITY.md +0 -35
- package/SUPPORT.md +0 -18
- package/bun.lock +0 -667
- package/cache.ts +0 -181
- package/client.ts +0 -249
- package/docker-compose.yml +0 -22
- package/hooks.ts +0 -76
- package/index.ts +0 -158
- package/logger.ts +0 -127
- package/migrations.ts +0 -318
- package/public/logo_both-transparent.png +0 -0
- package/public/logo_iamge-transparent.png +0 -0
- package/public/logo_text-transparent.png +0 -0
- package/query-builder.ts +0 -209
- package/repository.ts +0 -1096
- package/tests/migrations.test.ts +0 -141
- package/tsconfig.json +0 -32
- package/types.ts +0 -106
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file client.ts
|
|
3
|
+
* @description Provides a unified database client for interacting with PostgreSQL, MySQL, and SQLite.
|
|
4
|
+
* @author ElectronSz
|
|
5
|
+
*/
|
|
6
|
+
import { type PoolClient } from "pg";
|
|
7
|
+
import mysql from "mysql2/promise";
|
|
8
|
+
import { type DBConfig } from "./types";
|
|
9
|
+
import { type Logger } from "./logger";
|
|
10
|
+
/**
|
|
11
|
+
* Provides a unified database client for interacting with PostgreSQL, MySQL, and SQLite.
|
|
12
|
+
*/
|
|
13
|
+
export declare class DBClient {
|
|
14
|
+
private client;
|
|
15
|
+
private logger;
|
|
16
|
+
readonly config: DBConfig;
|
|
17
|
+
private retryAttempts;
|
|
18
|
+
private retryDelay;
|
|
19
|
+
private maxJitter;
|
|
20
|
+
private preparedStatements;
|
|
21
|
+
isTransactionClient: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Constructs a new DBClient instance.
|
|
24
|
+
* @param config The database configuration object.
|
|
25
|
+
* @param logger Optional logger instance. Uses StabilizeLogger if not provided.
|
|
26
|
+
* @param existingClient Optional existing transaction client.
|
|
27
|
+
*/
|
|
28
|
+
constructor(config: DBConfig, logger?: Logger, existingClient?: PoolClient | mysql.PoolConnection | null);
|
|
29
|
+
/**
|
|
30
|
+
* Initializes the database client based on the configuration.
|
|
31
|
+
* @param config The database configuration object.
|
|
32
|
+
*/
|
|
33
|
+
private initializeClient;
|
|
34
|
+
/**
|
|
35
|
+
* Returns a random jitter value for retry logic.
|
|
36
|
+
* @returns A random number up to maxJitter.
|
|
37
|
+
*/
|
|
38
|
+
private getJitter;
|
|
39
|
+
/**
|
|
40
|
+
* Executes a SQL query with retries and returns the resulting rows.
|
|
41
|
+
* @param query The SQL query string.
|
|
42
|
+
* @param params Query parameters.
|
|
43
|
+
* @returns Array of resulting rows.
|
|
44
|
+
* @throws StabilizeError if all retry attempts fail.
|
|
45
|
+
*/
|
|
46
|
+
query<T>(query: string, params?: any[]): Promise<T[]>;
|
|
47
|
+
/**
|
|
48
|
+
* Runs a callback within a database transaction.
|
|
49
|
+
* Handles commit/rollback and connection release.
|
|
50
|
+
* @param callback The callback to execute within the transaction context.
|
|
51
|
+
* @returns The result of the callback.
|
|
52
|
+
* @throws StabilizeError if transactions are not supported or rollback is triggered.
|
|
53
|
+
*/
|
|
54
|
+
transaction<T>(callback: (txClient: DBClient) => Promise<T>): Promise<T>;
|
|
55
|
+
/**
|
|
56
|
+
* Closes the database connection.
|
|
57
|
+
* For pooled connections, ends the pool.
|
|
58
|
+
* @returns Promise that resolves once the connection is closed.
|
|
59
|
+
*/
|
|
60
|
+
close(): Promise<void>;
|
|
61
|
+
queryExec(query: string, params?: any[]): Promise<{
|
|
62
|
+
affectedRows: number;
|
|
63
|
+
}>;
|
|
64
|
+
/**
|
|
65
|
+
* Executes a migration query (DDL or DML statement) without returning results.
|
|
66
|
+
* Handles parameterized queries and statement preparation.
|
|
67
|
+
* @param query The SQL query string.
|
|
68
|
+
* @param params Query parameters.
|
|
69
|
+
* @returns Promise that resolves once the query is complete.
|
|
70
|
+
*/
|
|
71
|
+
migrationQuery(query: string, params?: any[]): Promise<void>;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,EAAE,KAAK,QAAQ,EAA0B,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,UAAU,CAAC;AA6BxD;;GAEG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAKW;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,SAAgB,MAAM,EAAE,QAAQ,CAAC;IACjC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,kBAAkB,CAAqC;IACxD,mBAAmB,EAAE,OAAO,CAAS;IAE5C;;;;;OAKG;gBAED,MAAM,EAAE,QAAQ,EAChB,MAAM,GAAE,MAA8B,EACtC,cAAc,GAAE,UAAU,GAAG,KAAK,CAAC,cAAc,GAAG,IAAW;IAgBjE;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;;OAGG;IACH,OAAO,CAAC,SAAS,CAAwC;IAEzD;;;;;;OAMG;IACG,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAsD/D;;;;;;OAMG;IACG,WAAW,CAAC,CAAC,EACjB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAC3C,OAAO,CAAC,CAAC,CAAC;IAoDb;;;;OAIG;IACG,KAAK;IAUL,SAAS,CACb,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,GAAG,EAAO,GACjB,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAyBpC;;;;;;OAMG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAoBvE"}
|