tspace-mysql 1.9.3-beta.3 → 1.9.4

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.
Files changed (46) hide show
  1. package/README.md +16 -2
  2. package/dist/lib/core/Abstracts/AbstractBuilder.d.ts +1 -0
  3. package/dist/lib/core/Abstracts/AbstractBuilder.js +1 -0
  4. package/dist/lib/core/Abstracts/AbstractBuilder.js.map +1 -1
  5. package/dist/lib/core/Builder.d.ts +1 -1
  6. package/dist/lib/core/Builder.js +10 -4
  7. package/dist/lib/core/Builder.js.map +1 -1
  8. package/dist/lib/core/DB.d.ts +137 -6
  9. package/dist/lib/core/DB.js +152 -29
  10. package/dist/lib/core/DB.js.map +1 -1
  11. package/dist/lib/core/Driver/index.d.ts +1 -0
  12. package/dist/lib/core/Driver/index.js +11 -0
  13. package/dist/lib/core/Driver/index.js.map +1 -1
  14. package/dist/lib/core/Driver/mariadb/MariadbDriver.d.ts +3 -0
  15. package/dist/lib/core/Driver/mariadb/MariadbDriver.js +17 -2
  16. package/dist/lib/core/Driver/mariadb/MariadbDriver.js.map +1 -1
  17. package/dist/lib/core/Driver/mongodb/MongodbDriver.d.ts +3 -0
  18. package/dist/lib/core/Driver/mongodb/MongodbDriver.js +4 -1
  19. package/dist/lib/core/Driver/mongodb/MongodbDriver.js.map +1 -1
  20. package/dist/lib/core/Driver/mysql/MysqlDriver.d.ts +3 -0
  21. package/dist/lib/core/Driver/mysql/MysqlDriver.js +32 -2
  22. package/dist/lib/core/Driver/mysql/MysqlDriver.js.map +1 -1
  23. package/dist/lib/core/Driver/postgres/PostgresDriver.d.ts +3 -0
  24. package/dist/lib/core/Driver/postgres/PostgresDriver.js +21 -4
  25. package/dist/lib/core/Driver/postgres/PostgresDriver.js.map +1 -1
  26. package/dist/lib/core/Driver/sqlite/SqliteDriver.d.ts +3 -0
  27. package/dist/lib/core/Driver/sqlite/SqliteDriver.js +10 -1
  28. package/dist/lib/core/Driver/sqlite/SqliteDriver.js.map +1 -1
  29. package/dist/lib/core/Model.d.ts +163 -1
  30. package/dist/lib/core/Model.js +177 -5
  31. package/dist/lib/core/Model.js.map +1 -1
  32. package/dist/lib/core/Pool.js +6 -0
  33. package/dist/lib/core/Pool.js.map +1 -1
  34. package/dist/lib/core/Queue/index.d.ts +1 -1
  35. package/dist/lib/core/Queue/index.js +2 -1
  36. package/dist/lib/core/Queue/index.js.map +1 -1
  37. package/dist/lib/core/Queue/types.d.ts +3 -2
  38. package/dist/lib/core/Queue/worker.d.ts +2 -1
  39. package/dist/lib/core/Queue/worker.js +136 -60
  40. package/dist/lib/core/Queue/worker.js.map +1 -1
  41. package/dist/lib/core/Repository.js.map +1 -1
  42. package/dist/lib/types/index.d.ts +3 -0
  43. package/dist/lib/utils/index.d.ts +4 -2
  44. package/dist/lib/utils/index.js +37 -5
  45. package/dist/lib/utils/index.js.map +1 -1
  46. package/package.json +3 -5
