@turystack/nestjs-database 0.0.1 → 0.0.5
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/database.module.d.ts.map +1 -1
- package/dist/database.module.js +21 -4
- package/dist/database.module.js.map +1 -1
- package/dist/database.types.d.ts +4 -4
- package/dist/database.types.d.ts.map +1 -1
- package/dist/drizzle/client.drizzle.d.ts.map +1 -1
- package/dist/drizzle/client.drizzle.js +23 -5
- package/dist/drizzle/client.drizzle.js.map +1 -1
- package/dist/drizzle/schema-builder.drizzle.d.ts +5 -2
- package/dist/drizzle/schema-builder.drizzle.d.ts.map +1 -1
- package/dist/drizzle/schema-builder.drizzle.js +29 -18
- package/dist/drizzle/schema-builder.drizzle.js.map +1 -1
- package/dist/drizzle/schema-builder.types.drizzle.d.ts +9 -1
- package/dist/drizzle/schema-builder.types.drizzle.d.ts.map +1 -1
- package/dist/drizzle/transaction-context.drizzle.d.ts.map +1 -1
- package/dist/drizzle/transaction-context.drizzle.js +2 -1
- package/dist/drizzle/transaction-context.drizzle.js.map +1 -1
- package/dist/drizzle/transactional.drizzle.d.ts.map +1 -1
- package/dist/drizzle/transactional.drizzle.js +6 -2
- package/dist/drizzle/transactional.drizzle.js.map +1 -1
- package/package.json +70 -69
- package/dist/drizzle/client.d.ts +0 -12
- package/dist/drizzle/client.d.ts.map +0 -1
- package/dist/drizzle/client.js +0 -34
- package/dist/drizzle/client.js.map +0 -1
- package/dist/drizzle/index.d.ts +0 -4
- package/dist/drizzle/index.d.ts.map +0 -1
- package/dist/drizzle/index.js +0 -4
- package/dist/drizzle/index.js.map +0 -1
- package/dist/drizzle/transaction-context.d.ts +0 -9
- package/dist/drizzle/transaction-context.d.ts.map +0 -1
- package/dist/drizzle/transaction-context.js +0 -15
- package/dist/drizzle/transaction-context.js.map +0 -1
- package/dist/drizzle/transactional.decorator.d.ts +0 -3
- package/dist/drizzle/transactional.decorator.d.ts.map +0 -1
- package/dist/drizzle/transactional.decorator.js +0 -15
- package/dist/drizzle/transactional.decorator.js.map +0 -1
- package/dist/prisma/index.d.ts +0 -3
- package/dist/prisma/index.d.ts.map +0 -1
- package/dist/prisma/index.js +0 -3
- package/dist/prisma/index.js.map +0 -1
- package/dist/prisma/prisma.client.d.ts +0 -2
- package/dist/prisma/prisma.client.d.ts.map +0 -1
- package/dist/prisma/prisma.client.js +0 -13
- package/dist/prisma/prisma.client.js.map +0 -1
- package/dist/prisma/transactional.decorator.d.ts +0 -2
- package/dist/prisma/transactional.decorator.d.ts.map +0 -1
- package/dist/prisma/transactional.decorator.js +0 -3
- package/dist/prisma/transactional.decorator.js.map +0 -1
- package/dist/schema-builder.d.ts +0 -7
- package/dist/schema-builder.d.ts.map +0 -1
- package/dist/schema-builder.js +0 -32
- package/dist/schema-builder.js.map +0 -1
- package/dist/schema-builder.types.d.ts +0 -8
- package/dist/schema-builder.types.d.ts.map +0 -1
- package/dist/schema-builder.types.js +0 -2
- package/dist/schema-builder.types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.module.d.ts","sourceRoot":"","sources":["../src/database.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAyB,MAAM,gBAAgB,CAAA;AAI1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAOhE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAGrF,qBACa,cAAc;IAC1B,MAAM,CAAC,QAAQ,CAAC,OAAO,SAAS,oBAAoB,EACnD,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,GACrC,aAAa;
|
|
1
|
+
{"version":3,"file":"database.module.d.ts","sourceRoot":"","sources":["../src/database.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAyB,MAAM,gBAAgB,CAAA;AAI1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAOhE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAGrF,qBACa,cAAc;IAC1B,MAAM,CAAC,QAAQ,CAAC,OAAO,SAAS,oBAAoB,EACnD,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,GACrC,aAAa;IAWhB,OAAO,CAAC,MAAM,CAAC,iBAAiB;CA6ChC"}
|
package/dist/database.module.js
CHANGED
|
@@ -15,6 +15,7 @@ let DatabaseModule = DatabaseModule_1 = class DatabaseModule {
|
|
|
15
15
|
static register(options) {
|
|
16
16
|
return {
|
|
17
17
|
exports: [
|
|
18
|
+
DatabaseService,
|
|
18
19
|
DATABASE_SERVICE,
|
|
19
20
|
],
|
|
20
21
|
module: DatabaseModule_1,
|
|
@@ -24,16 +25,32 @@ let DatabaseModule = DatabaseModule_1 = class DatabaseModule {
|
|
|
24
25
|
static _resolveProviders(options) {
|
|
25
26
|
return [
|
|
26
27
|
{
|
|
27
|
-
provide:
|
|
28
|
+
provide: DatabaseService,
|
|
28
29
|
useFactory: () => {
|
|
29
30
|
const { db, strategy } = createDrizzleClient(options);
|
|
30
31
|
registerDb(db);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
let schema;
|
|
33
|
+
switch (options.adapter) {
|
|
34
|
+
case 'postgresql': {
|
|
35
|
+
schema = materializeSchema('postgresql', options.schemaResolver(createSchemaBuilder('postgresql')));
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
case 'mysql': {
|
|
39
|
+
schema = materializeSchema('mysql', options.schemaResolver(createSchemaBuilder('mysql')));
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
case 'sqlite': {
|
|
43
|
+
schema = materializeSchema('sqlite', options.schemaResolver(createSchemaBuilder('sqlite')));
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
34
47
|
return new DatabaseService(db, schema, strategy);
|
|
35
48
|
},
|
|
36
49
|
},
|
|
50
|
+
{
|
|
51
|
+
provide: DATABASE_SERVICE,
|
|
52
|
+
useExisting: DatabaseService,
|
|
53
|
+
},
|
|
37
54
|
];
|
|
38
55
|
}
|
|
39
56
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.module.js","sourceRoot":"","sources":["../src/database.module.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAsB,MAAM,EAAiB,MAAM,gBAAgB,CAAA;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAGvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EACN,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,qCAAqC,CAAA;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAA;AAG9D,IAAM,cAAc,sBAApB,MAAM,cAAc;IAC1B,MAAM,CAAC,QAAQ,CACd,OAAuC;QAEvC,OAAO;YACN,OAAO,EAAE;gBACR,gBAAgB;aAChB;YACD,MAAM,EAAE,gBAAc;YACtB,SAAS,EAAE,gBAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC;SACpD,CAAA;IACF,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAC/B,OAAuC;QAEvC,OAAO;YACN;gBACC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"database.module.js","sourceRoot":"","sources":["../src/database.module.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAsB,MAAM,EAAiB,MAAM,gBAAgB,CAAA;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAGvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EACN,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,qCAAqC,CAAA;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAA;AAG9D,IAAM,cAAc,sBAApB,MAAM,cAAc;IAC1B,MAAM,CAAC,QAAQ,CACd,OAAuC;QAEvC,OAAO;YACN,OAAO,EAAE;gBACR,eAAe;gBACf,gBAAgB;aAChB;YACD,MAAM,EAAE,gBAAc;YACtB,SAAS,EAAE,gBAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC;SACpD,CAAA;IACF,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAC/B,OAAuC;QAEvC,OAAO;YACN;gBACC,OAAO,EAAE,eAAe;gBACxB,UAAU,EAAE,GAAG,EAAE;oBAChB,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;oBACrD,UAAU,CAAC,EAAE,CAAC,CAAA;oBAEd,IAAI,MAA+B,CAAA;oBAEnC,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC;wBACzB,KAAK,YAAY,CAAC,CAAC,CAAC;4BACnB,MAAM,GAAG,iBAAiB,CACzB,YAAY,EACZ,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CACzD,CAAA;4BACD,MAAK;wBACN,CAAC;wBACD,KAAK,OAAO,CAAC,CAAC,CAAC;4BACd,MAAM,GAAG,iBAAiB,CACzB,OAAO,EACP,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CACpD,CAAA;4BACD,MAAK;wBACN,CAAC;wBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;4BACf,MAAM,GAAG,iBAAiB,CACzB,QAAQ,EACR,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CACrD,CAAA;4BACD,MAAK;wBACN,CAAC;oBACF,CAAC;oBAED,OAAO,IAAI,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;gBACjD,CAAC;aACD;YACD;gBACC,OAAO,EAAE,gBAAgB;gBACzB,WAAW,EAAE,eAAe;aAC5B;SACD,CAAA;IACF,CAAC;CACD,CAAA;AA3DY,cAAc;IAD1B,MAAM,CAAC,EAAE,CAAC;GACE,cAAc,CA2D1B"}
|
package/dist/database.types.d.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { MysqlSchemaBuilder, PgSchemaBuilder, SchemaResolverResult, SqliteSchemaBuilder } from './drizzle/schema-builder.types.drizzle.js';
|
|
2
2
|
export type DatabaseAdapter = 'postgresql' | 'mysql' | 'sqlite';
|
|
3
3
|
export type DatabaseModuleOptions<TResult extends SchemaResolverResult = SchemaResolverResult> = {
|
|
4
4
|
adapter: 'postgresql';
|
|
5
5
|
postgresql: {
|
|
6
6
|
url: string;
|
|
7
7
|
};
|
|
8
|
-
schemaResolver: (schema:
|
|
8
|
+
schemaResolver: (schema: PgSchemaBuilder) => TResult;
|
|
9
9
|
} | {
|
|
10
10
|
adapter: 'mysql';
|
|
11
11
|
mysql: {
|
|
12
12
|
url: string;
|
|
13
13
|
};
|
|
14
|
-
schemaResolver: (schema:
|
|
14
|
+
schemaResolver: (schema: MysqlSchemaBuilder) => TResult;
|
|
15
15
|
} | {
|
|
16
16
|
adapter: 'sqlite';
|
|
17
17
|
sqlite: {
|
|
18
18
|
url: string;
|
|
19
19
|
};
|
|
20
|
-
schemaResolver: (schema:
|
|
20
|
+
schemaResolver: (schema: SqliteSchemaBuilder) => TResult;
|
|
21
21
|
};
|
|
22
22
|
//# sourceMappingURL=database.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.types.d.ts","sourceRoot":"","sources":["../src/database.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"database.types.d.ts","sourceRoot":"","sources":["../src/database.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,MAAM,2CAA2C,CAAA;AAGlD,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,OAAO,GAAG,QAAQ,CAAA;AAuB/D,MAAM,MAAM,qBAAqB,CAChC,OAAO,SAAS,oBAAoB,GAAG,oBAAoB,IAEzD;IACA,OAAO,EAAE,YAAY,CAAA;IACrB,UAAU,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3B,cAAc,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAA;CACnD,GACD;IACA,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IACtB,cAAc,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAA;CACtD,GACD;IACA,OAAO,EAAE,QAAQ,CAAA;IACjB,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IACvB,cAAc,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAA;CACvD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.drizzle.d.ts","sourceRoot":"","sources":["../../src/drizzle/client.drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAGhE,KAAK,KAAK,GAAG,GAAG,CAAA;AAEhB,KAAK,KAAK,GAAG,GAAG,CAAA;AAEhB,MAAM,WAAW,eAAe;IAC/B,cAAc,CACb,EAAE,EAAE,KAAK,EACT,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,EACnC,cAAc,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CAAA;CACnB;
|
|
1
|
+
{"version":3,"file":"client.drizzle.d.ts","sourceRoot":"","sources":["../../src/drizzle/client.drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAGhE,KAAK,KAAK,GAAG,GAAG,CAAA;AAEhB,KAAK,KAAK,GAAG,GAAG,CAAA;AAEhB,MAAM,WAAW,eAAe;IAC/B,cAAc,CACb,EAAE,EAAE,KAAK,EACT,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,EACnC,cAAc,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CAAA;CACnB;AA2DD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG;IACpE,EAAE,EAAE,KAAK,CAAA;IACT,QAAQ,EAAE,eAAe,CAAA;CACzB,CA6BA"}
|
|
@@ -1,28 +1,46 @@
|
|
|
1
1
|
class PostgresqlStrategy {
|
|
2
2
|
async runTransaction(db, fn, isolationLevel) {
|
|
3
|
-
return db.transaction(fn, isolationLevel
|
|
3
|
+
return db.transaction(fn, isolationLevel
|
|
4
|
+
? {
|
|
5
|
+
isolationLevel,
|
|
6
|
+
}
|
|
7
|
+
: undefined);
|
|
4
8
|
}
|
|
5
9
|
}
|
|
6
10
|
class MysqlStrategy {
|
|
7
11
|
async runTransaction(db, fn, isolationLevel) {
|
|
8
|
-
return db.transaction(fn, isolationLevel
|
|
12
|
+
return db.transaction(fn, isolationLevel
|
|
13
|
+
? {
|
|
14
|
+
isolationLevel,
|
|
15
|
+
}
|
|
16
|
+
: undefined);
|
|
9
17
|
}
|
|
10
18
|
}
|
|
11
19
|
class SqliteStrategy {
|
|
12
20
|
async runTransaction(db, fn, isolationLevel) {
|
|
13
21
|
const behavior = isolationLevel;
|
|
14
|
-
return db.transaction(fn, behavior
|
|
22
|
+
return db.transaction(fn, behavior
|
|
23
|
+
? {
|
|
24
|
+
behavior,
|
|
25
|
+
}
|
|
26
|
+
: undefined);
|
|
15
27
|
}
|
|
16
28
|
}
|
|
17
29
|
export function createDrizzleClient(options) {
|
|
18
30
|
switch (options.adapter) {
|
|
19
31
|
case 'postgresql': {
|
|
20
32
|
const { drizzle } = require('drizzle-orm/node-postgres');
|
|
21
|
-
return {
|
|
33
|
+
return {
|
|
34
|
+
db: drizzle(options.postgresql.url),
|
|
35
|
+
strategy: new PostgresqlStrategy(),
|
|
36
|
+
};
|
|
22
37
|
}
|
|
23
38
|
case 'mysql': {
|
|
24
39
|
const { drizzle } = require('drizzle-orm/mysql2');
|
|
25
|
-
return {
|
|
40
|
+
return {
|
|
41
|
+
db: drizzle(options.mysql.url),
|
|
42
|
+
strategy: new MysqlStrategy(),
|
|
43
|
+
};
|
|
26
44
|
}
|
|
27
45
|
case 'sqlite': {
|
|
28
46
|
const { drizzle } = require('drizzle-orm/better-sqlite3');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.drizzle.js","sourceRoot":"","sources":["../../src/drizzle/client.drizzle.ts"],"names":[],"mappings":"AAeA,MAAM,kBAAkB;IACvB,KAAK,CAAC,cAAc,CACnB,EAAS,EACT,EAAmC,EACnC,cAAuB;QAEvB,OAAO,EAAE,CAAC,WAAW,CACpB,EAAE,EACF,cAAc,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"client.drizzle.js","sourceRoot":"","sources":["../../src/drizzle/client.drizzle.ts"],"names":[],"mappings":"AAeA,MAAM,kBAAkB;IACvB,KAAK,CAAC,cAAc,CACnB,EAAS,EACT,EAAmC,EACnC,cAAuB;QAEvB,OAAO,EAAE,CAAC,WAAW,CACpB,EAAE,EACF,cAAc;YACb,CAAC,CAAC;gBACA,cAAc;aACd;YACF,CAAC,CAAC,SAAS,CACZ,CAAA;IACF,CAAC;CACD;AAED,MAAM,aAAa;IAClB,KAAK,CAAC,cAAc,CACnB,EAAS,EACT,EAAmC,EACnC,cAAuB;QAEvB,OAAO,EAAE,CAAC,WAAW,CACpB,EAAE,EACF,cAAc;YACb,CAAC,CAAC;gBACA,cAAc;aACd;YACF,CAAC,CAAC,SAAS,CACZ,CAAA;IACF,CAAC;CACD;AAED,MAAM,cAAc;IACnB,KAAK,CAAC,cAAc,CACnB,EAAS,EACT,EAAmC,EACnC,cAAuB;QAGvB,MAAM,QAAQ,GAAG,cAIL,CAAA;QACZ,OAAO,EAAE,CAAC,WAAW,CACpB,EAAE,EACF,QAAQ;YACP,CAAC,CAAC;gBACA,QAAQ;aACR;YACF,CAAC,CAAC,SAAS,CACZ,CAAA;IACF,CAAC;CACD;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA8B;IAIjE,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC;QACzB,KAAK,YAAY,CAAC,CAAC,CAAC;YAEnB,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,2BAA2B,CAAQ,CAAA;YAC/D,OAAO;gBACN,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;gBACnC,QAAQ,EAAE,IAAI,kBAAkB,EAAE;aAClC,CAAA;QACF,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YAEd,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAQ,CAAA;YACxD,OAAO;gBACN,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC9B,QAAQ,EAAE,IAAI,aAAa,EAAE;aAC7B,CAAA;QACF,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YAEf,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAQ,CAAA;YAEhE,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAQ,CAAA;YACjD,OAAO;gBACN,EAAE,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7C,QAAQ,EAAE,IAAI,cAAc,EAAE;aAC9B,CAAA;QACF,CAAC;IACF,CAAC;AACF,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { DatabaseAdapter } from '../database.types.js';
|
|
2
|
-
import type {
|
|
3
|
-
export declare function createSchemaBuilder(): SchemaBuilder;
|
|
2
|
+
import type { MysqlSchemaBuilder, PgSchemaBuilder, SchemaResolverResult, SqliteSchemaBuilder } from '../drizzle/schema-builder.types.drizzle.js';
|
|
4
3
|
type AnyTable = any;
|
|
4
|
+
export declare function createSchemaBuilder(adapter: 'postgresql'): PgSchemaBuilder;
|
|
5
|
+
export declare function createSchemaBuilder(adapter: 'mysql'): MysqlSchemaBuilder;
|
|
6
|
+
export declare function createSchemaBuilder(adapter: 'sqlite'): SqliteSchemaBuilder;
|
|
7
|
+
export declare function createSchemaBuilder(adapter: DatabaseAdapter): PgSchemaBuilder | MysqlSchemaBuilder | SqliteSchemaBuilder;
|
|
5
8
|
export declare function materializeSchema(adapter: DatabaseAdapter, resolverResult: SchemaResolverResult): Record<string, AnyTable>;
|
|
6
9
|
export {};
|
|
7
10
|
//# sourceMappingURL=schema-builder.drizzle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-builder.drizzle.d.ts","sourceRoot":"","sources":["../../src/drizzle/schema-builder.drizzle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema-builder.drizzle.d.ts","sourceRoot":"","sources":["../../src/drizzle/schema-builder.drizzle.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE1D,OAAO,KAAK,EAEX,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,MAAM,2CAA2C,CAAA;AAGlD,KAAK,QAAQ,GAAG,GAAG,CAAA;AAUnB,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,CAAA;AAC3E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB,CAAA;AACzE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,QAAQ,GAAG,mBAAmB,CAAA;AAC3E,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,eAAe,GACtB,eAAe,GAAG,kBAAkB,GAAG,mBAAmB,CAAA;AAoC7D,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,eAAe,EACxB,cAAc,EAAE,oBAAoB,GAClC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAO1B"}
|
|
@@ -1,30 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
1
|
+
import * as mysqlCore from 'drizzle-orm/mysql-core';
|
|
2
|
+
import * as pgCore from 'drizzle-orm/pg-core';
|
|
3
|
+
import * as sqliteCore from 'drizzle-orm/sqlite-core';
|
|
4
|
+
const tableBuilder = {
|
|
5
|
+
table(columns) {
|
|
6
|
+
return { __columns: columns };
|
|
7
|
+
},
|
|
8
|
+
};
|
|
9
|
+
export function createSchemaBuilder(adapter) {
|
|
9
10
|
switch (adapter) {
|
|
10
11
|
case 'postgresql': {
|
|
11
|
-
const { pgTable } =
|
|
12
|
-
return
|
|
12
|
+
const { pgTable: _pgTable, ...pgColumns } = pgCore;
|
|
13
|
+
return { ...tableBuilder, ...pgColumns };
|
|
13
14
|
}
|
|
14
15
|
case 'mysql': {
|
|
15
|
-
const { mysqlTable } =
|
|
16
|
-
return
|
|
16
|
+
const { mysqlTable: _mysqlTable, ...mysqlColumns } = mysqlCore;
|
|
17
|
+
return { ...tableBuilder, ...mysqlColumns };
|
|
17
18
|
}
|
|
18
19
|
case 'sqlite': {
|
|
19
|
-
const { sqliteTable } =
|
|
20
|
-
return
|
|
20
|
+
const { sqliteTable: _sqliteTable, ...sqliteColumns } = sqliteCore;
|
|
21
|
+
return { ...tableBuilder, ...sqliteColumns };
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
24
|
}
|
|
25
|
+
function createTable(adapter, tableName, columns) {
|
|
26
|
+
switch (adapter) {
|
|
27
|
+
case 'postgresql':
|
|
28
|
+
return pgCore.pgTable(tableName, columns);
|
|
29
|
+
case 'mysql':
|
|
30
|
+
return mysqlCore.mysqlTable(tableName, columns);
|
|
31
|
+
case 'sqlite':
|
|
32
|
+
return sqliteCore.sqliteTable(tableName, columns);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
24
35
|
export function materializeSchema(adapter, resolverResult) {
|
|
25
|
-
return Object.fromEntries(Object.entries(resolverResult).map(([tableName, columnMap]) =>
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
36
|
+
return Object.fromEntries(Object.entries(resolverResult).map(([tableName, columnMap]) => [
|
|
37
|
+
tableName,
|
|
38
|
+
createTable(adapter, tableName, columnMap.__columns),
|
|
39
|
+
]));
|
|
29
40
|
}
|
|
30
41
|
//# sourceMappingURL=schema-builder.drizzle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-builder.drizzle.js","sourceRoot":"","sources":["../../src/drizzle/schema-builder.drizzle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema-builder.drizzle.js","sourceRoot":"","sources":["../../src/drizzle/schema-builder.drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAA;AAerD,MAAM,YAAY,GAAG;IACpB,KAAK,CACJ,OAAiB;QAEjB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;IAC9B,CAAC;CACD,CAAA;AAQD,MAAM,UAAU,mBAAmB,CAClC,OAAwB;IAExB,QAAQ,OAAO,EAAE,CAAC;QACjB,KAAK,YAAY,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,MAAM,CAAA;YAClD,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,SAAS,EAAqB,CAAA;QAC5D,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,YAAY,EAAE,GAAG,SAAS,CAAA;YAC9D,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,YAAY,EAAwB,CAAA;QAClE,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,GAAG,UAAU,CAAA;YAClE,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,aAAa,EAAyB,CAAA;QACpE,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,WAAW,CACnB,OAAwB,EACxB,SAAiB,EAEjB,OAA4B;IAE5B,QAAQ,OAAO,EAAE,CAAC;QACjB,KAAK,YAAY;YAChB,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC1C,KAAK,OAAO;YACX,OAAO,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAChD,KAAK,QAAQ;YACZ,OAAO,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;AACF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAChC,OAAwB,EACxB,cAAoC;IAEpC,OAAO,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;QAC9D,SAAS;QACT,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC;KACpD,CAAC,CACF,CAAA;AACF,CAAC"}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
|
+
import type * as MysqlCore from 'drizzle-orm/mysql-core';
|
|
2
|
+
import type * as PgCore from 'drizzle-orm/pg-core';
|
|
3
|
+
import type * as SqliteCore from 'drizzle-orm/sqlite-core';
|
|
1
4
|
export type ColumnMap<TColumns extends Record<string, unknown>> = {
|
|
2
5
|
readonly __columns: TColumns;
|
|
3
6
|
};
|
|
4
|
-
|
|
7
|
+
interface SchemaTableBuilder {
|
|
5
8
|
table<TColumns extends Record<string, unknown>>(columns: TColumns): ColumnMap<TColumns>;
|
|
6
9
|
}
|
|
10
|
+
export type PgSchemaBuilder = SchemaTableBuilder & Omit<typeof PgCore, 'pgTable'>;
|
|
11
|
+
export type MysqlSchemaBuilder = SchemaTableBuilder & Omit<typeof MysqlCore, 'mysqlTable'>;
|
|
12
|
+
export type SqliteSchemaBuilder = SchemaTableBuilder & Omit<typeof SqliteCore, 'sqliteTable'>;
|
|
13
|
+
export type SchemaBuilder = PgSchemaBuilder | MysqlSchemaBuilder | SqliteSchemaBuilder;
|
|
7
14
|
export type SchemaResolverResult = Record<string, ColumnMap<Record<string, unknown>>>;
|
|
15
|
+
export {};
|
|
8
16
|
//# sourceMappingURL=schema-builder.types.drizzle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-builder.types.drizzle.d.ts","sourceRoot":"","sources":["../../src/drizzle/schema-builder.types.drizzle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema-builder.types.drizzle.d.ts","sourceRoot":"","sources":["../../src/drizzle/schema-builder.types.drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,KAAK,UAAU,MAAM,yBAAyB,CAAA;AAO1D,MAAM,MAAM,SAAS,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACjE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAA;CAC5B,CAAA;AAED,UAAU,kBAAkB;IAC3B,KAAK,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,OAAO,EAAE,QAAQ,GACf,SAAS,CAAC,QAAQ,CAAC,CAAA;CACtB;AAGD,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAC/C,IAAI,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,CAAA;AAG/B,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAClD,IAAI,CAAC,OAAO,SAAS,EAAE,YAAY,CAAC,CAAA;AAGrC,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GACnD,IAAI,CAAC,OAAO,UAAU,EAAE,aAAa,CAAC,CAAA;AAEvC,MAAM,MAAM,aAAa,GACtB,eAAe,GACf,kBAAkB,GAClB,mBAAmB,CAAA;AAEtB,MAAM,MAAM,oBAAoB,GAAG,MAAM,CACxC,MAAM,EACN,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAClC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-context.drizzle.d.ts","sourceRoot":"","sources":["../../src/drizzle/transaction-context.drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGpD,KAAK,KAAK,GAAG,GAAG,CAAA;AAEhB,KAAK,KAAK,GAAG,GAAG,CAAA;AAEhB,eAAO,MAAM,kBAAkB,wBAAiC,CAAA;AAEhE,wBAAgB,YAAY,IAAI,KAAK,GAAG,SAAS,CAEhD;AAID,wBAAgB,UAAU,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI,CAE1C;AAED,wBAAgB,KAAK,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"transaction-context.drizzle.d.ts","sourceRoot":"","sources":["../../src/drizzle/transaction-context.drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGpD,KAAK,KAAK,GAAG,GAAG,CAAA;AAEhB,KAAK,KAAK,GAAG,GAAG,CAAA;AAEhB,eAAO,MAAM,kBAAkB,wBAAiC,CAAA;AAEhE,wBAAgB,YAAY,IAAI,KAAK,GAAG,SAAS,CAEhD;AAID,wBAAgB,UAAU,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI,CAE1C;AAED,wBAAgB,KAAK,IAAI,KAAK,CAQ7B"}
|
|
@@ -8,8 +8,9 @@ export function registerDb(db) {
|
|
|
8
8
|
_db = db;
|
|
9
9
|
}
|
|
10
10
|
export function getDb() {
|
|
11
|
-
if (!_db)
|
|
11
|
+
if (!_db) {
|
|
12
12
|
throw new Error('[DatabaseModule] db not initialized — was DatabaseModule.register() called?');
|
|
13
|
+
}
|
|
13
14
|
return _db;
|
|
14
15
|
}
|
|
15
16
|
//# sourceMappingURL=transaction-context.drizzle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-context.drizzle.js","sourceRoot":"","sources":["../../src/drizzle/transaction-context.drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAOpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,iBAAiB,EAAS,CAAA;AAEhE,MAAM,UAAU,YAAY;IAC3B,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAA;AACrC,CAAC;AAED,IAAI,GAAsB,CAAA;AAE1B,MAAM,UAAU,UAAU,CAAC,EAAS;IACnC,GAAG,GAAG,EAAE,CAAA;AACT,CAAC;AAED,MAAM,UAAU,KAAK;IACpB,IAAI,CAAC,GAAG;
|
|
1
|
+
{"version":3,"file":"transaction-context.drizzle.js","sourceRoot":"","sources":["../../src/drizzle/transaction-context.drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAOpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,iBAAiB,EAAS,CAAA;AAEhE,MAAM,UAAU,YAAY;IAC3B,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAA;AACrC,CAAC;AAED,IAAI,GAAsB,CAAA;AAE1B,MAAM,UAAU,UAAU,CAAC,EAAS;IACnC,GAAG,GAAG,EAAE,CAAA;AACT,CAAC;AAED,MAAM,UAAU,KAAK;IACpB,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACd,6EAA6E,CAC7E,CAAA;IACF,CAAC;IAED,OAAO,GAAG,CAAA;AACX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactional.drizzle.d.ts","sourceRoot":"","sources":["../../src/drizzle/transactional.drizzle.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,cAAc,GACvB,kBAAkB,GAClB,gBAAgB,GAChB,iBAAiB,GACjB,cAAc,GACd,UAAU,GACV,WAAW,GACX,WAAW,CAAA;AAEd,wBAAgB,aAAa,CAAC,cAAc,CAAC,EAAE,cAAc,IAE3D,SAAS,MAAM,EACf,cAAc,MAAM,GAAG,MAAM,EAC7B,YAAY,kBAAkB,KAC5B,kBAAkB,
|
|
1
|
+
{"version":3,"file":"transactional.drizzle.d.ts","sourceRoot":"","sources":["../../src/drizzle/transactional.drizzle.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,cAAc,GACvB,kBAAkB,GAClB,gBAAgB,GAChB,iBAAiB,GACjB,cAAc,GACd,UAAU,GACV,WAAW,GACX,WAAW,CAAA;AAEd,wBAAgB,aAAa,CAAC,cAAc,CAAC,EAAE,cAAc,IAE3D,SAAS,MAAM,EACf,cAAc,MAAM,GAAG,MAAM,EAC7B,YAAY,kBAAkB,KAC5B,kBAAkB,CAyBrB"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { getCurrentTx, getDb, transactionStorage, } from '../drizzle/transaction-context.drizzle.js';
|
|
2
2
|
export function Transactional(isolationLevel) {
|
|
3
|
-
return
|
|
3
|
+
return (_target, _propertyKey, descriptor) => {
|
|
4
4
|
const original = descriptor.value;
|
|
5
5
|
descriptor.value = async function (...args) {
|
|
6
6
|
if (getCurrentTx() !== undefined) {
|
|
7
7
|
return original.apply(this, args);
|
|
8
8
|
}
|
|
9
9
|
const db = getDb();
|
|
10
|
-
return db.transaction((tx) => transactionStorage.run(tx, () => original.apply(this, args)), isolationLevel
|
|
10
|
+
return db.transaction((tx) => transactionStorage.run(tx, () => original.apply(this, args)), isolationLevel
|
|
11
|
+
? {
|
|
12
|
+
isolationLevel,
|
|
13
|
+
}
|
|
14
|
+
: undefined);
|
|
11
15
|
};
|
|
12
16
|
return descriptor;
|
|
13
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactional.drizzle.js","sourceRoot":"","sources":["../../src/drizzle/transactional.drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EACZ,KAAK,EACL,kBAAkB,GAClB,MAAM,0CAA0C,CAAA;AAWjD,MAAM,UAAU,aAAa,CAAC,cAA+B;IAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"transactional.drizzle.js","sourceRoot":"","sources":["../../src/drizzle/transactional.drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EACZ,KAAK,EACL,kBAAkB,GAClB,MAAM,0CAA0C,CAAA;AAWjD,MAAM,UAAU,aAAa,CAAC,cAA+B;IAC5D,OAAO,CACN,OAAe,EACf,YAA6B,EAC7B,UAA8B,EACT,EAAE;QACvB,MAAM,QAAQ,GAAG,UAAU,CAAC,KAEP,CAAA;QAErB,UAAU,CAAC,KAAK,GAAG,KAAK,WAA0B,GAAG,IAAe;YACnE,IAAI,YAAY,EAAE,KAAK,SAAS,EAAE,CAAC;gBAClC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAClC,CAAC;YAED,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;YAElB,OAAO,EAAE,CAAC,WAAW,CACpB,CAAC,EAAW,EAAE,EAAE,CACf,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAC7D,cAAc;gBACb,CAAC,CAAC;oBACA,cAAc;iBACd;gBACF,CAAC,CAAC,SAAS,CACZ,CAAA;QACF,CAAC,CAAA;QAED,OAAO,UAAU,CAAA;IAClB,CAAC,CAAA;AACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,70 +1,71 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
2
|
+
"name": "@turystack/nestjs-database",
|
|
3
|
+
"private": false,
|
|
4
|
+
"version": "0.0.5",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"default": "./dist/index.js"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist"
|
|
21
|
+
],
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "https://github.com/turystack/nestjs-database.git"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"drizzle-orm": "^0.44.0"
|
|
28
|
+
},
|
|
29
|
+
"peerDependencies": {
|
|
30
|
+
"@nestjs/common": "^11.0.0",
|
|
31
|
+
"@nestjs/core": "^11.0.0",
|
|
32
|
+
"better-sqlite3": "^11.0.0",
|
|
33
|
+
"mysql2": "^3.0.0",
|
|
34
|
+
"pg": "^8.0.0",
|
|
35
|
+
"reflect-metadata": "^0.2.0"
|
|
36
|
+
},
|
|
37
|
+
"peerDependenciesMeta": {
|
|
38
|
+
"pg": {
|
|
39
|
+
"optional": true
|
|
40
|
+
},
|
|
41
|
+
"mysql2": {
|
|
42
|
+
"optional": true
|
|
43
|
+
},
|
|
44
|
+
"better-sqlite3": {
|
|
45
|
+
"optional": true
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"devDependencies": {
|
|
49
|
+
"@biomejs/biome": "2.2.2",
|
|
50
|
+
"@nestjs/common": "^11.0.0",
|
|
51
|
+
"@nestjs/core": "^11.0.0",
|
|
52
|
+
"@types/better-sqlite3": "^7.0.0",
|
|
53
|
+
"@types/node": "^22.19.15",
|
|
54
|
+
"@types/pg": "^8.0.0",
|
|
55
|
+
"@vitest/coverage-v8": "^2.1.0",
|
|
56
|
+
"better-sqlite3": "^11.0.0",
|
|
57
|
+
"pg": "^8.0.0",
|
|
58
|
+
"reflect-metadata": "^0.2.2",
|
|
59
|
+
"tsc-alias": "^1.8.16",
|
|
60
|
+
"typescript": "^5.5.0",
|
|
61
|
+
"vitest": "^2.1.0"
|
|
62
|
+
},
|
|
63
|
+
"scripts": {
|
|
64
|
+
"build": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
|
|
65
|
+
"test": "vitest run",
|
|
66
|
+
"test:cov": "vitest run --coverage",
|
|
67
|
+
"lint": "biome lint ./src",
|
|
68
|
+
"format": "biome format --write ./src",
|
|
69
|
+
"check": "biome check --write ./src"
|
|
70
|
+
}
|
|
71
|
+
}
|
package/dist/drizzle/client.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { DatabaseModuleOptions } from '../database.types.js';
|
|
2
|
-
type AnyDb = any;
|
|
3
|
-
type AnyTx = any;
|
|
4
|
-
export interface AdapterStrategy {
|
|
5
|
-
runTransaction(db: AnyDb, fn: (tx: AnyTx) => Promise<unknown>, isolationLevel?: string): Promise<unknown>;
|
|
6
|
-
}
|
|
7
|
-
export declare function createDrizzleClient(options: DatabaseModuleOptions): {
|
|
8
|
-
db: AnyDb;
|
|
9
|
-
strategy: AdapterStrategy;
|
|
10
|
-
};
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/drizzle/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAGhE,KAAK,KAAK,GAAG,GAAG,CAAA;AAEhB,KAAK,KAAK,GAAG,GAAG,CAAA;AAEhB,MAAM,WAAW,eAAe;IAC9B,cAAc,CACZ,EAAE,EAAE,KAAK,EACT,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,EACnC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,OAAO,CAAC,CAAA;CACpB;AAkCD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG;IACnE,EAAE,EAAE,KAAK,CAAA;IACT,QAAQ,EAAE,eAAe,CAAA;CAC1B,CAoBA"}
|
package/dist/drizzle/client.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
class PostgresqlStrategy {
|
|
2
|
-
async runTransaction(db, fn, isolationLevel) {
|
|
3
|
-
return db.transaction(fn, isolationLevel ? { isolationLevel } : undefined);
|
|
4
|
-
}
|
|
5
|
-
}
|
|
6
|
-
class MysqlStrategy {
|
|
7
|
-
async runTransaction(db, fn, isolationLevel) {
|
|
8
|
-
return db.transaction(fn, isolationLevel ? { isolationLevel } : undefined);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
class SqliteStrategy {
|
|
12
|
-
async runTransaction(db, fn, isolationLevel) {
|
|
13
|
-
const behavior = isolationLevel;
|
|
14
|
-
return db.transaction(fn, behavior ? { behavior } : undefined);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
export function createDrizzleClient(options) {
|
|
18
|
-
switch (options.adapter) {
|
|
19
|
-
case 'postgresql': {
|
|
20
|
-
const { drizzle } = require('drizzle-orm/node-postgres');
|
|
21
|
-
return { db: drizzle(options.postgresql.url), strategy: new PostgresqlStrategy() };
|
|
22
|
-
}
|
|
23
|
-
case 'mysql': {
|
|
24
|
-
const { drizzle } = require('drizzle-orm/mysql2');
|
|
25
|
-
return { db: drizzle(options.mysql.url), strategy: new MysqlStrategy() };
|
|
26
|
-
}
|
|
27
|
-
case 'sqlite': {
|
|
28
|
-
const { drizzle } = require('drizzle-orm/better-sqlite3');
|
|
29
|
-
const Database = require('better-sqlite3');
|
|
30
|
-
return { db: drizzle(new Database(options.sqlite.url)), strategy: new SqliteStrategy() };
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/drizzle/client.ts"],"names":[],"mappings":"AAeA,MAAM,kBAAkB;IACtB,KAAK,CAAC,cAAc,CAClB,EAAS,EACT,EAAmC,EACnC,cAAuB;QAEvB,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC5E,CAAC;CACF;AAED,MAAM,aAAa;IACjB,KAAK,CAAC,cAAc,CAClB,EAAS,EACT,EAAmC,EACnC,cAAuB;QAEvB,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC5E,CAAC;CACF;AAED,MAAM,cAAc;IAClB,KAAK,CAAC,cAAc,CAClB,EAAS,EACT,EAAmC,EACnC,cAAuB;QAGvB,MAAM,QAAQ,GAAG,cAAoE,CAAA;QACrF,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAChE,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA8B;IAIhE,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,YAAY,CAAC,CAAC,CAAC;YAElB,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,2BAA2B,CAAQ,CAAA;YAC/D,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,kBAAkB,EAAE,EAAE,CAAA;QACpF,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YAEb,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAQ,CAAA;YACxD,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,aAAa,EAAE,EAAE,CAAA;QAC1E,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YAEd,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAQ,CAAA;YAEhE,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAQ,CAAA;YACjD,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,cAAc,EAAE,EAAE,CAAA;QAC1F,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/drizzle/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/drizzle/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,kCAAkC,CAAA;AAChD,cAAc,sCAAsC,CAAA"}
|
package/dist/drizzle/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/drizzle/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,kCAAkC,CAAA;AAChD,cAAc,sCAAsC,CAAA"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
-
type AnyTx = any;
|
|
3
|
-
type AnyDb = any;
|
|
4
|
-
export declare const transactionStorage: AsyncLocalStorage<any>;
|
|
5
|
-
export declare function getCurrentTx(): AnyTx | undefined;
|
|
6
|
-
export declare function registerDb(db: AnyDb): void;
|
|
7
|
-
export declare function getDb(): AnyDb;
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=transaction-context.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-context.d.ts","sourceRoot":"","sources":["../../src/drizzle/transaction-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGpD,KAAK,KAAK,GAAG,GAAG,CAAA;AAEhB,KAAK,KAAK,GAAG,GAAG,CAAA;AAEhB,eAAO,MAAM,kBAAkB,wBAAiC,CAAA;AAEhE,wBAAgB,YAAY,IAAI,KAAK,GAAG,SAAS,CAEhD;AAID,wBAAgB,UAAU,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI,CAE1C;AAED,wBAAgB,KAAK,IAAI,KAAK,CAG7B"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
-
export const transactionStorage = new AsyncLocalStorage();
|
|
3
|
-
export function getCurrentTx() {
|
|
4
|
-
return transactionStorage.getStore();
|
|
5
|
-
}
|
|
6
|
-
let _db;
|
|
7
|
-
export function registerDb(db) {
|
|
8
|
-
_db = db;
|
|
9
|
-
}
|
|
10
|
-
export function getDb() {
|
|
11
|
-
if (!_db)
|
|
12
|
-
throw new Error('[DatabaseModule] db not initialized — was DatabaseModule.register() called?');
|
|
13
|
-
return _db;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=transaction-context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-context.js","sourceRoot":"","sources":["../../src/drizzle/transaction-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAOpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,iBAAiB,EAAS,CAAA;AAEhE,MAAM,UAAU,YAAY;IAC1B,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAA;AACtC,CAAC;AAED,IAAI,GAAsB,CAAA;AAE1B,MAAM,UAAU,UAAU,CAAC,EAAS;IAClC,GAAG,GAAG,EAAE,CAAA;AACV,CAAC;AAED,MAAM,UAAU,KAAK;IACnB,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAA;IACxG,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export type IsolationLevel = 'read uncommitted' | 'read committed' | 'repeatable read' | 'serializable' | 'deferred' | 'immediate' | 'exclusive';
|
|
2
|
-
export declare function Transactional(isolationLevel?: IsolationLevel): (_target: object, _propertyKey: string | symbol, descriptor: PropertyDescriptor) => PropertyDescriptor;
|
|
3
|
-
//# sourceMappingURL=transactional.decorator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactional.decorator.d.ts","sourceRoot":"","sources":["../../src/drizzle/transactional.decorator.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GACtB,kBAAkB,GAClB,gBAAgB,GAChB,iBAAiB,GACjB,cAAc,GACd,UAAU,GACV,WAAW,GACX,WAAW,CAAA;AAEf,wBAAgB,aAAa,CAAC,cAAc,CAAC,EAAE,cAAc,IAEzD,SAAS,MAAM,EACf,cAAc,MAAM,GAAG,MAAM,EAC7B,YAAY,kBAAkB,KAC7B,kBAAkB,CAkBtB"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { getCurrentTx, getDb, transactionStorage } from '../drizzle/transaction-context.js';
|
|
2
|
-
export function Transactional(isolationLevel) {
|
|
3
|
-
return function (_target, _propertyKey, descriptor) {
|
|
4
|
-
const original = descriptor.value;
|
|
5
|
-
descriptor.value = async function (...args) {
|
|
6
|
-
if (getCurrentTx() !== undefined) {
|
|
7
|
-
return original.apply(this, args);
|
|
8
|
-
}
|
|
9
|
-
const db = getDb();
|
|
10
|
-
return db.transaction((tx) => transactionStorage.run(tx, () => original.apply(this, args)), isolationLevel ? { isolationLevel } : undefined);
|
|
11
|
-
};
|
|
12
|
-
return descriptor;
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=transactional.decorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactional.decorator.js","sourceRoot":"","sources":["../../src/drizzle/transactional.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAW1F,MAAM,UAAU,aAAa,CAAC,cAA+B;IAC3D,OAAO,UACL,OAAe,EACf,YAA6B,EAC7B,UAA8B;QAE9B,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAiD,CAAA;QAE7E,UAAU,CAAC,KAAK,GAAG,KAAK,WAA0B,GAAG,IAAe;YAClE,IAAI,YAAY,EAAE,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACnC,CAAC;YAED,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;YAElB,OAAO,EAAE,CAAC,WAAW,CACnB,CAAC,EAAW,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAC7E,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAChD,CAAA;QACH,CAAC,CAAA;QAED,OAAO,UAAU,CAAA;IACnB,CAAC,CAAA;AACH,CAAC"}
|
package/dist/prisma/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prisma/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAA"}
|
package/dist/prisma/index.js
DELETED
package/dist/prisma/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prisma/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prisma.client.d.ts","sourceRoot":"","sources":["../../src/prisma/prisma.client.ts"],"names":[],"mappings":"AAUA,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,OAcrD"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { patchPrismaTx } from '@myfunc/prisma-transactional';
|
|
2
|
-
import { PrismaPg } from '@prisma/adapter-pg';
|
|
3
|
-
export function createPrismaClient(databaseUrl) {
|
|
4
|
-
const { PrismaClient } = require('@prisma/client');
|
|
5
|
-
const adapter = new PrismaPg({
|
|
6
|
-
connectionString: databaseUrl,
|
|
7
|
-
});
|
|
8
|
-
const client = new PrismaClient({
|
|
9
|
-
adapter,
|
|
10
|
-
});
|
|
11
|
-
return patchPrismaTx(client);
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=prisma.client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prisma.client.js","sourceRoot":"","sources":["../../src/prisma/prisma.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAS7C,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IAGpD,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAElD,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC;QAC3B,gBAAgB,EAAE,WAAW;KAC9B,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC9B,OAAO;KACR,CAAC,CAAA;IAEF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactional.decorator.d.ts","sourceRoot":"","sources":["../../src/prisma/transactional.decorator.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,aAAa,GAAI,iBAAiB,MAAM,oBAChB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactional.decorator.js","sourceRoot":"","sources":["../../src/prisma/transactional.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAoBlE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,cAAuB,EAAE,EAAE,CACvD,mBAAmB,CAAC,cAAc,CAAC,CAAA"}
|
package/dist/schema-builder.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { DatabaseAdapter } from './database.types.js';
|
|
2
|
-
import type { SchemaBuilder, SchemaResolverResult } from './schema-builder.types.js';
|
|
3
|
-
export declare function createSchemaBuilder(): SchemaBuilder;
|
|
4
|
-
type AnyTable = any;
|
|
5
|
-
export declare function materializeSchema(adapter: DatabaseAdapter, resolverResult: SchemaResolverResult): Record<string, AnyTable>;
|
|
6
|
-
export {};
|
|
7
|
-
//# sourceMappingURL=schema-builder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-builder.d.ts","sourceRoot":"","sources":["../src/schema-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAEX,aAAa,EACb,oBAAoB,EACpB,MAAM,2BAA2B,CAAA;AAElC,wBAAgB,mBAAmB,IAAI,aAAa,CAUnD;AAGD,KAAK,QAAQ,GAAG,GAAG,CAAA;AA2BnB,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,eAAe,EACxB,cAAc,EAAE,oBAAoB,GAClC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAO1B"}
|
package/dist/schema-builder.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
export function createSchemaBuilder() {
|
|
2
|
-
return {
|
|
3
|
-
table(columns) {
|
|
4
|
-
return {
|
|
5
|
-
__columns: columns,
|
|
6
|
-
};
|
|
7
|
-
},
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
function createTable(adapter, tableName, columns) {
|
|
11
|
-
switch (adapter) {
|
|
12
|
-
case 'postgresql': {
|
|
13
|
-
const { pgTable } = require('drizzle-orm/pg-core');
|
|
14
|
-
return pgTable(tableName, columns);
|
|
15
|
-
}
|
|
16
|
-
case 'mysql': {
|
|
17
|
-
const { mysqlTable } = require('drizzle-orm/mysql-core');
|
|
18
|
-
return mysqlTable(tableName, columns);
|
|
19
|
-
}
|
|
20
|
-
case 'sqlite': {
|
|
21
|
-
const { sqliteTable } = require('drizzle-orm/sqlite-core');
|
|
22
|
-
return sqliteTable(tableName, columns);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
export function materializeSchema(adapter, resolverResult) {
|
|
27
|
-
return Object.fromEntries(Object.entries(resolverResult).map(([tableName, columnMap]) => {
|
|
28
|
-
const columns = columnMap.__columns;
|
|
29
|
-
return [tableName, createTable(adapter, tableName, columns)];
|
|
30
|
-
}));
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=schema-builder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-builder.js","sourceRoot":"","sources":["../src/schema-builder.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,mBAAmB;IAClC,OAAO;QACN,KAAK,CACJ,OAAiB;YAEjB,OAAO;gBACN,SAAS,EAAE,OAAO;aAClB,CAAA;QACF,CAAC;KACD,CAAA;AACF,CAAC;AAKD,SAAS,WAAW,CACnB,OAAwB,EACxB,SAAiB,EAEjB,OAA4B;IAE5B,QAAQ,OAAO,EAAE,CAAC;QACjB,KAAK,YAAY,CAAC,CAAC,CAAC;YAEnB,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAQ,CAAA;YACzD,OAAO,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACnC,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YAEd,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,wBAAwB,CAAQ,CAAA;YAC/D,OAAO,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACtC,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YAEf,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,yBAAyB,CAAQ,CAAA;YACjE,OAAO,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACvC,CAAC;IACF,CAAC;AACF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAChC,OAAwB,EACxB,cAAoC;IAEpC,OAAO,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE;QAC7D,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAA;QACnC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;IAC7D,CAAC,CAAC,CACF,CAAA;AACF,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export type ColumnMap<TColumns extends Record<string, unknown>> = {
|
|
2
|
-
readonly __columns: TColumns;
|
|
3
|
-
};
|
|
4
|
-
export interface SchemaBuilder {
|
|
5
|
-
table<TColumns extends Record<string, unknown>>(columns: TColumns): ColumnMap<TColumns>;
|
|
6
|
-
}
|
|
7
|
-
export type SchemaResolverResult = Record<string, ColumnMap<Record<string, unknown>>>;
|
|
8
|
-
//# sourceMappingURL=schema-builder.types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-builder.types.d.ts","sourceRoot":"","sources":["../src/schema-builder.types.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,SAAS,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACjE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAA;CAC5B,CAAA;AAED,MAAM,WAAW,aAAa;IAC7B,KAAK,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,OAAO,EAAE,QAAQ,GACf,SAAS,CAAC,QAAQ,CAAC,CAAA;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,CACxC,MAAM,EACN,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAClC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-builder.types.js","sourceRoot":"","sources":["../src/schema-builder.types.ts"],"names":[],"mappings":""}
|