@axiosleo/orm-mysql 0.11.4 → 0.11.6

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/bin/orm-mysql.js CHANGED
@@ -9,7 +9,7 @@ const app = new App({
9
9
  name: 'MySQL ORM CLI',
10
10
  desc: 'migrate, model, seed, etc.',
11
11
  bin: 'orm-mysql',
12
- version: '0.11.4',
12
+ version: '0.11.6',
13
13
  commands_dir: path.join(__dirname, '../commands'),
14
14
  });
15
15
 
package/index.d.ts CHANGED
@@ -229,35 +229,48 @@ export declare class QueryOperator extends Query {
229
229
 
230
230
  explain(operator: OperatorType): Promise<ExplainResult[]>;
231
231
 
232
- select<T>(...attrs: string[]): Promise<T[] | Builder>;
232
+ select<T extends Object>(...attrs: string[]): Promise<T[]>;
233
+ select<T extends Object>(...attrs: string[]): Promise<Builder>;
233
234
 
234
- find<T>(): Promise<T | Builder>;
235
+ find<T extends Object>(): Promise<T>;
236
+ find<T extends Object>(): Promise<Builder>;
235
237
 
236
- count(): Promise<number | Builder>;
238
+ count(): Promise<number>;
239
+ count(): Promise<Builder>;
237
240
 
238
241
  /**
239
242
  * increment a column value
240
243
  * @param attr
241
244
  * @param increment default is 1
242
245
  */
243
- incrBy(attr: string, increment?: string | number | ((number: number) => number)): Promise<MySQLQueryResult | Builder>;
246
+ incrBy(attr: string, increment?: string | number | ((number: number) => number)): Promise<MySQLQueryResult>;
247
+ incrBy(attr: string, increment?: string | number | ((number: number) => number)): Promise<Builder>;
244
248
 
245
- delete(id?: number, index_field_name?: string): Promise<MySQLQueryResult | Builder>;
249
+ delete(id?: number, index_field_name?: string): Promise<MySQLQueryResult>;
250
+ delete(id?: number, index_field_name?: string): Promise<Builder>;
246
251
 
247
- update(row?: any): Promise<MySQLQueryResult | Builder>;
252
+ update(row?: any): Promise<MySQLQueryResult>;
253
+ update(row?: any): Promise<Builder>;
248
254
 
249
- update<T extends Object>(row?: T): Promise<MySQLQueryResult | Builder>;
255
+ update<T extends Object>(row?: T): Promise<MySQLQueryResult>;
256
+ update<T extends Object>(row?: T): Promise<Builder>;
250
257
 
251
- insert(row?: any): Promise<MySQLQueryResult | Builder>;
258
+ insert(row?: any): Promise<MySQLQueryResult>;
259
+ insert(row?: any): Promise<Builder>;
252
260
 
253
- insert<T extends Object>(row?: T): Promise<MySQLQueryResult | Builder>;
261
+ insert<T extends Object>(row?: T): Promise<MySQLQueryResult>;
262
+ insert<T extends Object>(row?: T): Promise<Builder>;
254
263
 
255
- insertAll(rows: any[]): Promise<MySQLQueryResult[] | Builder>;
264
+ insertAll(rows: any[]): Promise<MySQLQueryResult[]>;
265
+ insertAll(rows: any[]): Promise<Builder>;
256
266
 
257
- insertAll<T extends Object>(rows: T[]): Promise<MySQLQueryResult[] | Builder>;
267
+ insertAll<T extends Object>(rows: T[]): Promise<MySQLQueryResult[]>;
268
+ insertAll<T extends Object>(rows: T[]): Promise<Builder>;
258
269
 
259
- upsertRow(row: any, condition: QueryCondition): Promise<MySQLQueryResult | Builder>;
270
+ upsertRow(row: any, condition: QueryCondition): Promise<MySQLQueryResult>;
271
+ upsertRow(row: any, condition: QueryCondition): Promise<Builder>;
260
272
 
273
+ upsertRow<T extends Object>(row: T, ...conditions: WhereItem[]): Promise<MySQLQueryResult>;
261
274
  upsertRow<T extends Object>(row: T, ...conditions: WhereItem[]): Promise<MySQLQueryResult | Builder>;
262
275
 
263
276
  notExec(): this;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axiosleo/orm-mysql",
3
- "version": "0.11.4",
3
+ "version": "0.11.6",
4
4
  "description": "MySQL ORM tool",
5
5
  "keywords": [
6
6
  "mysql",
package/src/builder.js CHANGED
@@ -488,7 +488,7 @@ class ManageSQLBuilder extends Builder {
488
488
  }
489
489
 
490
490
  /**
491
- * @param {import('../index').ManageBuilderOptions} options
491
+ * @param {import('./migration').ManageBuilderOptions} options
492
492
  */
493
493
  createTable(options) {
494
494
  _validate(options, {
package/src/client.js CHANGED
@@ -70,7 +70,13 @@ const createPool = (options, name = null) => {
70
70
  const key = name ? name :
71
71
  `${options.host}:${options.port}:${options.user}:${options.password}:${options.database}`;
72
72
  if (clients[key]) {
73
- return clients[key];
73
+ const existingPool = clients[key];
74
+
75
+ if (existingPool._closed) {
76
+ delete clients[key];
77
+ } else {
78
+ return existingPool;
79
+ }
74
80
  }
75
81
  const pool = mysql.createPool(options);
76
82
  clients[key] = pool;