@plyaz/db 0.1.0 → 0.2.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.
Files changed (62) hide show
  1. package/README.md +98 -134
  2. package/dist/adapters/drizzle/DrizzleAdapter.d.ts +109 -9
  3. package/dist/adapters/drizzle/DrizzleAdapter.d.ts.map +1 -1
  4. package/dist/adapters/index.d.ts +5 -0
  5. package/dist/adapters/index.d.ts.map +1 -1
  6. package/dist/adapters/mock/MockAdapter.d.ts +88 -0
  7. package/dist/adapters/mock/MockAdapter.d.ts.map +1 -0
  8. package/dist/adapters/sql/SQLAdapter.d.ts +29 -6
  9. package/dist/adapters/sql/SQLAdapter.d.ts.map +1 -1
  10. package/dist/adapters/supabase/SupabaseAdapter.d.ts +9 -2
  11. package/dist/adapters/supabase/SupabaseAdapter.d.ts.map +1 -1
  12. package/dist/advanced/multi-tenancy/TenantRepository.d.ts +1 -7
  13. package/dist/advanced/multi-tenancy/TenantRepository.d.ts.map +1 -1
  14. package/dist/advanced/read-replica/ReadReplicaAdapter.d.ts +3 -2
  15. package/dist/advanced/read-replica/ReadReplicaAdapter.d.ts.map +1 -1
  16. package/dist/cli/index.d.ts +27 -0
  17. package/dist/cli/index.d.ts.map +1 -0
  18. package/dist/cli/index.js +9201 -0
  19. package/dist/cli/index.js.map +1 -0
  20. package/dist/extensions/AuditExtension.d.ts +56 -9
  21. package/dist/extensions/AuditExtension.d.ts.map +1 -1
  22. package/dist/extensions/CachingAdapter.d.ts +5 -4
  23. package/dist/extensions/CachingAdapter.d.ts.map +1 -1
  24. package/dist/extensions/EncryptionExtension.d.ts +5 -4
  25. package/dist/extensions/EncryptionExtension.d.ts.map +1 -1
  26. package/dist/extensions/MultiReadExtension.d.ts +95 -0
  27. package/dist/extensions/MultiReadExtension.d.ts.map +1 -0
  28. package/dist/extensions/MultiWriteExtension.d.ts +67 -0
  29. package/dist/extensions/MultiWriteExtension.d.ts.map +1 -0
  30. package/dist/extensions/ReadReplicaAdapter.d.ts +4 -3
  31. package/dist/extensions/ReadReplicaAdapter.d.ts.map +1 -1
  32. package/dist/extensions/SoftDeleteExtension.d.ts +5 -4
  33. package/dist/extensions/SoftDeleteExtension.d.ts.map +1 -1
  34. package/dist/extensions/index.d.ts +4 -0
  35. package/dist/extensions/index.d.ts.map +1 -1
  36. package/dist/factory/AdapterFactory.d.ts.map +1 -1
  37. package/dist/factory/createDatabaseService.d.ts.map +1 -1
  38. package/dist/index.cjs +3298 -396
  39. package/dist/index.cjs.map +1 -1
  40. package/dist/index.d.ts +6 -0
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.mjs +4441 -1562
  43. package/dist/index.mjs.map +1 -1
  44. package/dist/migrations/MigrationManager.d.ts +128 -0
  45. package/dist/migrations/MigrationManager.d.ts.map +1 -0
  46. package/dist/migrations/generateDownMigration.d.ts +25 -0
  47. package/dist/migrations/generateDownMigration.d.ts.map +1 -0
  48. package/dist/migrations/index.d.ts +10 -0
  49. package/dist/migrations/index.d.ts.map +1 -0
  50. package/dist/repository/BaseRepository.d.ts +109 -23
  51. package/dist/repository/BaseRepository.d.ts.map +1 -1
  52. package/dist/seeds/SeedManager.d.ts +120 -0
  53. package/dist/seeds/SeedManager.d.ts.map +1 -0
  54. package/dist/seeds/index.d.ts +10 -0
  55. package/dist/seeds/index.d.ts.map +1 -0
  56. package/dist/service/DatabaseService.d.ts +89 -13
  57. package/dist/service/DatabaseService.d.ts.map +1 -1
  58. package/dist/service/EventEmitter.d.ts +3 -14
  59. package/dist/service/EventEmitter.d.ts.map +1 -1
  60. package/dist/service/HealthManager.d.ts +42 -3
  61. package/dist/service/HealthManager.d.ts.map +1 -1
  62. package/package.json +9 -5