package/README.md CHANGED
@@ -95,7 +95,8 @@ npm install -D typescript@5.9.3
95
95
  - [Query Builder](#query-builder)
96
96
  - [Table Name & Alias Name](#table-name--alias-name)
97
97
  - [Returning Results](#returning-results)
98
- - [Query Statement](#query-statements)
98
+ - [Query Statements](#query-statements)
99
+ - [Stream Statements](#stream-statements)
99
100
  - [Select Statements](#select-statements)
100
101
  - [Raw Expressions](#raw-expressions)
101
102
  - [Ordering, Grouping, Limit and Offset](#ordering-grouping-limit-and-offset)
@@ -532,6 +533,19 @@ const query = await DB.query(
532
533
  username : ['name1','name2']
533
534
  })
534
535
  // SELECT * FROM users WHERE id = '1' AND email IS NULL AND username in ('name1','name2');
536
+
537
+ const query = await DB.query(
538
+ "SELECT * FROM users WHERE id = ? AND email IS ? AND name IN ?",
539
+ [1,null,['name1','name2']]
540
+ )
541
+ // SELECT * FROM users WHERE id = '1' AND email IS NULL AND username in ('name1','name2');
542
+ ```
543
+
544
+ ## Stream Statements
545
+ ```js
546
+ for await (const user of DB.stream("SELECT * FROM users")) {
547
+ console.log(user);
548
+ }
535
549
  ```
536
550
 
537
551
  ## Select Statements
@@ -4200,7 +4214,7 @@ await Queue.start({
4200
4214
  maxIdleRetries : 8, // @default 5, maximum retries when no jobs are available
4201
4215
  poll : {
4202
4216
  enabled : true, // @default false, enable periodic job checking
4203
- timeout : 10_000 // @default 60_000, polling interval
4217
+ interval : 10_000 // @default 60_000, polling interval
4204
4218
  };
4205
4219
  });
4206
4220
 
@@ -26,6 +26,7 @@ declare abstract class AbstractBuilder {
26
26
  get: Function;
27
27
  queryBuilder: Function;
28
28
  transaction: Function;
29
+ stream: Function;
29
30
  };
30
31
  abstract void(): this;
31
32
  abstract debug(): this;
@@ -22,6 +22,7 @@ class AbstractBuilder {
22
22
  get: () => { },
23
23
  queryBuilder: () => { },
24
24
  transaction: () => { },
25
+ stream: (sql) => { },
25
26
  };
26
27
  }
27
28
  exports.AbstractBuilder = AbstractBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractBuilder.js","sourceRoot":"","sources":["../../../../src/lib/core/Abstracts/AbstractBuilder.ts"],"names":[],"mappings":";;;AAGA,yCAA4C;AAO5C,MAAe,eAAe;IAEhB,MAAM,CAAU;IAEhB,SAAS,GAAY,MAAM,CAAC,eAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAEnD,YAAY,GAAG;QACrB,IAAI,EAAO,eAAM,CAAC,IAAI;QACtB,IAAI,EAAO,MAAM,CAAC,eAAM,CAAC,IAAI,CAAC;QAC9B,QAAQ,EAAG,MAAM,CAAC,eAAM,CAAC,QAAQ,CAAC;QAClC,QAAQ,EAAG,MAAM,CAAC,eAAM,CAAC,QAAQ,CAAC;QAClC,QAAQ,EAAG,eAAM,CAAC,QAAQ;KAC7B,CAAA;IAES,OAAO,GAAI,MAAM,CAAC,eAAM,CAAC,MAAM,IAAI,OAAO,CAAY,CAAC;IAEvD,QAAQ,GAAa,OAAO,CAAC,eAAM,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;IAEtD,UAAU,CAGlB;IAEQ,MAAM,CAAgB;IAEtB,KAAK,GAMX;QACA,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,GAAE,CAAC;QAC1B,GAAG,EAAE,CAAC,IAAU,EAAE,EAAE,GAAE,CAAC;QACvB,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;QACb,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;QACtB,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;KACxB,CAAA;CAwFJ;AAES,0CAAe;AACzB,kBAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"AbstractBuilder.js","sourceRoot":"","sources":["../../../../src/lib/core/Abstracts/AbstractBuilder.ts"],"names":[],"mappings":";;;AAGA,yCAA4C;AAO5C,MAAe,eAAe;IAEhB,MAAM,CAAU;IAEhB,SAAS,GAAY,MAAM,CAAC,eAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAEnD,YAAY,GAAG;QACrB,IAAI,EAAO,eAAM,CAAC,IAAI;QACtB,IAAI,EAAO,MAAM,CAAC,eAAM,CAAC,IAAI,CAAC;QAC9B,QAAQ,EAAG,MAAM,CAAC,eAAM,CAAC,QAAQ,CAAC;QAClC,QAAQ,EAAG,MAAM,CAAC,eAAM,CAAC,QAAQ,CAAC;QAClC,QAAQ,EAAG,eAAM,CAAC,QAAQ;KAC7B,CAAA;IAES,OAAO,GAAI,MAAM,CAAC,eAAM,CAAC,MAAM,IAAI,OAAO,CAAY,CAAC;IAEvD,QAAQ,GAAa,OAAO,CAAC,eAAM,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;IAEtD,UAAU,CAGlB;IAEQ,MAAM,CAAgB;IAEtB,KAAK,GAOX;QACA,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,GAAE,CAAC;QAC1B,GAAG,EAAE,CAAC,IAAU,EAAE,EAAE,GAAE,CAAC;QACvB,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;QACb,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;QACtB,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;QACrB,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE,GAAE,CAAC;KAC9B,CAAA;CAwFJ;AAES,0CAAe;AACzB,kBAAe,eAAe,CAAA"}
@@ -1494,7 +1494,7 @@ declare class Builder<TA extends TAction = null> extends AbstractBuilder {
1494
1494
  * @param {Function} func function for callback result
1495
1495
  * @returns {this}
1496
1496
  */
1497
- hook(func: Function): this;
1497
+ hook(func: (results: any) => void): this;
1498
1498
  /**
1499
1499
  * The 'before' method is used function when execute returns a result to callback function
1500
1500
  * @param {Function} func function for callback result
@@ -2036,7 +2036,7 @@ class Builder extends AbstractBuilder_1.AbstractBuilder {
2036
2036
  columns[key] = `( ${updateColumns[key].join(" ")} )`;
2037
2037
  }
2038
2038
  const keyValue = Object.entries(columns).map(([column, value]) => {
2039
- value = this.$utils.escapeActions(value);
2039
+ value = this.$utils.escapePayload(value);
2040
2040
  return `${this.bindColumn(column)} = ${value == null || value === this.$constants("NULL")
2041
2041
  ? this.$constants("NULL")
2042
2042
  : typeof value === "string" && value.includes(this.$constants("RAW"))
@@ -4043,7 +4043,7 @@ class Builder extends AbstractBuilder_1.AbstractBuilder {
4043
4043
  _queryUpdate(data) {
4044
4044
  this.$utils.transfromDateToDateString(data);
4045
4045
  const values = Object.entries(data).map(([column, value]) => {
4046
- value = this.$utils.escapeActions(value);
4046
+ value = this.$utils.escapePayload(value);
4047
4047
  return `${this.bindColumn(column)} = ${value == null || value === this.$constants("NULL")
4048
4048
  ? this.$constants("NULL")
4049
4049
  : this.$utils.transfromValueHasRaw(value)}`;
@@ -4055,7 +4055,7 @@ class Builder extends AbstractBuilder_1.AbstractBuilder {
4055
4055
  data = this.$utils.transfromDateToDateString(data);
4056
4056
  const columns = Object.keys(data).map((c) => `\`${c.replace(/\`/g, "")}\``);
4057
4057
  const values = Object.values(data).map((value) => {
4058
- value = this.$utils.escapeActions(value);
4058
+ value = this.$utils.escapePayload(value);
4059
4059
  if (this.$utils.typeOf(value) === "object" ||
4060
4060
  this.$utils.typeOf(value) === "array") {
4061
4061
  value = JSON.stringify(value);
@@ -4075,7 +4075,7 @@ class Builder extends AbstractBuilder_1.AbstractBuilder {
4075
4075
  for (let objects of data) {
4076
4076
  this.$utils.transfromDateToDateString(objects);
4077
4077
  const vals = Object.values(objects).map((value) => {
4078
- value = this.$utils.escapeActions(value);
4078
+ value = this.$utils.escapePayload(value);
4079
4079
  if (this.$utils.typeOf(value) === "object" ||
4080
4080
  this.$utils.typeOf(value) === "array") {
4081
4081
  value = JSON.stringify(value);
@@ -4185,10 +4185,16 @@ class Builder extends AbstractBuilder_1.AbstractBuilder {
4185
4185
  transaction: async () => {
4186
4186
  return await poolCluster.masters[0].connection();
4187
4187
  },
4188
+ stream: async (sql) => {
4189
+ return await poolCluster.masters[0].stream(sql);
4190
+ },
4188
4191
  };
4189
4192
  }
4190
4193
  let pool = Pool_1.Pool.connect();
4191
4194
  return {
4195
+ stream: async (sql) => {
4196
+ return await pool.stream(sql);
4197
+ },
4192
4198
  transaction: async () => {
4193
4199
  return await pool.connection();
4194
4200
  },