@eggjs/dal-runtime 3.51.2 → 3.52.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.
@@ -1,11 +1,15 @@
1
1
  import type { RDSClientOptions } from '@eggjs/rds';
2
2
  import Base from 'sdk-base';
3
+ import { Logger } from '@eggjs/tegg-types';
3
4
  export interface DataSourceOptions extends RDSClientOptions {
4
5
  name: string;
5
6
  initSql?: string;
6
7
  forkDb?: boolean;
8
+ initRetryTimes?: number;
9
+ logger?: Logger;
7
10
  }
8
11
  export declare class MysqlDataSource extends Base {
12
+ #private;
9
13
  private client;
10
14
  private readonly initSql;
11
15
  readonly name: string;
@@ -1,7 +1,19 @@
1
1
  "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
2
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
15
  };
16
+ var _MysqlDataSource_instances, _MysqlDataSource_initRetryTimes, _MysqlDataSource_logger, _MysqlDataSource_doInit;
5
17
  Object.defineProperty(exports, "__esModule", { value: true });
6
18
  exports.MysqlDataSource = void 0;
7
19
  const rds_1 = require("@eggjs/rds");
@@ -14,9 +26,14 @@ const DEFAULT_OPTIONS = {
14
26
  class MysqlDataSource extends sdk_base_1.default {
15
27
  constructor(options) {
16
28
  super({ initMethod: '_init' });
17
- const { name, initSql, forkDb, ...mysqlOptions } = options;
29
+ _MysqlDataSource_instances.add(this);
30
+ _MysqlDataSource_initRetryTimes.set(this, void 0);
31
+ _MysqlDataSource_logger.set(this, void 0);
32
+ const { name, initSql, forkDb, initRetryTimes, logger, ...mysqlOptions } = options;
33
+ __classPrivateFieldSet(this, _MysqlDataSource_logger, logger, "f");
18
34
  this.forkDb = forkDb;
19
35
  this.initSql = initSql ?? 'SELECT 1 + 1';
36
+ __classPrivateFieldSet(this, _MysqlDataSource_initRetryTimes, initRetryTimes, "f");
20
37
  this.name = name;
21
38
  this.timezone = options.timezone;
22
39
  this.rdsOptions = Object.assign({}, DEFAULT_OPTIONS, mysqlOptions);
@@ -24,7 +41,7 @@ class MysqlDataSource extends sdk_base_1.default {
24
41
  }
25
42
  async _init() {
26
43
  if (this.initSql) {
27
- await this.client.query(this.initSql);
44
+ await __classPrivateFieldGet(this, _MysqlDataSource_instances, "m", _MysqlDataSource_doInit).call(this, 1);
28
45
  }
29
46
  }
30
47
  async query(sql) {
@@ -35,4 +52,19 @@ class MysqlDataSource extends sdk_base_1.default {
35
52
  }
36
53
  }
37
54
  exports.MysqlDataSource = MysqlDataSource;
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXlTcWxEYXRhU291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL015U3FsRGF0YVNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvQ0FBdUM7QUFFdkMsd0RBQTRCO0FBUzVCLE1BQU0sZUFBZSxHQUFxQjtJQUN4QyxpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsTUFBYSxlQUFnQixTQUFRLGtCQUFJO0lBUXZDLFlBQVksT0FBMEI7UUFDcEMsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDL0IsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzNELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxJQUFJLGNBQWMsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVTLEtBQUssQ0FBQyxLQUFLO1FBQ25CLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBVSxHQUFXO1FBQzlCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELEtBQUssQ0FBQyxxQkFBcUIsQ0FBSSxLQUF1QjtRQUNwRCxPQUFPLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0Y7QUFoQ0QsMENBZ0NDIn0=
55
+ _MysqlDataSource_initRetryTimes = new WeakMap(), _MysqlDataSource_logger = new WeakMap(), _MysqlDataSource_instances = new WeakSet(), _MysqlDataSource_doInit = async function _MysqlDataSource_doInit(tryTimes) {
56
+ try {
57
+ __classPrivateFieldGet(this, _MysqlDataSource_logger, "f")?.log(`${tryTimes} try to initialize dataSource ${this.name}`);
58
+ const st = Date.now();
59
+ await this.client.query(this.initSql);
60
+ __classPrivateFieldGet(this, _MysqlDataSource_logger, "f")?.info(`dataSource initialization cost: ${Date.now() - st}, tryTimes: ${tryTimes}`);
61
+ }
62
+ catch (e) {
63
+ __classPrivateFieldGet(this, _MysqlDataSource_logger, "f")?.warn(`failed to initialize dataSource ${this.name}, tryTimes ${tryTimes}`, e);
64
+ if (!__classPrivateFieldGet(this, _MysqlDataSource_initRetryTimes, "f") || tryTimes >= __classPrivateFieldGet(this, _MysqlDataSource_initRetryTimes, "f")) {
65
+ throw e;
66
+ }
67
+ await __classPrivateFieldGet(this, _MysqlDataSource_instances, "m", _MysqlDataSource_doInit).call(this, tryTimes + 1);
68
+ }
69
+ };
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXlTcWxEYXRhU291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL015U3FsRGF0YVNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvQ0FBdUM7QUFFdkMsd0RBQTRCO0FBWTVCLE1BQU0sZUFBZSxHQUFxQjtJQUN4QyxpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsTUFBYSxlQUFnQixTQUFRLGtCQUFJO0lBVXZDLFlBQVksT0FBMEI7UUFDcEMsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7O1FBSnhCLGtEQUF5QjtRQUN6QiwwQ0FBaUI7UUFJeEIsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsR0FBRyxZQUFZLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDbkYsdUJBQUEsSUFBSSwyQkFBVyxNQUFNLE1BQUEsQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxjQUFjLENBQUM7UUFDekMsdUJBQUEsSUFBSSxtQ0FBbUIsY0FBYyxNQUFBLENBQUM7UUFDdEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsZUFBZSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFUyxLQUFLLENBQUMsS0FBSztRQUNuQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixNQUFNLHVCQUFBLElBQUksMkRBQVEsTUFBWixJQUFJLEVBQVMsQ0FBQyxDQUFDLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFpQkQsS0FBSyxDQUFDLEtBQUssQ0FBVSxHQUFXO1FBQzlCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELEtBQUssQ0FBQyxxQkFBcUIsQ0FBSSxLQUF1QjtRQUNwRCxPQUFPLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0Y7QUFuREQsMENBbURDO2dLQXRCQyxLQUFLLGtDQUFTLFFBQWdCO0lBQzVCLElBQUksQ0FBQztRQUNILHVCQUFBLElBQUksK0JBQVEsRUFBRSxHQUFHLENBQUMsR0FBRyxRQUFRLGlDQUFpQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMzRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsdUJBQUEsSUFBSSwrQkFBUSxFQUFFLElBQUksQ0FBQyxtQ0FBbUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsZUFBZSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsdUJBQUEsSUFBSSwrQkFBUSxFQUFFLElBQUksQ0FBQyxtQ0FBbUMsSUFBSSxDQUFDLElBQUksY0FBYyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMsdUJBQUEsSUFBSSx1Q0FBZ0IsSUFBSSxRQUFRLElBQUksdUJBQUEsSUFBSSx1Q0FBZ0IsRUFBRSxDQUFDO1lBQzlELE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBQztRQUNELE1BQU0sdUJBQUEsSUFBSSwyREFBUSxNQUFaLElBQUksRUFBUyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbkMsQ0FBQztBQUNILENBQUMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eggjs/dal-runtime",
3
- "version": "3.51.2",
3
+ "version": "3.52.1",
4
4
  "description": "tegg dal decorator",
5
5
  "keywords": [
6
6
  "egg",
@@ -40,8 +40,8 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@eggjs/rds": "^1.0.0",
43
- "@eggjs/tegg": "^3.51.2",
44
- "@eggjs/tegg-types": "^3.51.2",
43
+ "@eggjs/tegg": "^3.52.1",
44
+ "@eggjs/tegg-types": "^3.52.1",
45
45
  "js-beautify": "^1.15.1",
46
46
  "lodash": "^4.17.21",
47
47
  "nunjucks": "^3.2.4",
@@ -57,9 +57,10 @@
57
57
  "@types/node": "^20.2.4",
58
58
  "@types/nunjucks": "^3.2.6",
59
59
  "cross-env": "^7.0.3",
60
+ "mm": "^3.2.1",
60
61
  "mocha": "^10.2.0",
61
62
  "ts-node": "^10.9.1",
62
63
  "typescript": "^5.0.4"
63
64
  },
64
- "gitHead": "b310ec3c772067b98b4f91342d877bebcee4e673"
65
+ "gitHead": "5b0de0e7689546a466cfce8bd7ec12e9721c301e"
65
66
  }