@@ -17,7 +17,7 @@ import type { DatabaseAdapterType, DatabaseResult, Filter, DatabaseHealthStatus,
17
17
  *
18
18
  * **Called by:** ReadReplicaAdapter (or DatabaseService if no read replicas)
19
19
  * **Calls:** CachingAdapter (or next adapter in chain)
20
- * **Writes to:** Daily audit tables (audit_YYYYMMDD)
20
+ * **Writes to:** Daily partitioned audit tables ({schema}.audit_log_yyyy_mm_dd)
21
21
  *
22
22
  * **Audit Flow:**
23
23
  * 1. **CREATE:** Records after-state only
@@ -64,9 +64,13 @@ import type { DatabaseAdapterType, DatabaseResult, Filter, DatabaseHealthStatus,
64
64
  * ```
65
65
  */
66
66
  export declare class AuditAdapter implements DatabaseAdapterType {
67
- private baseAdapter;
67
+ baseAdapter: DatabaseAdapterType;
68
68
  private config;
69
69
  private auditContext;
70
+ /** Cached schema-qualified table name */
71
+ private auditSchema;
72
+ /** Whether to use daily partitioned tables */
73
+ private usePartitionedTables;
70
74
  /**
71
75
  * Creates a new AuditAdapter instance.
72
76
  *
@@ -80,9 +84,11 @@ export declare class AuditAdapter implements DatabaseAdapterType {
80
84
  * ```typescript
81
85
  * const auditAdapter = new AuditAdapter(baseAdapter, {
82
86
  * enabled: true,
83
- * retentionDays: 90,
87
+ * retentionDays: 180,
84
88
  * excludeFields: ['password', 'token'],
85
89
  * excludeTables: ['temp_data'],
90
+ * schema: 'audit',
91
+ * usePartitionedTables: true,
86
92
  * onAuditAfterWrite: async (event) => {
87
93
  * await complianceService.recordAudit(event);
88
94
  * }
@@ -94,7 +100,13 @@ export declare class AuditAdapter implements DatabaseAdapterType {
94
100
  retentionDays?: number;
95
101
  excludeFields?: string[];
96
102
  excludeTables?: string[];
103
+ /** Database schema for audit tables (default: 'audit') */
104
+ schema?: string;
105
+ /** Use daily partitioned tables (audit_log_yyyy_mm_dd format) (default: true) */
106
+ usePartitionedTables?: boolean;
97
107
  onAuditAfterWrite?: (event: AuditEvent) => void | Promise<void>;
108
+ /** Encrypted fields config from encryption extension (for audit metadata) */
109
+ encryptedFields?: Record<string, string[]>;
98
110
  });
99
111
  /**
100
112
  * Initializes the audit adapter and underlying adapter.
@@ -139,6 +151,7 @@ export declare class AuditAdapter implements DatabaseAdapterType {
139
151
  * ```
140
152
  */
141
153
  disconnect(): Promise<void>;
154
+ close(): Promise<DatabaseResult<void>>;
142
155
  /**
143
156
  * Gets the underlying database client.
144
157
  *
@@ -262,12 +275,33 @@ export declare class AuditAdapter implements DatabaseAdapterType {
262
275
  * console.log('Found users:', users.value?.data.length);
263
276
  * ```
264
277
  */
265
- findMany<T>(table: string, options?: QueryOptions): Promise<DatabaseResult<PaginatedResult<T>>>;
266
- create<T>(table: string, data: T): Promise<DatabaseResult<T>>;
278
+ findMany<T extends Record<string, unknown>>(table: string, options?: QueryOptions<T>): Promise<DatabaseResult<PaginatedResult<T>>>;
279
+ create<T extends Record<string, unknown>>(table: string, data: T): Promise<DatabaseResult<T>>;
267
280
  private validateCreateParams;
268
- private handleCreateAudit;
269
281
  update<T>(table: string, id: string, data: Partial<T>): Promise<DatabaseResult<T>>;
270
282
  delete(table: string, id: string): Promise<DatabaseResult<void>>;
283
+ /**
284
+ * Logs operation failures to audit for compliance tracking.
285
+ * Captures the before state, attempted changes, and error details.
286
+ */
287
+ private logOperationFailure;
288
+ /**
289
+ * Maps a successful operation to its failed counterpart.
290
+ */
291
+ private getFailedOperation;
292
+ /**
293
+ * Determines which extension/layer caused the error based on error details.
294
+ */
295
+ private getErrorSource;
296
+ /**
297
+ * Matches a text against a list of pattern groups.
298
+ */
299
+ private matchPatterns;
300
+ /**
301
+ * Gets the list of encrypted fields for a table.
302
+ * Returns undefined if no fields are encrypted for this table.
303
+ */
304
+ private getEncryptedFields;
271
305
  /**
272
306
  * Executes operations within a transaction with audit logging.
273
307
  *
@@ -335,7 +369,7 @@ export declare class AuditAdapter implements DatabaseAdapterType {
335
369
  * console.log('Active users:', activeUsers.value);
336
370
  * ```
337
371
  */
338
- count(table: string, filter?: Filter): Promise<DatabaseResult<number>>;
372
+ count<T extends Record<string, unknown> = Record<string, unknown>>(table: string, filter?: Filter<T>): Promise<DatabaseResult<number>>;
339
373
  /**
340
374
  * Performs health check through base adapter.
341
375
  *
@@ -416,11 +450,24 @@ export declare class AuditAdapter implements DatabaseAdapterType {
416
450
  * ```
417
451
  */
418
452
  private validateAuditEvent;
453
+ /**
454
+ * Generates the audit table name based on configuration.
455
+ *
456
+ * **RESPONSIBILITY:** Determines the correct table name for audit records
457
+ * **TABLE NAMING:**
458
+ * - Partitioned: `{schema}.audit_log_yyyy_mm_dd` (e.g., audit.audit_log_2024_12_01)
459
+ * - Non-partitioned: `{schema}.audit_logs` (e.g., audit.audit_logs)
460
+ *
461
+ * @private
462
+ * @param timestamp - Timestamp to use for partition date
463
+ * @returns Schema-qualified table name
464
+ */
465
+ private getAuditTableName;
419
466
  /**
420
467
  * Writes audit record to daily audit table.
421
468
  *
422
469
  * **RESPONSIBILITY:** Persists audit event to database
423
- * **TABLE NAMING:** Uses daily tables (audit_YYYYMMDD)
470
+ * **TABLE NAMING:** Uses daily partitioned tables (audit.audit_log_yyyy_mm_dd) by default
424
471
  * **STRUCTURE:** Converts event to database record format
425
472
  *
426
473
  * @private
@@ -429,7 +476,7 @@ export declare class AuditAdapter implements DatabaseAdapterType {
429
476
  *
430
477
  * @example
431
478
  * ```typescript
432
- * // Internal usage - writes to audit_20241201 table
479
+ * // Internal usage - writes to audit.audit_log_2024_12_01 table
433
480
  * await this.writeAuditRecord({
434
481
  * operation: 'UPDATE',
435
482
  * table: 'users',
@@ -1 +1 @@
1
- {"version":3,"file":"AuditExtension.d.ts","sourceRoot":"","sources":["../../src/extensions/AuditExtension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuditExtension.d.ts","sourceRoot":"","sources":["../../src/extensions/AuditExtension.ts"],"names":[],"mappings":"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"}
@@ -50,7 +50,7 @@ import type { DatabaseAdapterType, DatabaseResult, DBCacheConfig, Filter, Databa
50
50
  * ```
51
51
  */
52
52
  export declare class CachingAdapter implements DatabaseAdapterType {
53
- private baseAdapter;
53
+ baseAdapter: DatabaseAdapterType;
54
54
  private config;
55
55
  private cache;
56
56
  /**
@@ -116,6 +116,7 @@ export declare class CachingAdapter implements DatabaseAdapterType {
116
116
  * ```
117
117
  */
118
118
  disconnect(): Promise<void>;
119
+ close(): Promise<DatabaseResult<void>>;
119
120
  /**
120
121
  * Gets the underlying database client.
121
122
  *
@@ -196,7 +197,7 @@ export declare class CachingAdapter implements DatabaseAdapterType {
196
197
  * // Always queries database directly
197
198
  * ```
198
199
  */
199
- findMany<T>(table: string, options?: QueryOptions): Promise<DatabaseResult<PaginatedResult<T>>>;
200
+ findMany<T extends Record<string, unknown>>(table: string, options?: QueryOptions<T>): Promise<DatabaseResult<PaginatedResult<T>>>;
200
201
  /**
201
202
  * Creates a new record with cache invalidation.
202
203
  *
@@ -222,7 +223,7 @@ export declare class CachingAdapter implements DatabaseAdapterType {
222
223
  * }
223
224
  * ```
224
225
  */
225
- create<T>(table: string, data: T): Promise<DatabaseResult<T>>;
226
+ create<T extends Record<string, unknown>>(table: string, data: T): Promise<DatabaseResult<T>>;
226
227
  /**
227
228
  * Updates an existing record with cache invalidation.
228
229
  *
@@ -342,7 +343,7 @@ export declare class CachingAdapter implements DatabaseAdapterType {
342
343
  * // Always queries database directly
343
344
  * ```
344
345
  */
345
- count(table: string, filter?: Filter): Promise<DatabaseResult<number>>;
346
+ count<T extends Record<string, unknown> = Record<string, unknown>>(table: string, filter?: Filter<T>): Promise<DatabaseResult<number>>;
346
347
  /**
347
348
  * Performs health check through base adapter.
348
349
  *
@@ -1 +1 @@
1
- {"version":3,"file":"CachingAdapter.d.ts","sourceRoot":"","sources":["../../src/extensions/CachingAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CachingAdapter.d.ts","sourceRoot":"","sources":["../../src/extensions/CachingAdapter.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@ import { type DatabaseAdapterType, type DatabaseResult, type QueryOptions, type
51
51
  * ```
52
52
  */
53
53
  export declare class EncryptionAdapter implements DatabaseAdapterType {
54
- private baseAdapter;
54
+ baseAdapter: DatabaseAdapterType;
55
55
  private config;
56
56
  constructor(baseAdapter: DatabaseAdapterType, config: {
57
57
  enabled: boolean;
@@ -62,17 +62,18 @@ export declare class EncryptionAdapter implements DatabaseAdapterType {
62
62
  initialize(): Promise<DatabaseResult<void>>;
63
63
  connect(): Promise<void>;
64
64
  disconnect(): Promise<void>;
65
+ close(): Promise<DatabaseResult<void>>;
65
66
  getClient(): object;
66
67
  query<T>(sql: string, params?: T[]): Promise<T[]>;
67
68
  registerTable<T, U>(name: string, table: T, idColumn?: U): void;
68
69
  findById<T>(table: string, id: string): Promise<DatabaseResult<T | null>>;
69
- findMany<T>(table: string, options?: QueryOptions): Promise<DatabaseResult<PaginatedResult<T>>>;
70
- create<T>(table: string, data: T): Promise<DatabaseResult<T>>;
70
+ findMany<T extends Record<string, unknown>>(table: string, options?: QueryOptions<T>): Promise<DatabaseResult<PaginatedResult<T>>>;
71
+ create<T extends Record<string, unknown>>(table: string, data: T): Promise<DatabaseResult<T>>;
71
72
  update<T>(table: string, id: string, data: Partial<T>): Promise<DatabaseResult<T>>;
72
73
  delete(table: string, id: string): Promise<DatabaseResult<void>>;
73
74
  transaction<T>(callback: (trx: Transaction) => Promise<T>): Promise<DatabaseResult<T>>;
74
75
  exists(table: string, id: string): Promise<DatabaseResult<boolean>>;
75
- count(table: string, filter?: Filter): Promise<DatabaseResult<number>>;
76
+ count<T extends Record<string, unknown> = Record<string, unknown>>(table: string, filter?: Filter<T>): Promise<DatabaseResult<number>>;
76
77
  healthCheck(): Promise<DatabaseResult<DatabaseHealthStatus>>;
77
78
  private encryptFields;
78
79
  private shouldProcessFields;
@@ -1 +1 @@
1
- {"version":3,"file":"EncryptionExtension.d.ts","sourceRoot":"","sources":["../../src/extensions/EncryptionExtension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EncryptionExtension.d.ts","sourceRoot":"","sources":["../../src/extensions/EncryptionExtension.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * MultiReadExtension - Read from primary + multiple read replicas
3
+ *
4
+ * Decorator that wraps the base adapter to distribute reads across
5
+ * multiple read replicas using configurable load balancing strategies.
6
+ * Supports automatic failover to primary on replica failure.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const db = await createDatabaseService({
11
+ * adapter: 'sql',
12
+ * config: { connectionString: process.env.DATABASE_URL },
13
+ *
14
+ * multiRead: {
15
+ * enabled: true,
16
+ * adapters: [
17
+ * { adapter: 'sql', config: { connectionString: process.env.REPLICA1_URL } },
18
+ * { adapter: 'sql', config: { connectionString: process.env.REPLICA2_URL } }
19
+ * ],
20
+ * strategy: 'round-robin', // or 'random', 'fastest', 'least-conn'
21
+ * fallbackToPrimary: true,
22
+ * healthCheckInterval: 30000
23
+ * }
24
+ * });
25
+ * ```
26
+ */
27
+ import type { DatabaseAdapterType, DatabaseResult, PaginatedResult, QueryOptions, Transaction, DatabaseHealthStatus, Filter, MultiReadConfig, ReplicaHealth } from "@plyaz/types/db";
28
+ /**
29
+ * MultiReadAdapter - Extension for multi-replica read distribution
30
+ *
31
+ * Decorates a base adapter to distribute read operations across multiple
32
+ * read replicas. Writes always go to the primary adapter. Supports automatic
33
+ * failover and health tracking.
34
+ */
35
+ export declare class MultiReadAdapter implements DatabaseAdapterType {
36
+ baseAdapter: DatabaseAdapterType;
37
+ private config;
38
+ private currentReadIndex;
39
+ private replicaHealth;
40
+ private healthCheckTimer?;
41
+ constructor(baseAdapter: DatabaseAdapterType, config: MultiReadConfig);
42
+ initialize(): Promise<DatabaseResult<void>>;
43
+ close(): Promise<DatabaseResult<void>>;
44
+ connect(): Promise<void>;
45
+ disconnect(): Promise<void>;
46
+ getClient(): object;
47
+ query<T>(sql: string, params?: unknown[]): Promise<T[]>;
48
+ registerTable<TTable = string, TIdColumn = string>(name: string, table?: TTable, idColumn?: TIdColumn): void;
49
+ findById<T>(table: string, id: string): Promise<DatabaseResult<T | null>>;
50
+ findMany<T extends Record<string, unknown>>(table: string, options?: QueryOptions<T>): Promise<DatabaseResult<PaginatedResult<T>>>;
51
+ exists(table: string, id: string): Promise<DatabaseResult<boolean>>;
52
+ count<T extends Record<string, unknown> = Record<string, unknown>>(table: string, filter?: Filter<T>): Promise<DatabaseResult<number>>;
53
+ create<T extends Record<string, unknown>>(table: string, data: T): Promise<DatabaseResult<T>>;
54
+ update<T>(table: string, id: string, data: Partial<T>): Promise<DatabaseResult<T>>;
55
+ delete(table: string, id: string): Promise<DatabaseResult<void>>;
56
+ transaction<T>(callback: (trx: Transaction) => Promise<T>): Promise<DatabaseResult<T>>;
57
+ healthCheck(): Promise<DatabaseResult<DatabaseHealthStatus>>;
58
+ /**
59
+ * Read from replica adapters using configured strategy
60
+ */
61
+ private readFromReplicas;
62
+ /**
63
+ * Select a replica based on load balancing strategy
64
+ */
65
+ private selectReplica;
66
+ /**
67
+ * Initialize health tracking for all replicas
68
+ */
69
+ private initializeHealthTracking;
70
+ /**
71
+ * Update health metrics for a replica
72
+ */
73
+ private updateHealthMetrics;
74
+ /**
75
+ * Check if replica is healthy
76
+ */
77
+ private isReplicaHealthy;
78
+ /**
79
+ * Start health check interval
80
+ */
81
+ private startHealthChecks;
82
+ /**
83
+ * Stop health checks
84
+ */
85
+ private stopHealthChecks;
86
+ /**
87
+ * Get health status of all replicas
88
+ */
89
+ getHealthStatus(): Record<string, ReplicaHealth>;
90
+ /**
91
+ * Cleanup resources
92
+ */
93
+ dispose(): void;
94
+ }
95
+ //# sourceMappingURL=MultiReadExtension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiReadExtension.d.ts","sourceRoot":"","sources":["../../src/extensions/MultiReadExtension.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * MultiWriteExtension - Write to primary + multiple secondary adapters
3
+ *
4
+ * Decorator that wraps the base adapter to replicate writes across
5
+ * multiple secondary adapters for redundancy, cross-region replication,
6
+ * or analytics syncing.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const db = await createDatabaseService({
11
+ * adapter: 'sql',
12
+ * config: { connectionString: process.env.DATABASE_URL },
13
+ *
14
+ * multiWrite: {
15
+ * enabled: true,
16
+ * adapters: [
17
+ * { adapter: 'supabase', config: { ... } },
18
+ * { adapter: 'sql', config: { connectionString: process.env.ANALYTICS_DB } }
19
+ * ],
20
+ * mode: 'best-effort', // or 'strict'
21
+ * onSecondaryFailure: 'log', // or 'warn', 'throw'
22
+ * timeout: 5000
23
+ * }
24
+ * });
25
+ * ```
26
+ */
27
+ import type { DatabaseAdapterType, DatabaseResult, PaginatedResult, QueryOptions, Transaction, DatabaseHealthStatus, Filter, MultiWriteConfig } from "@plyaz/types/db";
28
+ /**
29
+ * MultiWriteAdapter - Extension for multi-adapter write replication
30
+ *
31
+ * Decorates a base adapter to replicate all write operations (create, update, delete)
32
+ * to multiple secondary adapters. Reads always go to the primary adapter.
33
+ */
34
+ export declare class MultiWriteAdapter implements DatabaseAdapterType {
35
+ baseAdapter: DatabaseAdapterType;
36
+ private config;
37
+ constructor(baseAdapter: DatabaseAdapterType, config: MultiWriteConfig);
38
+ initialize(): Promise<DatabaseResult<void>>;
39
+ close(): Promise<DatabaseResult<void>>;
40
+ connect(): Promise<void>;
41
+ disconnect(): Promise<void>;
42
+ getClient(): object;
43
+ query<T>(sql: string, params?: unknown[]): Promise<T[]>;
44
+ registerTable<TTable = string, TIdColumn = string>(name: string, table?: TTable, idColumn?: TIdColumn): void;
45
+ findById<T>(table: string, id: string): Promise<DatabaseResult<T | null>>;
46
+ findMany<T extends Record<string, unknown>>(table: string, options?: QueryOptions<T>): Promise<DatabaseResult<PaginatedResult<T>>>;
47
+ exists(table: string, id: string): Promise<DatabaseResult<boolean>>;
48
+ count<T extends Record<string, unknown> = Record<string, unknown>>(table: string, filter?: Filter<T>): Promise<DatabaseResult<number>>;
49
+ create<T extends Record<string, unknown>>(table: string, data: T): Promise<DatabaseResult<T>>;
50
+ update<T>(table: string, id: string, data: Partial<T>): Promise<DatabaseResult<T>>;
51
+ delete(table: string, id: string): Promise<DatabaseResult<void>>;
52
+ transaction<T>(callback: (trx: Transaction) => Promise<T>): Promise<DatabaseResult<T>>;
53
+ healthCheck(): Promise<DatabaseResult<DatabaseHealthStatus>>;
54
+ /**
55
+ * Replicate write operation to secondary adapters
56
+ */
57
+ private replicateWrite;
58
+ /**
59
+ * Execute operation with timeout
60
+ */
61
+ private executeWithTimeout;
62
+ /**
63
+ * Handle secondary adapter failures
64
+ */
65
+ private handleSecondaryFailure;
66
+ }
67
+ //# sourceMappingURL=MultiWriteExtension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiWriteExtension.d.ts","sourceRoot":"","sources":["../../src/extensions/MultiWriteExtension.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,MAAM,EACN,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAIzB;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,mBAAmB;IACpD,WAAW,EAAE,mBAAmB,CAAC;IACxC,OAAO,CAAC,MAAM,CAA6B;gBAE/B,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,gBAAgB;IAUhE,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAI3C,KAAK,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAItC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC,SAAS,IAAI,MAAM;IAIb,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAI7D,aAAa,CAAC,MAAM,GAAG,MAAM,EAAE,SAAS,GAAG,MAAM,EAC/C,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,SAAS,GACnB,IAAI;IAYD,QAAQ,CAAC,CAAC,EACd,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAI9B,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9C,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAIxC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAInE,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrE,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GACjB,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAK5B,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5C,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,CAAC,GACN,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAkBvB,MAAM,CAAC,CAAC,EACZ,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GACf,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAkBvB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAkBhE,WAAW,CAAC,CAAC,EACjB,QAAQ,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAKvB,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAIlE;;OAEG;YACW,cAAc;IAmC5B;;OAEG;YACW,kBAAkB;IAehC;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAsB/B"}
@@ -11,17 +11,18 @@ export declare class ReadReplicaAdapter implements DatabaseAdapterType {
11
11
  initialize(): Promise<DatabaseResult<void>>;
12
12
  connect(): Promise<void>;
13
13
  disconnect(): Promise<void>;
14
+ close(): Promise<DatabaseResult<void>>;
14
15
  getClient(): object;
15
16
  query<T>(sql: string, params?: T[]): Promise<T[]>;
16
17
  registerTable<T, U>(name: string, table: T, idColumn?: U): void;
17
18
  findById<T>(table: string, id: string): Promise<DatabaseResult<T | null>>;
18
- findMany<T>(table: string, options?: QueryOptions): Promise<DatabaseResult<PaginatedResult<T>>>;
19
- create<T>(table: string, data: T): Promise<DatabaseResult<T>>;
19
+ findMany<T extends Record<string, unknown>>(table: string, options?: QueryOptions<T>): Promise<DatabaseResult<PaginatedResult<T>>>;
20
+ create<T extends Record<string, unknown>>(table: string, data: T): Promise<DatabaseResult<T>>;
20
21
  update<T>(table: string, id: string, data: Partial<T>): Promise<DatabaseResult<T>>;
21
22
  delete(table: string, id: string): Promise<DatabaseResult<void>>;
22
23
  transaction<T>(callback: (trx: Transaction) => Promise<T>): Promise<DatabaseResult<T>>;
23
24
  exists(table: string, id: string): Promise<DatabaseResult<boolean>>;
24
- count(table: string, filter?: Filter): Promise<DatabaseResult<number>>;
25
+ count<T extends Record<string, unknown> = Record<string, unknown>>(table: string, filter?: Filter<T>): Promise<DatabaseResult<number>>;
25
26
  healthCheck(): Promise<DatabaseResult<DatabaseHealthStatus>>;
26
27
  /**
27
28
  * Get the appropriate adapter for read operations
@@ -1 +1 @@
1
- {"version":3,"file":"ReadReplicaAdapter.d.ts","sourceRoot":"","sources":["../../src/extensions/ReadReplicaAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,WAAW,EACX,MAAM,EACN,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAI1D,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,MAAM;IAJhB,OAAO,CAAC,mBAAmB,CAAK;gBAGtB,cAAc,EAAE,mBAAmB,EACnC,MAAM,EAAE,iBAAiB;IAG7B,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAI3C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,SAAS,IAAI,MAAM;IAIb,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAIvD,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI;IAIzD,QAAQ,CAAC,CAAC,EACd,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAM9B,QAAQ,CAAC,CAAC,EACd,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAMxC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAK7D,MAAM,CAAC,CAAC,EACZ,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GACf,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAKvB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAKhE,WAAW,CAAC,CAAC,EACjB,QAAQ,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAKvB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAMnE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAMtE,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAIlE;;;OAGG;IACH,OAAO,CAAC,cAAc;CAyBvB"}
1
+ {"version":3,"file":"ReadReplicaAdapter.d.ts","sourceRoot":"","sources":["../../src/extensions/ReadReplicaAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,WAAW,EACX,MAAM,EACN,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAI1D,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,MAAM;IAJhB,OAAO,CAAC,mBAAmB,CAAK;gBAGtB,cAAc,EAAE,mBAAmB,EACnC,MAAM,EAAE,iBAAiB;IAG7B,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAI3C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,KAAK,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAI5C,SAAS,IAAI,MAAM;IAIb,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAIvD,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI;IAIzD,QAAQ,CAAC,CAAC,EACd,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAM9B,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9C,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAMxC,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5C,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,CAAC,GACN,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAKvB,MAAM,CAAC,CAAC,EACZ,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GACf,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAKvB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAKhE,WAAW,CAAC,CAAC,EACjB,QAAQ,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAKvB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAMnE,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrE,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GACjB,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAM5B,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAIlE;;;OAGG;IACH,OAAO,CAAC,cAAc;CAyBvB"}
@@ -64,7 +64,7 @@ import type { DatabaseAdapterType, DatabaseResult, PaginatedResult, QueryOptions
64
64
  * ```
65
65
  */
66
66
  export declare class SoftDeleteAdapter implements DatabaseAdapterType {
67
- private baseAdapter;
67
+ baseAdapter: DatabaseAdapterType;
68
68
  private config;
69
69
  /**
70
70
  * Creates a new SoftDeleteAdapter instance.
@@ -132,6 +132,7 @@ export declare class SoftDeleteAdapter implements DatabaseAdapterType {
132
132
  * ```
133
133
  */
134
134
  disconnect(): Promise<void>;
135
+ close(): Promise<DatabaseResult<void>>;
135
136
  /**
136
137
  * Gets the underlying database client.
137
138
  *
@@ -214,7 +215,7 @@ export declare class SoftDeleteAdapter implements DatabaseAdapterType {
214
215
  * ```
215
216
  */
216
217
  findById<T>(table: string, id: string): Promise<DatabaseResult<T | null>>;
217
- findMany<T>(table: string, options?: QueryOptions): Promise<DatabaseResult<PaginatedResult<T>>>;
218
+ findMany<T extends Record<string, unknown>>(table: string, options?: QueryOptions<T>): Promise<DatabaseResult<PaginatedResult<T>>>;
218
219
  /**
219
220
  * Creates a new record through base adapter.
220
221
  *
@@ -238,7 +239,7 @@ export declare class SoftDeleteAdapter implements DatabaseAdapterType {
238
239
  * }
239
240
  * ```
240
241
  */
241
- create<T>(table: string, data: T): Promise<DatabaseResult<T>>;
242
+ create<T extends Record<string, unknown>>(table: string, data: T): Promise<DatabaseResult<T>>;
242
243
  /**
243
244
  * Updates an existing record through base adapter.
244
245
  *
@@ -346,7 +347,7 @@ export declare class SoftDeleteAdapter implements DatabaseAdapterType {
346
347
  * // Returns count of premium users that are NOT soft-deleted
347
348
  * ```
348
349
  */
349
- count(table: string, filter?: Filter): Promise<DatabaseResult<number>>;
350
+ count<T extends Record<string, unknown> = Record<string, unknown>>(table: string, filter?: Filter<T>): Promise<DatabaseResult<number>>;
350
351
  /**
351
352
  * Performs health check through base adapter.
352
353
  *
@@ -1 +1 @@
1
- {"version":3,"file":"SoftDeleteExtension.d.ts","sourceRoot":"","sources":["../../src/extensions/SoftDeleteExtension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SoftDeleteExtension.d.ts","sourceRoot":"","sources":["../../src/extensions/SoftDeleteExtension.ts"],"names":[],"mappings":"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"}
@@ -76,4 +76,8 @@ export { EncryptionAdapter } from "./EncryptionExtension";
76
76
  export { CachingAdapter } from "./CachingAdapter";
77
77
  /** Read/write splitting with replica load balancing and failover */
78
78
  export { ReadReplicaAdapter } from "./ReadReplicaAdapter";
79
+ /** Write replication across primary + multiple secondary adapters */
80
+ export { MultiWriteAdapter } from "./MultiWriteExtension";
81
+ /** Read distribution across multiple read replicas with load balancing */
82
+ export { MultiReadAdapter } from "./MultiReadExtension";
79
83
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AAEH,iDAAiD;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,wDAAwD;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,2DAA2D;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,oDAAoD;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,oEAAoE;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AAEH,iDAAiD;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,wDAAwD;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,2DAA2D;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,oDAAoD;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,oEAAoE;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qEAAqE;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,0EAA0E;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AdapterFactory.d.ts","sourceRoot":"","sources":["../../src/factory/AdapterFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EAIf,MAAM,iBAAiB,CAAC;AAKzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBAAa,cAAc;IACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,cAAc,EACpC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,EAClB,MAAM,EAAE,CAAC,GACR,mBAAmB;CAiEvB"}
1
+ {"version":3,"file":"AdapterFactory.d.ts","sourceRoot":"","sources":["../../src/factory/AdapterFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EAKf,MAAM,iBAAiB,CAAC;AAKzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBAAa,cAAc;IACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,cAAc,EACpC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,EAClB,MAAM,EAAE,CAAC,GACR,mBAAmB;CAqEvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"createDatabaseService.d.ts","sourceRoot":"","sources":["../../src/factory/createDatabaseService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAmBH,OAAO,KAAK,EACV,wBAAwB,EAKxB,qBAAqB,EAEtB,MAAM,iBAAiB,CAAC;AAuLzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoGG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,wBAAwB,CAAC,CAmDnC"}
1
+ {"version":3,"file":"createDatabaseService.d.ts","sourceRoot":"","sources":["../../src/factory/createDatabaseService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAmBH,OAAO,KAAK,EACV,wBAAwB,EAKxB,qBAAqB,EAEtB,MAAM,iBAAiB,CAAC;AAyMzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoGG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,wBAAwB,CAAC,CAmDnC"}