@proteinjs/db-driver-knex 1.4.14 → 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/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.5.0](https://github.com/proteinjs/db/compare/@proteinjs/db-driver-knex@1.4.15...@proteinjs/db-driver-knex@1.5.0) (2025-11-08)
7
+
8
+
9
+ ### Features
10
+
11
+ * Reverse cascade delete ([#20](https://github.com/proteinjs/db/issues/20)) ([8aa734f](https://github.com/proteinjs/db/commit/8aa734f7c5cb2398ebced01f31cc62898d22aae0))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [1.4.14](https://github.com/proteinjs/db/compare/@proteinjs/db-driver-knex@1.4.13...@proteinjs/db-driver-knex@1.4.14) (2025-09-28)
7
18
 
8
19
 
@@ -0,0 +1,13 @@
1
+ /** Load Dependency Source Graphs */
2
+ import '@proteinjs/db';
3
+ import '@proteinjs/db-query';
4
+ import '@proteinjs/db-transaction-context';
5
+ import '@proteinjs/logger';
6
+ import '@proteinjs/reflection';
7
+ import '@proteinjs/util';
8
+ import 'knex';
9
+ import 'moment';
10
+ import 'mysql';
11
+ import 'uuid';
12
+ export * from '../../index';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../generated/test/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAEpC,OAAO,eAAe,CAAC;AACvB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mCAAmC,CAAC;AAC3C,OAAO,mBAAmB,CAAC;AAC3B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,iBAAiB,CAAC;AACzB,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,CAAC;AAChB,OAAO,OAAO,CAAC;AACf,OAAO,MAAM,CAAC;AA2Bd,cAAc,aAAa,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ /** Load Dependency Source Graphs */
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ require("@proteinjs/db");
19
+ require("@proteinjs/db-query");
20
+ require("@proteinjs/db-transaction-context");
21
+ require("@proteinjs/logger");
22
+ require("@proteinjs/reflection");
23
+ require("@proteinjs/util");
24
+ require("knex");
25
+ require("moment");
26
+ require("mysql");
27
+ require("uuid");
28
+ /** Generate Source Graph */
29
+ var sourceGraph = "{\"options\":{\"directed\":true,\"multigraph\":false,\"compound\":false},\"nodes\":[{\"v\":\"@proteinjs/db-driver-knex/TestDbDriverFactory\",\"value\":{\"packageName\":\"@proteinjs/db-driver-knex\",\"name\":\"TestDbDriverFactory\",\"filePath\":\"/home/runner/work/db/db/packages/drivers/knex/test/config/TestDbDriverFactory.ts\",\"qualifiedName\":\"@proteinjs/db-driver-knex/TestDbDriverFactory\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[{\"name\":\"getDbDriver\",\"returnType\":{\"packageName\":\"@proteinjs/db\",\"name\":\"DbDriver\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/DbDriver\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]}],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/db\",\"name\":\"DefaultDbDriverFactory\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/DefaultDbDriverFactory\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/db/DefaultDbDriverFactory\"},{\"v\":\"@proteinjs/db-driver-knex/KnexDriver\",\"value\":{\"packageName\":\"@proteinjs/db-driver-knex\",\"name\":\"KnexDriver\",\"filePath\":\"/home/runner/work/db/db/packages/drivers/knex/src/KnexDriver.ts\",\"qualifiedName\":\"@proteinjs/db-driver-knex/KnexDriver\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"KNEX\",\"type\":{\"packageName\":\"\",\"name\":\"knex\",\"filePath\":null,\"qualifiedName\":\"/knex\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":true,\"visibility\":\"private\"},{\"name\":\"logger\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"config\",\"type\":{\"packageName\":\"@proteinjs/db-driver-knex\",\"name\":\"KnexConfig\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-driver-knex/KnexConfig\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"knexConfig\",\"type\":{\"packageName\":\"\",\"name\":\"any\",\"filePath\":null,\"qualifiedName\":\"/any\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"getTable\",\"type\":{\"packageName\":\"\",\"name\":\"((name: string) => Table<any>) | undefined\",\"filePath\":null,\"qualifiedName\":\"/((name: string) => Table<any>) | undefined\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[{\"name\":\"getKnex\",\"returnType\":{\"packageName\":\"\",\"name\":\"knex\",\"filePath\":null,\"qualifiedName\":\"/knex\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"getDbName\",\"returnType\":null,\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"createDbIfNotExists\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"dbExists\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<boolean>\",\"filePath\":null,\"qualifiedName\":\"/Promise<boolean>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"databaseName\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"start\",\"returnType\":null,\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"stop\",\"returnType\":null,\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"setMaxAllowedPacketSize\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[]},{\"name\":\"getTableManager\",\"returnType\":{\"packageName\":\"@proteinjs/db\",\"name\":\"TableManager\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/TableManager\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"handleCaseSensitivity\",\"returnType\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"tableName\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"columnName\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"caseSensitive\",\"type\":{\"packageName\":\"\",\"name\":\"boolean\",\"filePath\":null,\"qualifiedName\":\"/boolean\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"runQuery\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<SerializedRecord[]>\",\"filePath\":null,\"qualifiedName\":\"/Promise<SerializedRecord[]>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"generateStatement\",\"type\":{\"packageName\":\"\",\"name\":\"(config: DbDriverQueryStatementConfig) => Statement\",\"filePath\":null,\"qualifiedName\":\"/(config: DbDriverQueryStatementConfig) => Statement\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"transaction\",\"type\":{\"packageName\":\"knex\",\"name\":\"Transaction\",\"filePath\":null,\"qualifiedName\":\"knex/Transaction\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"runDml\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<number>\",\"filePath\":null,\"qualifiedName\":\"/Promise<number>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"generateStatement\",\"type\":{\"packageName\":\"\",\"name\":\"(config: DbDriverDmlStatementConfig) => Statement\",\"filePath\":null,\"qualifiedName\":\"/(config: DbDriverDmlStatementConfig) => Statement\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"transaction\",\"type\":{\"packageName\":\"knex\",\"name\":\"Transaction\",\"filePath\":null,\"qualifiedName\":\"knex/Transaction\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"runTransaction\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<T>\",\"filePath\":null,\"qualifiedName\":\"/Promise<T>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fn\",\"type\":{\"packageName\":\"\",\"name\":\"(transaction: Transaction) => Promise<T>\",\"filePath\":null,\"qualifiedName\":\"/(transaction: Transaction) => Promise<T>\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/db\",\"name\":\"DbDriver\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/DbDriver\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/db/DbDriver\"},{\"v\":\"@proteinjs/db-driver-knex/KnexSchemaOperations\",\"value\":{\"packageName\":\"@proteinjs/db-driver-knex\",\"name\":\"KnexSchemaOperations\",\"filePath\":\"/home/runner/work/db/db/packages/drivers/knex/src/KnexSchemaOperations.ts\",\"qualifiedName\":\"@proteinjs/db-driver-knex/KnexSchemaOperations\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"logger\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"knexDriver\",\"type\":{\"packageName\":\"@proteinjs/db-driver-knex\",\"name\":\"KnexDriver\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-driver-knex/KnexDriver\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"}],\"methods\":[{\"name\":\"createTable\",\"returnType\":null,\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"alterTable\",\"returnType\":null,\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"tableChanges\",\"type\":{\"packageName\":\"@proteinjs/db\",\"name\":\"TableChanges\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/TableChanges\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"createColumn\",\"returnType\":null,\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"column\",\"type\":{\"packageName\":\"\",\"name\":\"Column<any, any>\",\"filePath\":null,\"qualifiedName\":\"/Column<any, any>\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"tableBuilder\",\"type\":{\"packageName\":\"\",\"name\":\"knex.TableBuilder\",\"filePath\":null,\"qualifiedName\":\"/knex.TableBuilder\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"tableChanges\",\"type\":{\"packageName\":\"@proteinjs/db\",\"name\":\"TableChanges\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/TableChanges\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/db\",\"name\":\"SchemaOperations\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/SchemaOperations\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/db/SchemaOperations\"}],\"edges\":[{\"v\":\"@proteinjs/db-driver-knex/TestDbDriverFactory\",\"w\":\"@proteinjs/db/DefaultDbDriverFactory\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/db-driver-knex/KnexDriver\",\"w\":\"@proteinjs/db/DbDriver\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/db-driver-knex/KnexSchemaOperations\",\"w\":\"@proteinjs/db/SchemaOperations\",\"value\":\"implements interface\"}]}";
30
+ /** Generate Source Links */
31
+ var TestDbDriverFactory_1 = require("../../test/config/TestDbDriverFactory");
32
+ var KnexDriver_1 = require("../../src/KnexDriver");
33
+ var KnexSchemaOperations_1 = require("../../src/KnexSchemaOperations");
34
+ var sourceLinks = {
35
+ '@proteinjs/db-driver-knex/TestDbDriverFactory': TestDbDriverFactory_1.TestDbDriverFactory,
36
+ '@proteinjs/db-driver-knex/KnexDriver': KnexDriver_1.KnexDriver,
37
+ '@proteinjs/db-driver-knex/KnexSchemaOperations': KnexSchemaOperations_1.KnexSchemaOperations,
38
+ };
39
+ /** Load Source Graph and Links */
40
+ var reflection_1 = require("@proteinjs/reflection");
41
+ reflection_1.SourceRepository.merge(sourceGraph, sourceLinks);
42
+ __exportStar(require("../../index"), exports);
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../generated/test/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,yBAAuB;AACvB,+BAA6B;AAC7B,6CAA2C;AAC3C,6BAA2B;AAC3B,iCAA+B;AAC/B,2BAAyB;AACzB,gBAAc;AACd,kBAAgB;AAChB,iBAAe;AACf,gBAAc;AAGd,4BAA4B;AAE5B,IAAM,WAAW,GAAG,ilXAAilX,CAAC;AAGtmX,4BAA4B;AAE5B,6EAA4E;AAC5E,mDAAkD;AAClD,uEAAsE;AAEtE,IAAM,WAAW,GAAG;IACnB,+CAA+C,EAAE,yCAAmB;IACpE,sCAAsC,EAAE,uBAAU;IAClD,gDAAgD,EAAE,2CAAoB;CACtE,CAAC;AAGF,kCAAkC;AAElC,oDAAyD;AACzD,6BAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAGjD,8CAA4B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CascadeDelete.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CascadeDelete.test.d.ts","sourceRoot":"","sources":["../../test/CascadeDelete.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var db_1 = require("@proteinjs/db");
4
+ var KnexDriver_1 = require("../src/KnexDriver");
5
+ var db_transaction_context_1 = require("@proteinjs/db-transaction-context");
6
+ var getDropTestTable_1 = require("./util/getDropTestTable");
7
+ require('@proteinjs/db/test');
8
+ require('../generated/test/index');
9
+ var knexDriver = new KnexDriver_1.KnexDriver({
10
+ host: 'localhost',
11
+ user: 'root',
12
+ password: '',
13
+ dbName: 'test',
14
+ });
15
+ describe('Cascade Delete Tests', (0, db_1.cascadeDeleteTests)(knexDriver, new db_transaction_context_1.TransactionContext(), (0, getDropTestTable_1.getDropTestTable)(knexDriver)));
16
+ //# sourceMappingURL=CascadeDelete.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CascadeDelete.test.js","sourceRoot":"","sources":["../../test/CascadeDelete.test.ts"],"names":[],"mappings":";;AAAA,oCAAmD;AACnD,gDAA+C;AAC/C,4EAAuE;AACvE,4DAA2D;AAC3D,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC9B,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAEnC,IAAM,UAAU,GAAG,IAAI,uBAAU,CAAC;IAChC,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,MAAM;CACf,CAAC,CAAC;AAEH,QAAQ,CACN,sBAAsB,EACtB,IAAA,uBAAkB,EAAC,UAAU,EAAE,IAAI,2CAAkB,EAAE,EAAE,IAAA,mCAAgB,EAAC,UAAU,CAAC,CAAC,CACvF,CAAC"}
@@ -1,74 +1,23 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
3
  var db_1 = require("@proteinjs/db");
40
4
  var KnexDriver_1 = require("../src/KnexDriver");
41
5
  var db_transaction_context_1 = require("@proteinjs/db-transaction-context");
42
- var dropTable = function (knexDriver, table) { return __awaiter(void 0, void 0, void 0, function () {
43
- return __generator(this, function (_a) {
44
- switch (_a.label) {
45
- case 0: return [4 /*yield*/, knexDriver.getKnex().schema.withSchema(knexDriver.getDbName()).hasTable(table.name)];
46
- case 1:
47
- if (!_a.sent()) return [3 /*break*/, 3];
48
- return [4 /*yield*/, knexDriver.getKnex().schema.withSchema(knexDriver.getDbName()).dropTable(table.name)];
49
- case 2:
50
- _a.sent();
51
- _a.label = 3;
52
- case 3: return [2 /*return*/];
53
- }
54
- });
55
- }); };
6
+ var getDropTestTable_1 = require("./util/getDropTestTable");
56
7
  var knexDriverColumnTypesTests = new KnexDriver_1.KnexDriver({
57
8
  host: 'localhost',
58
9
  user: 'root',
59
10
  password: '',
60
11
  dbName: 'test',
61
12
  }, db_1.getColTypeTestTable);
62
- describe('Column Type Tests', (0, db_1.columnTypeTests)(knexDriverColumnTypesTests, new db_transaction_context_1.TransactionContext(), function (table) {
63
- return dropTable(knexDriverColumnTypesTests, table);
64
- }));
13
+ describe('Column Type Tests', (0, db_1.columnTypeTests)(knexDriverColumnTypesTests, new db_transaction_context_1.TransactionContext(), (0, getDropTestTable_1.getDropTestTable)(knexDriverColumnTypesTests)));
65
14
  var knexDriverDynamicRefCol = new KnexDriver_1.KnexDriver({
66
15
  host: 'localhost',
67
16
  user: 'root',
68
17
  password: '',
69
18
  dbName: 'test',
70
19
  }, db_1.getDynamicReferenceColumnTestTable);
71
- describe('DynamicReferenceColumn Tests', (0, db_1.dynamicReferenceColumnTests)(knexDriverDynamicRefCol, function (table) { return dropTable(knexDriverDynamicRefCol, table); }));
20
+ describe('DynamicReferenceColumn Tests', (0, db_1.dynamicReferenceColumnTests)(knexDriverDynamicRefCol, (0, getDropTestTable_1.getDropTestTable)(knexDriverDynamicRefCol)));
72
21
  // driver will be stopped in this test, any tests put after this one will not establish connection
73
22
  var knexDriverCrudTests = new KnexDriver_1.KnexDriver({
74
23
  host: 'localhost',
@@ -76,5 +25,5 @@ var knexDriverCrudTests = new KnexDriver_1.KnexDriver({
76
25
  password: '',
77
26
  dbName: 'test',
78
27
  }, db_1.getCrudTestTable);
79
- describe('CRUD Tests', (0, db_1.crudTests)(knexDriverCrudTests, new db_transaction_context_1.TransactionContext(), function (table) { return dropTable(knexDriverCrudTests, table); }));
28
+ describe('CRUD Tests', (0, db_1.crudTests)(knexDriverCrudTests, new db_transaction_context_1.TransactionContext(), (0, getDropTestTable_1.getDropTestTable)(knexDriverCrudTests)));
80
29
  //# sourceMappingURL=Crud.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Crud.test.js","sourceRoot":"","sources":["../../test/Crud.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAQuB;AACvB,gDAA+C;AAC/C,4EAAuE;AAEvE,IAAM,SAAS,GAAG,UAAO,UAAsB,EAAE,KAAiB;;;oBAC5D,qBAAM,UAAU,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAA;;qBAAzF,SAAyF,EAAzF,wBAAyF;gBAC3F,qBAAM,UAAU,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAA;;gBAA1F,SAA0F,CAAC;;;;;KAE9F,CAAC;AAEF,IAAM,0BAA0B,GAAG,IAAI,uBAAU,CAC/C;IACE,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,MAAM;CACf,EACD,wBAAmB,CACpB,CAAC;AAEF,QAAQ,CACN,mBAAmB,EACnB,IAAA,oBAAe,EAAC,0BAA0B,EAAE,IAAI,2CAAkB,EAAE,EAAE,UAAC,KAAK;IAC1E,OAAA,SAAS,CAAC,0BAA0B,EAAE,KAAK,CAAC;AAA5C,CAA4C,CAC7C,CACF,CAAC;AAEF,IAAM,uBAAuB,GAAG,IAAI,uBAAU,CAC5C;IACE,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,MAAM;CACf,EACD,uCAAkC,CACnC,CAAC;AAEF,QAAQ,CACN,8BAA8B,EAC9B,IAAA,gCAA2B,EAAC,uBAAuB,EAAE,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,uBAAuB,EAAE,KAAK,CAAC,EAAzC,CAAyC,CAAC,CAC3G,CAAC;AAEF,kGAAkG;AAClG,IAAM,mBAAmB,GAAG,IAAI,uBAAU,CACxC;IACE,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,MAAM;CACf,EACD,qBAAgB,CACjB,CAAC;AAEF,QAAQ,CACN,YAAY,EACZ,IAAA,cAAS,EAAC,mBAAmB,EAAE,IAAI,2CAAkB,EAAE,EAAE,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAArC,CAAqC,CAAC,CAC3G,CAAC"}
1
+ {"version":3,"file":"Crud.test.js","sourceRoot":"","sources":["../../test/Crud.test.ts"],"names":[],"mappings":";;AAAA,oCAOuB;AACvB,gDAA+C;AAC/C,4EAAuE;AACvE,4DAA2D;AAE3D,IAAM,0BAA0B,GAAG,IAAI,uBAAU,CAC/C;IACE,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,MAAM;CACf,EACD,wBAAmB,CACpB,CAAC;AAEF,QAAQ,CACN,mBAAmB,EACnB,IAAA,oBAAe,EAAC,0BAA0B,EAAE,IAAI,2CAAkB,EAAE,EAAE,IAAA,mCAAgB,EAAC,0BAA0B,CAAC,CAAC,CACpH,CAAC;AAEF,IAAM,uBAAuB,GAAG,IAAI,uBAAU,CAC5C;IACE,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,MAAM;CACf,EACD,uCAAkC,CACnC,CAAC;AAEF,QAAQ,CACN,8BAA8B,EAC9B,IAAA,gCAA2B,EAAC,uBAAuB,EAAE,IAAA,mCAAgB,EAAC,uBAAuB,CAAC,CAAC,CAChG,CAAC;AAEF,kGAAkG;AAClG,IAAM,mBAAmB,GAAG,IAAI,uBAAU,CACxC;IACE,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,MAAM;CACf,EACD,qBAAgB,CACjB,CAAC;AAEF,QAAQ,CAAC,YAAY,EAAE,IAAA,cAAS,EAAC,mBAAmB,EAAE,IAAI,2CAAkB,EAAE,EAAE,IAAA,mCAAgB,EAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC"}
@@ -1,63 +1,14 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
3
  var db_1 = require("@proteinjs/db");
40
4
  var KnexDriver_1 = require("../src/KnexDriver");
41
5
  var KnexColumnTypeFactory_1 = require("../src/KnexColumnTypeFactory");
6
+ var getDropTestTable_1 = require("./util/getDropTestTable");
42
7
  var knexDriver = new KnexDriver_1.KnexDriver({
43
8
  host: 'localhost',
44
9
  user: 'root',
45
10
  password: '',
46
11
  dbName: 'test',
47
12
  });
48
- var dropTable = function (table) { return __awaiter(void 0, void 0, void 0, function () {
49
- return __generator(this, function (_a) {
50
- switch (_a.label) {
51
- case 0: return [4 /*yield*/, knexDriver.getKnex().schema.withSchema(knexDriver.getDbName()).hasTable(table.name)];
52
- case 1:
53
- if (!_a.sent()) return [3 /*break*/, 3];
54
- return [4 /*yield*/, knexDriver.getKnex().schema.withSchema(knexDriver.getDbName()).dropTable(table.name)];
55
- case 2:
56
- _a.sent();
57
- _a.label = 3;
58
- case 3: return [2 /*return*/];
59
- }
60
- });
61
- }); };
62
- describe('Table Manager Tests', (0, db_1.tableManagerTests)(knexDriver, dropTable, new KnexColumnTypeFactory_1.KnexColumnTypeFactory().getType));
13
+ describe('Table Manager Tests', (0, db_1.tableManagerTests)(knexDriver, (0, getDropTestTable_1.getDropTestTable)(knexDriver), new KnexColumnTypeFactory_1.KnexColumnTypeFactory().getType));
63
14
  //# sourceMappingURL=TableManager.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableManager.test.js","sourceRoot":"","sources":["../../test/TableManager.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAAyD;AACzD,gDAA+C;AAC/C,sEAAqE;AAErE,IAAM,UAAU,GAAG,IAAI,uBAAU,CAAC;IAChC,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,MAAM;CACf,CAAC,CAAC;AACH,IAAM,SAAS,GAAG,UAAO,KAAiB;;;oBACpC,qBAAM,UAAU,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAA;;qBAAzF,SAAyF,EAAzF,wBAAyF;gBAC3F,qBAAM,UAAU,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAA;;gBAA1F,SAA0F,CAAC;;;;;KAE9F,CAAC;AAEF,QAAQ,CAAC,qBAAqB,EAAE,IAAA,sBAAiB,EAAC,UAAU,EAAE,SAAS,EAAE,IAAI,6CAAqB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"TableManager.test.js","sourceRoot":"","sources":["../../test/TableManager.test.ts"],"names":[],"mappings":";;AAAA,oCAAyD;AACzD,gDAA+C;AAC/C,sEAAqE;AACrE,4DAA2D;AAE3D,IAAM,UAAU,GAAG,IAAI,uBAAU,CAAC;IAChC,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,MAAM;CACf,CAAC,CAAC;AAEH,QAAQ,CACN,qBAAqB,EACrB,IAAA,sBAAiB,EAAC,UAAU,EAAE,IAAA,mCAAgB,EAAC,UAAU,CAAC,EAAE,IAAI,6CAAqB,EAAE,CAAC,OAAO,CAAC,CACjG,CAAC"}
@@ -1,63 +1,14 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
3
  var db_1 = require("@proteinjs/db");
40
4
  var KnexDriver_1 = require("../src/KnexDriver");
41
5
  var db_transaction_context_1 = require("@proteinjs/db-transaction-context");
42
- var dropTable = function (knexDriver, table) { return __awaiter(void 0, void 0, void 0, function () {
43
- return __generator(this, function (_a) {
44
- switch (_a.label) {
45
- case 0: return [4 /*yield*/, knexDriver.getKnex().schema.withSchema(knexDriver.getDbName()).hasTable(table.name)];
46
- case 1:
47
- if (!_a.sent()) return [3 /*break*/, 3];
48
- return [4 /*yield*/, knexDriver.getKnex().schema.withSchema(knexDriver.getDbName()).dropTable(table.name)];
49
- case 2:
50
- _a.sent();
51
- _a.label = 3;
52
- case 3: return [2 /*return*/];
53
- }
54
- });
55
- }); };
6
+ var getDropTestTable_1 = require("./util/getDropTestTable");
56
7
  var knexDriver = new KnexDriver_1.KnexDriver({
57
8
  host: 'localhost',
58
9
  user: 'root',
59
10
  password: '',
60
11
  dbName: 'test',
61
12
  }, db_1.getTransactionTestTable);
62
- describe('Transaction Tests', (0, db_1.transactionTests)(knexDriver, new db_transaction_context_1.TransactionContext(), function (table) { return dropTable(knexDriver, table); }));
13
+ describe('Transaction Tests', (0, db_1.transactionTests)(knexDriver, new db_transaction_context_1.TransactionContext(), (0, getDropTestTable_1.getDropTestTable)(knexDriver)));
63
14
  //# sourceMappingURL=Transaction.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.test.js","sourceRoot":"","sources":["../../test/Transaction.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAAiF;AACjF,gDAA+C;AAC/C,4EAAuE;AAEvE,IAAM,SAAS,GAAG,UAAO,UAAsB,EAAE,KAAiB;;;oBAC5D,qBAAM,UAAU,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAA;;qBAAzF,SAAyF,EAAzF,wBAAyF;gBAC3F,qBAAM,UAAU,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAA;;gBAA1F,SAA0F,CAAC;;;;;KAE9F,CAAC;AAEF,IAAM,UAAU,GAAG,IAAI,uBAAU,CAC/B;IACE,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,MAAM;CACf,EACD,4BAAuB,CACxB,CAAC;AAEF,QAAQ,CACN,mBAAmB,EACnB,IAAA,qBAAgB,EAAC,UAAU,EAAE,IAAI,2CAAkB,EAAE,EAAE,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,EAA5B,CAA4B,CAAC,CAChG,CAAC"}
1
+ {"version":3,"file":"Transaction.test.js","sourceRoot":"","sources":["../../test/Transaction.test.ts"],"names":[],"mappings":";;AAAA,oCAA0E;AAC1E,gDAA+C;AAC/C,4EAAuE;AACvE,4DAA2D;AAE3D,IAAM,UAAU,GAAG,IAAI,uBAAU,CAC/B;IACE,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,MAAM;CACf,EACD,4BAAuB,CACxB,CAAC;AAEF,QAAQ,CAAC,mBAAmB,EAAE,IAAA,qBAAgB,EAAC,UAAU,EAAE,IAAI,2CAAkB,EAAE,EAAE,IAAA,mCAAgB,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { DbDriver, DefaultDbDriverFactory } from '@proteinjs/db';
2
+ export declare class TestDbDriverFactory implements DefaultDbDriverFactory {
3
+ getDbDriver(): DbDriver;
4
+ }
5
+ //# sourceMappingURL=TestDbDriverFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestDbDriverFactory.d.ts","sourceRoot":"","sources":["../../../test/config/TestDbDriverFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAUjE,qBAAa,mBAAoB,YAAW,sBAAsB;IAChE,WAAW,IAAI,QAAQ;CAGxB"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TestDbDriverFactory = void 0;
4
+ var KnexDriver_1 = require("../../src/KnexDriver");
5
+ var knexDriver = new KnexDriver_1.KnexDriver({
6
+ host: 'localhost',
7
+ user: 'root',
8
+ password: '',
9
+ dbName: 'test',
10
+ });
11
+ var TestDbDriverFactory = /** @class */ (function () {
12
+ function TestDbDriverFactory() {
13
+ }
14
+ TestDbDriverFactory.prototype.getDbDriver = function () {
15
+ return knexDriver;
16
+ };
17
+ return TestDbDriverFactory;
18
+ }());
19
+ exports.TestDbDriverFactory = TestDbDriverFactory;
20
+ //# sourceMappingURL=TestDbDriverFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestDbDriverFactory.js","sourceRoot":"","sources":["../../../test/config/TestDbDriverFactory.ts"],"names":[],"mappings":";;;AACA,mDAAkD;AAElD,IAAM,UAAU,GAAG,IAAI,uBAAU,CAAC;IAChC,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,MAAM;CACf,CAAC,CAAC;AAEH;IAAA;IAIA,CAAC;IAHC,yCAAW,GAAX;QACE,OAAO,UAAU,CAAC;IACpB,CAAC;IACH,0BAAC;AAAD,CAAC,AAJD,IAIC;AAJY,kDAAmB"}
@@ -0,0 +1,4 @@
1
+ import { Table } from '@proteinjs/db';
2
+ import { KnexDriver } from '../../src/KnexDriver';
3
+ export declare const getDropTestTable: (knexDriver: KnexDriver) => (table: Table<any>) => Promise<void>;
4
+ //# sourceMappingURL=getDropTestTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDropTestTable.d.ts","sourceRoot":"","sources":["../../../test/util/getDropTestTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,eAAO,MAAM,gBAAgB,eAAgB,UAAU,aAChC,MAAM,GAAG,CAAC,kBAKhC,CAAC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getDropTestTable = void 0;
40
+ var getDropTestTable = function (knexDriver) {
41
+ return function (table) { return __awaiter(void 0, void 0, void 0, function () {
42
+ return __generator(this, function (_a) {
43
+ switch (_a.label) {
44
+ case 0: return [4 /*yield*/, knexDriver.getKnex().schema.withSchema(knexDriver.getDbName()).hasTable(table.name)];
45
+ case 1:
46
+ if (!_a.sent()) return [3 /*break*/, 3];
47
+ return [4 /*yield*/, knexDriver.getKnex().schema.withSchema(knexDriver.getDbName()).dropTable(table.name)];
48
+ case 2:
49
+ _a.sent();
50
+ _a.label = 3;
51
+ case 3: return [2 /*return*/];
52
+ }
53
+ });
54
+ }); };
55
+ };
56
+ exports.getDropTestTable = getDropTestTable;
57
+ //# sourceMappingURL=getDropTestTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDropTestTable.js","sourceRoot":"","sources":["../../../test/util/getDropTestTable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,IAAM,gBAAgB,GAAG,UAAC,UAAsB;IACrD,OAAO,UAAO,KAAiB;;;wBACzB,qBAAM,UAAU,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAA;;yBAAzF,SAAyF,EAAzF,wBAAyF;oBAC3F,qBAAM,UAAU,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAA;;oBAA1F,SAA0F,CAAC;;;;;SAE9F,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,gBAAgB,oBAM3B"}
@@ -0,0 +1,36 @@
1
+ /** Load Dependency Source Graphs */
2
+
3
+ import '@proteinjs/db';
4
+ import '@proteinjs/db-query';
5
+ import '@proteinjs/db-transaction-context';
6
+ import '@proteinjs/logger';
7
+ import '@proteinjs/reflection';
8
+ import '@proteinjs/util';
9
+ import 'knex';
10
+ import 'moment';
11
+ import 'mysql';
12
+ import 'uuid';
13
+
14
+ /** Generate Source Graph */
15
+
16
+ const sourceGraph =
17
+ '{"options":{"directed":true,"multigraph":false,"compound":false},"nodes":[{"v":"@proteinjs/db-driver-knex/TestDbDriverFactory","value":{"packageName":"@proteinjs/db-driver-knex","name":"TestDbDriverFactory","filePath":"/home/runner/work/db/db/packages/drivers/knex/test/config/TestDbDriverFactory.ts","qualifiedName":"@proteinjs/db-driver-knex/TestDbDriverFactory","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[{"name":"getDbDriver","returnType":{"packageName":"@proteinjs/db","name":"DbDriver","filePath":null,"qualifiedName":"@proteinjs/db/DbDriver","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/db","name":"DefaultDbDriverFactory","filePath":null,"qualifiedName":"@proteinjs/db/DefaultDbDriverFactory","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/DefaultDbDriverFactory"},{"v":"@proteinjs/db-driver-knex/KnexDriver","value":{"packageName":"@proteinjs/db-driver-knex","name":"KnexDriver","filePath":"/home/runner/work/db/db/packages/drivers/knex/src/KnexDriver.ts","qualifiedName":"@proteinjs/db-driver-knex/KnexDriver","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"KNEX","type":{"packageName":"","name":"knex","filePath":null,"qualifiedName":"/knex","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":true,"visibility":"private"},{"name":"logger","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"config","type":{"packageName":"@proteinjs/db-driver-knex","name":"KnexConfig","filePath":null,"qualifiedName":"@proteinjs/db-driver-knex/KnexConfig","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"knexConfig","type":{"packageName":"","name":"any","filePath":null,"qualifiedName":"/any","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"getTable","type":{"packageName":"","name":"((name: string) => Table<any>) | undefined","filePath":null,"qualifiedName":"/((name: string) => Table<any>) | undefined","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"getKnex","returnType":{"packageName":"","name":"knex","filePath":null,"qualifiedName":"/knex","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"getDbName","returnType":null,"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"createDbIfNotExists","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"dbExists","returnType":{"packageName":"","name":"Promise<boolean>","filePath":null,"qualifiedName":"/Promise<boolean>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"databaseName","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"start","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"stop","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"setMaxAllowedPacketSize","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[]},{"name":"getTableManager","returnType":{"packageName":"@proteinjs/db","name":"TableManager","filePath":null,"qualifiedName":"@proteinjs/db/TableManager","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"handleCaseSensitivity","returnType":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"tableName","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}},{"name":"columnName","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}},{"name":"caseSensitive","type":{"packageName":"","name":"boolean","filePath":null,"qualifiedName":"/boolean","typeParameters":null,"directParents":null}}]},{"name":"runQuery","returnType":{"packageName":"","name":"Promise<SerializedRecord[]>","filePath":null,"qualifiedName":"/Promise<SerializedRecord[]>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"generateStatement","type":{"packageName":"","name":"(config: DbDriverQueryStatementConfig) => Statement","filePath":null,"qualifiedName":"/(config: DbDriverQueryStatementConfig) => Statement","typeParameters":null,"directParents":null}},{"name":"transaction","type":{"packageName":"knex","name":"Transaction","filePath":null,"qualifiedName":"knex/Transaction","typeParameters":null,"directParents":null}}]},{"name":"runDml","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"generateStatement","type":{"packageName":"","name":"(config: DbDriverDmlStatementConfig) => Statement","filePath":null,"qualifiedName":"/(config: DbDriverDmlStatementConfig) => Statement","typeParameters":null,"directParents":null}},{"name":"transaction","type":{"packageName":"knex","name":"Transaction","filePath":null,"qualifiedName":"knex/Transaction","typeParameters":null,"directParents":null}}]},{"name":"runTransaction","returnType":{"packageName":"","name":"Promise<T>","filePath":null,"qualifiedName":"/Promise<T>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"fn","type":{"packageName":"","name":"(transaction: Transaction) => Promise<T>","filePath":null,"qualifiedName":"/(transaction: Transaction) => Promise<T>","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/db","name":"DbDriver","filePath":null,"qualifiedName":"@proteinjs/db/DbDriver","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/DbDriver"},{"v":"@proteinjs/db-driver-knex/KnexSchemaOperations","value":{"packageName":"@proteinjs/db-driver-knex","name":"KnexSchemaOperations","filePath":"/home/runner/work/db/db/packages/drivers/knex/src/KnexSchemaOperations.ts","qualifiedName":"@proteinjs/db-driver-knex/KnexSchemaOperations","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"logger","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"knexDriver","type":{"packageName":"@proteinjs/db-driver-knex","name":"KnexDriver","filePath":null,"qualifiedName":"@proteinjs/db-driver-knex/KnexDriver","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"}],"methods":[{"name":"createTable","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null}}]},{"name":"alterTable","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null}},{"name":"tableChanges","type":{"packageName":"@proteinjs/db","name":"TableChanges","filePath":null,"qualifiedName":"@proteinjs/db/TableChanges","typeParameters":null,"directParents":null}}]},{"name":"createColumn","returnType":null,"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"column","type":{"packageName":"","name":"Column<any, any>","filePath":null,"qualifiedName":"/Column<any, any>","typeParameters":null,"directParents":null}},{"name":"table","type":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null}},{"name":"tableBuilder","type":{"packageName":"","name":"knex.TableBuilder","filePath":null,"qualifiedName":"/knex.TableBuilder","typeParameters":null,"directParents":null}},{"name":"tableChanges","type":{"packageName":"@proteinjs/db","name":"TableChanges","filePath":null,"qualifiedName":"@proteinjs/db/TableChanges","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/db","name":"SchemaOperations","filePath":null,"qualifiedName":"@proteinjs/db/SchemaOperations","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/SchemaOperations"}],"edges":[{"v":"@proteinjs/db-driver-knex/TestDbDriverFactory","w":"@proteinjs/db/DefaultDbDriverFactory","value":"implements interface"},{"v":"@proteinjs/db-driver-knex/KnexDriver","w":"@proteinjs/db/DbDriver","value":"implements interface"},{"v":"@proteinjs/db-driver-knex/KnexSchemaOperations","w":"@proteinjs/db/SchemaOperations","value":"implements interface"}]}';
18
+
19
+ /** Generate Source Links */
20
+
21
+ import { TestDbDriverFactory } from '../../test/config/TestDbDriverFactory';
22
+ import { KnexDriver } from '../../src/KnexDriver';
23
+ import { KnexSchemaOperations } from '../../src/KnexSchemaOperations';
24
+
25
+ const sourceLinks = {
26
+ '@proteinjs/db-driver-knex/TestDbDriverFactory': TestDbDriverFactory,
27
+ '@proteinjs/db-driver-knex/KnexDriver': KnexDriver,
28
+ '@proteinjs/db-driver-knex/KnexSchemaOperations': KnexSchemaOperations,
29
+ };
30
+
31
+ /** Load Source Graph and Links */
32
+
33
+ import { SourceRepository } from '@proteinjs/reflection';
34
+ SourceRepository.merge(sourceGraph, sourceLinks);
35
+
36
+ export * from '../../index';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proteinjs/db-driver-knex",
3
- "version": "1.4.14",
3
+ "version": "1.5.0",
4
4
  "description": "Db driver for Knex",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -17,15 +17,15 @@
17
17
  "license": "ISC",
18
18
  "scripts": {
19
19
  "clean": "rm -rf dist/ node_modules/ generated/",
20
- "build": "reflection-build && tsc",
20
+ "build": "reflection-build && REFLECTION_SOURCE_DIRS=test,src reflection-build && tsc",
21
21
  "watch": "reflection-watch",
22
22
  "test": "jest"
23
23
  },
24
24
  "dependencies": {
25
- "@proteinjs/db": "^1.18.1",
26
- "@proteinjs/db-query": "^1.3.1",
27
- "@proteinjs/db-transaction-context": "^0.2.14",
28
- "@proteinjs/logger": "1.0.10",
25
+ "@proteinjs/db": "^1.19.0",
26
+ "@proteinjs/db-query": "^1.4.0",
27
+ "@proteinjs/db-transaction-context": "^0.2.16",
28
+ "@proteinjs/logger": "1.0.11",
29
29
  "@proteinjs/reflection": "1.1.10",
30
30
  "@proteinjs/util": "1.5.0",
31
31
  "knex": "0.21.5",
@@ -34,7 +34,7 @@
34
34
  "uuid": "8.3.0"
35
35
  },
36
36
  "devDependencies": {
37
- "@proteinjs/reflection-build": "1.2.0",
37
+ "@proteinjs/reflection-build": "1.3.0",
38
38
  "@types/jest": "29.5.5",
39
39
  "@types/knex": "0.16.1",
40
40
  "@types/node": "14.0.27",
@@ -50,5 +50,5 @@
50
50
  },
51
51
  "main": "./dist/generated/index.js",
52
52
  "types": "./dist/generated/index.d.ts",
53
- "gitHead": "6369c8196fb23a904a72518cb0c52b03b9364642"
53
+ "gitHead": "5f31f973e8ce8d8810b344b15c22ec0b99018a06"
54
54
  }
@@ -0,0 +1,18 @@
1
+ import { cascadeDeleteTests } from '@proteinjs/db';
2
+ import { KnexDriver } from '../src/KnexDriver';
3
+ import { TransactionContext } from '@proteinjs/db-transaction-context';
4
+ import { getDropTestTable } from './util/getDropTestTable';
5
+ require('@proteinjs/db/test');
6
+ require('../generated/test/index');
7
+
8
+ const knexDriver = new KnexDriver({
9
+ host: 'localhost',
10
+ user: 'root',
11
+ password: '',
12
+ dbName: 'test',
13
+ });
14
+
15
+ describe(
16
+ 'Cascade Delete Tests',
17
+ cascadeDeleteTests(knexDriver, new TransactionContext(), getDropTestTable(knexDriver))
18
+ );
package/test/Crud.test.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import {
2
- Table,
3
2
  columnTypeTests,
4
3
  crudTests,
5
4
  getColTypeTestTable,
@@ -9,12 +8,7 @@ import {
9
8
  } from '@proteinjs/db';
10
9
  import { KnexDriver } from '../src/KnexDriver';
11
10
  import { TransactionContext } from '@proteinjs/db-transaction-context';
12
-
13
- const dropTable = async (knexDriver: KnexDriver, table: Table<any>) => {
14
- if (await knexDriver.getKnex().schema.withSchema(knexDriver.getDbName()).hasTable(table.name)) {
15
- await knexDriver.getKnex().schema.withSchema(knexDriver.getDbName()).dropTable(table.name);
16
- }
17
- };
11
+ import { getDropTestTable } from './util/getDropTestTable';
18
12
 
19
13
  const knexDriverColumnTypesTests = new KnexDriver(
20
14
  {
@@ -28,9 +22,7 @@ const knexDriverColumnTypesTests = new KnexDriver(
28
22
 
29
23
  describe(
30
24
  'Column Type Tests',
31
- columnTypeTests(knexDriverColumnTypesTests, new TransactionContext(), (table) =>
32
- dropTable(knexDriverColumnTypesTests, table)
33
- )
25
+ columnTypeTests(knexDriverColumnTypesTests, new TransactionContext(), getDropTestTable(knexDriverColumnTypesTests))
34
26
  );
35
27
 
36
28
  const knexDriverDynamicRefCol = new KnexDriver(
@@ -45,7 +37,7 @@ const knexDriverDynamicRefCol = new KnexDriver(
45
37
 
46
38
  describe(
47
39
  'DynamicReferenceColumn Tests',
48
- dynamicReferenceColumnTests(knexDriverDynamicRefCol, (table) => dropTable(knexDriverDynamicRefCol, table))
40
+ dynamicReferenceColumnTests(knexDriverDynamicRefCol, getDropTestTable(knexDriverDynamicRefCol))
49
41
  );
50
42
 
51
43
  // driver will be stopped in this test, any tests put after this one will not establish connection
@@ -59,7 +51,4 @@ const knexDriverCrudTests = new KnexDriver(
59
51
  getCrudTestTable
60
52
  );
61
53
 
62
- describe(
63
- 'CRUD Tests',
64
- crudTests(knexDriverCrudTests, new TransactionContext(), (table) => dropTable(knexDriverCrudTests, table))
65
- );
54
+ describe('CRUD Tests', crudTests(knexDriverCrudTests, new TransactionContext(), getDropTestTable(knexDriverCrudTests)));
@@ -1,6 +1,7 @@
1
1
  import { Table, tableManagerTests } from '@proteinjs/db';
2
2
  import { KnexDriver } from '../src/KnexDriver';
3
3
  import { KnexColumnTypeFactory } from '../src/KnexColumnTypeFactory';
4
+ import { getDropTestTable } from './util/getDropTestTable';
4
5
 
5
6
  const knexDriver = new KnexDriver({
6
7
  host: 'localhost',
@@ -8,10 +9,8 @@ const knexDriver = new KnexDriver({
8
9
  password: '',
9
10
  dbName: 'test',
10
11
  });
11
- const dropTable = async (table: Table<any>) => {
12
- if (await knexDriver.getKnex().schema.withSchema(knexDriver.getDbName()).hasTable(table.name)) {
13
- await knexDriver.getKnex().schema.withSchema(knexDriver.getDbName()).dropTable(table.name);
14
- }
15
- };
16
12
 
17
- describe('Table Manager Tests', tableManagerTests(knexDriver, dropTable, new KnexColumnTypeFactory().getType));
13
+ describe(
14
+ 'Table Manager Tests',
15
+ tableManagerTests(knexDriver, getDropTestTable(knexDriver), new KnexColumnTypeFactory().getType)
16
+ );
@@ -1,12 +1,7 @@
1
- import { transactionTests, getTransactionTestTable, Table } from '@proteinjs/db';
1
+ import { transactionTests, getTransactionTestTable } from '@proteinjs/db';
2
2
  import { KnexDriver } from '../src/KnexDriver';
3
3
  import { TransactionContext } from '@proteinjs/db-transaction-context';
4
-
5
- const dropTable = async (knexDriver: KnexDriver, table: Table<any>) => {
6
- if (await knexDriver.getKnex().schema.withSchema(knexDriver.getDbName()).hasTable(table.name)) {
7
- await knexDriver.getKnex().schema.withSchema(knexDriver.getDbName()).dropTable(table.name);
8
- }
9
- };
4
+ import { getDropTestTable } from './util/getDropTestTable';
10
5
 
11
6
  const knexDriver = new KnexDriver(
12
7
  {
@@ -18,7 +13,4 @@ const knexDriver = new KnexDriver(
18
13
  getTransactionTestTable
19
14
  );
20
15
 
21
- describe(
22
- 'Transaction Tests',
23
- transactionTests(knexDriver, new TransactionContext(), (table) => dropTable(knexDriver, table))
24
- );
16
+ describe('Transaction Tests', transactionTests(knexDriver, new TransactionContext(), getDropTestTable(knexDriver)));
@@ -0,0 +1,15 @@
1
+ import { DbDriver, DefaultDbDriverFactory } from '@proteinjs/db';
2
+ import { KnexDriver } from '../../src/KnexDriver';
3
+
4
+ const knexDriver = new KnexDriver({
5
+ host: 'localhost',
6
+ user: 'root',
7
+ password: '',
8
+ dbName: 'test',
9
+ });
10
+
11
+ export class TestDbDriverFactory implements DefaultDbDriverFactory {
12
+ getDbDriver(): DbDriver {
13
+ return knexDriver;
14
+ }
15
+ }
@@ -0,0 +1,10 @@
1
+ import { Table } from '@proteinjs/db';
2
+ import { KnexDriver } from '../../src/KnexDriver';
3
+
4
+ export const getDropTestTable = (knexDriver: KnexDriver) => {
5
+ return async (table: Table<any>) => {
6
+ if (await knexDriver.getKnex().schema.withSchema(knexDriver.getDbName()).hasTable(table.name)) {
7
+ await knexDriver.getKnex().schema.withSchema(knexDriver.getDbName()).dropTable(table.name);
8
+ }
9
+ };
10
+ };