@stackpress/inquire-mysql2 0.7.2 → 0.8.1

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.
@@ -5,7 +5,10 @@ export default class Mysql2Connection implements Connection<Resource> {
5
5
  readonly dialect: Dialect;
6
6
  protected _lastId?: number | string;
7
7
  protected _resource: Connector;
8
+ protected _before: (_request: QueryObject) => Promise<void>;
9
+ get before(): (request: QueryObject) => Promise<void>;
8
10
  get lastId(): string | number | undefined;
11
+ set before(before: (request: QueryObject) => Promise<void>);
9
12
  constructor(resource: Connector);
10
13
  format(request: QueryObject): {
11
14
  query: string;
package/cjs/Connection.js CHANGED
@@ -14,15 +14,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const Mysql_1 = __importDefault(require("@stackpress/inquire/Mysql"));
16
16
  class Mysql2Connection {
17
+ get before() {
18
+ return this._before;
19
+ }
17
20
  get lastId() {
18
21
  return this._lastId;
19
22
  }
23
+ set before(before) {
24
+ this._before = before;
25
+ }
20
26
  constructor(resource) {
21
27
  this.dialect = Mysql_1.default;
28
+ this._before = (_request) => __awaiter(this, void 0, void 0, function* () { });
22
29
  this._resource = resource;
23
30
  }
24
31
  format(request) {
25
32
  let { query, values = [] } = request;
33
+ query = query.replaceAll('??', '\\?');
26
34
  for (let i = 0; i < values.length; i++) {
27
35
  const value = values[i];
28
36
  if (value instanceof Date) {
@@ -77,6 +85,7 @@ class Mysql2Connection {
77
85
  }
78
86
  _query(request) {
79
87
  return __awaiter(this, void 0, void 0, function* () {
88
+ yield this._before(request);
80
89
  const { query, values = [] } = request;
81
90
  const resource = yield this.resource();
82
91
  const results = yield resource.execute(query, values);
@@ -5,7 +5,10 @@ export default class Mysql2Connection implements Connection<Resource> {
5
5
  readonly dialect: Dialect;
6
6
  protected _lastId?: number | string;
7
7
  protected _resource: Connector;
8
+ protected _before: (_request: QueryObject) => Promise<void>;
9
+ get before(): (request: QueryObject) => Promise<void>;
8
10
  get lastId(): string | number | undefined;
11
+ set before(before: (request: QueryObject) => Promise<void>);
9
12
  constructor(resource: Connector);
10
13
  format(request: QueryObject): {
11
14
  query: string;
package/esm/Connection.js CHANGED
@@ -3,14 +3,22 @@ export default class Mysql2Connection {
3
3
  dialect = Mysql;
4
4
  _lastId;
5
5
  _resource;
6
+ _before = async (_request) => { };
7
+ get before() {
8
+ return this._before;
9
+ }
6
10
  get lastId() {
7
11
  return this._lastId;
8
12
  }
13
+ set before(before) {
14
+ this._before = before;
15
+ }
9
16
  constructor(resource) {
10
17
  this._resource = resource;
11
18
  }
12
19
  format(request) {
13
20
  let { query, values = [] } = request;
21
+ query = query.replaceAll('??', '\\?');
14
22
  for (let i = 0; i < values.length; i++) {
15
23
  const value = values[i];
16
24
  if (value instanceof Date) {
@@ -56,6 +64,7 @@ export default class Mysql2Connection {
56
64
  }
57
65
  }
58
66
  async _query(request) {
67
+ await this._before(request);
59
68
  const { query, values = [] } = request;
60
69
  const resource = await this.resource();
61
70
  const results = await resource.execute(query, values);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@stackpress/inquire-mysql2",
4
- "version": "0.7.2",
4
+ "version": "0.8.1",
5
5
  "license": "Apache-2.0",
6
6
  "description": "Generic typed mysql2",
7
7
  "author": "Chris <chris@incept.asia>",
@@ -64,7 +64,7 @@
64
64
  "test": "DATABASE_URL=test ts-mocha -r tsx tests/*.test.ts"
65
65
  },
66
66
  "dependencies": {
67
- "@stackpress/inquire": "0.7.2"
67
+ "@stackpress/inquire": "0.8.1"
68
68
  },
69
69
  "peerDependencies": {
70
70
  "mysql2": "^3"
@@ -76,7 +76,7 @@
76
76
  "chai": "4.5.0",
77
77
  "mocha": "10.8.2",
78
78
  "ts-mocha": "10.0.0",
79
- "mysql2": "3.16.0",
79
+ "mysql2": "3.22.0",
80
80
  "ts-node": "10.9.2",
81
81
  "tsx": "4.21.0",
82
82
  "typescript": "5.9.3"