tspace-mysql 1.9.4-beta.2 → 1.9.4-beta.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 (82) hide show
  1. package/README.md +310 -52
  2. package/dist/cli/dump/db.js +3 -15
  3. package/dist/cli/dump/db.js.map +1 -1
  4. package/dist/cli/index.js +0 -3
  5. package/dist/cli/index.js.map +1 -1
  6. package/dist/cli/migrations/make-db.js +1 -1
  7. package/dist/cli/migrations/make-db.js.map +1 -1
  8. package/dist/cli/migrations/make-model.js +1 -6
  9. package/dist/cli/migrations/make-model.js.map +1 -1
  10. package/dist/lib/config/index.d.ts +2 -2
  11. package/dist/lib/config/index.js +14 -5
  12. package/dist/lib/config/index.js.map +1 -1
  13. package/dist/lib/constants/index.d.ts +1 -0
  14. package/dist/lib/constants/index.js +1 -0
  15. package/dist/lib/constants/index.js.map +1 -1
  16. package/dist/lib/core/Abstracts/AbstractBuilder.d.ts +2 -1
  17. package/dist/lib/core/Abstracts/AbstractDB.d.ts +5 -3
  18. package/dist/lib/core/Abstracts/AbstractDB.js.map +1 -1
  19. package/dist/lib/core/Blueprint.d.ts +10 -0
  20. package/dist/lib/core/Blueprint.js +15 -0
  21. package/dist/lib/core/Blueprint.js.map +1 -1
  22. package/dist/lib/core/Builder.d.ts +145 -10
  23. package/dist/lib/core/Builder.js +499 -143
  24. package/dist/lib/core/Builder.js.map +1 -1
  25. package/dist/lib/core/DB.d.ts +130 -196
  26. package/dist/lib/core/DB.js +434 -529
  27. package/dist/lib/core/DB.js.map +1 -1
  28. package/dist/lib/core/Driver/index.d.ts +15 -1
  29. package/dist/lib/core/Driver/index.js +3 -0
  30. package/dist/lib/core/Driver/index.js.map +1 -1
  31. package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.d.ts +14 -0
  32. package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.js +135 -33
  33. package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.js.map +1 -1
  34. package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.d.ts +14 -0
  35. package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.js +28 -0
  36. package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.js.map +1 -1
  37. package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.d.ts +14 -0
  38. package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.js +105 -23
  39. package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.js.map +1 -1
  40. package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.d.ts +16 -1
  41. package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.js +238 -79
  42. package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.js.map +1 -1
  43. package/dist/lib/core/Driver/sqlite/SqliteDriver.js +1 -1
  44. package/dist/lib/core/Driver/sqlite/SqliteDriver.js.map +1 -1
  45. package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.d.ts +17 -0
  46. package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.js +148 -28
  47. package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.js.map +1 -1
  48. package/dist/lib/core/Model.d.ts +243 -33
  49. package/dist/lib/core/Model.js +354 -56
  50. package/dist/lib/core/Model.js.map +1 -1
  51. package/dist/lib/core/Package.d.ts +5 -0
  52. package/dist/lib/core/Package.js +7 -2
  53. package/dist/lib/core/Package.js.map +1 -1
  54. package/dist/lib/core/Pool.js +44 -62
  55. package/dist/lib/core/Pool.js.map +1 -1
  56. package/dist/lib/core/Queue/types.d.ts +1 -0
  57. package/dist/lib/core/Queue/worker-lock.d.ts +17 -0
  58. package/dist/lib/core/Queue/worker-lock.js +30 -0
  59. package/dist/lib/core/Queue/worker-lock.js.map +1 -0
  60. package/dist/lib/core/Queue/worker.d.ts +6 -3
  61. package/dist/lib/core/Queue/worker.js +126 -46
  62. package/dist/lib/core/Queue/worker.js.map +1 -1
  63. package/dist/lib/core/Repository.d.ts +164 -29
  64. package/dist/lib/core/Repository.js +180 -40
  65. package/dist/lib/core/Repository.js.map +1 -1
  66. package/dist/lib/core/Schema.d.ts +5 -2
  67. package/dist/lib/core/Schema.js +111 -3
  68. package/dist/lib/core/Schema.js.map +1 -1
  69. package/dist/lib/core/StateManager.d.ts +17 -0
  70. package/dist/lib/core/StateManager.js +5 -1
  71. package/dist/lib/core/StateManager.js.map +1 -1
  72. package/dist/lib/core/UtilityTypes.d.ts +5 -1
  73. package/dist/lib/core/UtilityTypes.js.map +1 -1
  74. package/dist/lib/types/index.d.ts +56 -24
  75. package/dist/lib/types/repository/index.d.ts +10 -18
  76. package/dist/lib/utils/index.d.ts +6 -2
  77. package/dist/lib/utils/index.js +85 -15
  78. package/dist/lib/utils/index.js.map +1 -1
  79. package/package.json +1 -2
  80. package/dist/cli/dump/table.d.ts +0 -4
  81. package/dist/cli/dump/table.js +0 -41
  82. package/dist/cli/dump/table.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  export declare const loadOptionsEnv: (customEnv?: string) => {
2
- readonly cluster: string | false;
2
+ readonly cluster: boolean;
3
3
  readonly driver: string;
4
4
  readonly host: string | undefined;
5
5
  readonly port: string | 3306;
@@ -15,7 +15,7 @@ declare const Config: Readonly<{
15
15
  readonly DATABASE: string | undefined;
16
16
  readonly CONNECTION_LIMIT: string | 10;
17
17
  readonly DATE_STRINGS: string | false;
18
- readonly CLUSTER: string | false;
18
+ readonly CLUSTER: boolean;
19
19
  readonly DRIVER: string;
20
20
  readonly CACHE: "memory" | "db" | "redis";
21
21
  readonly CONNECTION_ERROR: string | false;
@@ -18,6 +18,15 @@ const resolveEnvPath = (customEnv) => {
18
18
  }
19
19
  return env;
20
20
  };
21
+ const isCluster = (host) => {
22
+ if (host == null)
23
+ return false;
24
+ return host
25
+ .split(',')
26
+ .map(x => x.trim())
27
+ .filter(Boolean)
28
+ .length > 1;
29
+ };
21
30
  dotenv_1.default.config({ path: resolveEnvPath() });
22
31
  const ENV = process.env;
23
32
  const rawEnv = {
@@ -28,11 +37,11 @@ const rawEnv = {
28
37
  PASSWORD: ENV.DB_PASSWORD ?? "",
29
38
  DATABASE: ENV.DB_DATABASE,
30
39
  CONNECTION_LIMIT: ENV.DB_CONNECTION_LIMIT ?? 10,
31
- // for mysql2 only
40
+ // for mysql only
32
41
  DATE_STRINGS: ENV.DB_DATE_STRINGS ?? false,
33
42
  // options
34
- CLUSTER: ENV.DB_CLUSTER ?? false,
35
- DRIVER: ENV.DB_DRIVER ?? "mysql2",
43
+ CLUSTER: isCluster(ENV.DB_HOST ?? "localhost"),
44
+ DRIVER: ENV.DB_DRIVER ?? "mysql",
36
45
  CACHE: ENV.DB_CACHE,
37
46
  CONNECTION_ERROR: ENV.DB_CONNECTION_ERROR ?? false,
38
47
  CONNECTION_SUCCESS: ENV.DB_CONNECTION_SUCCESS ?? false,
@@ -69,8 +78,8 @@ const loadOptionsEnv = (customEnv) => {
69
78
  dotenv_1.default.config({ path: pathEnv, override: true });
70
79
  const ENV = process.env;
71
80
  const rawEnv = {
72
- cluster: ENV.DB_CLUSTER ?? false,
73
- driver: ENV.DB_DRIVER ?? "mysql2",
81
+ cluster: isCluster(ENV.DB_HOST ?? "localhost"),
82
+ driver: ENV.DB_DRIVER ?? "mysql",
74
83
  host: ENV.DB_HOST,
75
84
  port: ENV.DB_PORT || 3306,
76
85
  username: ENV.DB_USERNAME,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"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"}
@@ -107,6 +107,7 @@ declare const CONSTANTS: Readonly<{
107
107
  STATISTICS: "STATISTICS";
108
108
  TYPE: "TYPE";
109
109
  COLUMN: "COLUMN";
110
+ EXPLAIN: "EXPLAIN";
110
111
  RELATIONSHIP: {
111
112
  hasOne: string;
112
113
  hasMany: string;
@@ -117,6 +117,7 @@ const CONSTANTS = Object.freeze({
117
117
  STATISTICS: 'STATISTICS',
118
118
  TYPE: 'TYPE',
119
119
  COLUMN: 'COLUMN',
120
+ EXPLAIN: 'EXPLAIN',
120
121
  RELATIONSHIP: {
121
122
  hasOne: 'hasOne',
122
123
  hasMany: 'hasMany',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/constants/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/constants/index.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ declare abstract class AbstractBuilder {
28
28
  transaction: Function;
29
29
  stream: Function;
30
30
  };
31
- abstract void(): this;
31
+ abstract void(): Builder<void>;
32
32
  abstract debug(): this;
33
33
  abstract dd(): this;
34
34
  abstract select(...columns: string[]): this;
@@ -51,6 +51,7 @@ declare abstract class AbstractBuilder {
51
51
  abstract whereIn(column: string, arrayValues: any[]): this;
52
52
  abstract orWhereIn(column: string, arrayValues: any[]): this;
53
53
  abstract whereNotIn(column: string, arrayValues: any[]): this;
54
+ abstract whereSubQuery(column: string, subQuery: string): this;
54
55
  abstract whereNotSubQuery(column: string, subQuery: string): this;
55
56
  abstract orWhereSubQuery(column: string, subQuery: string): this;
56
57
  abstract whereBetween(column: string, arrayValue: [any, any]): this;
@@ -1,9 +1,11 @@
1
1
  import Builder from '../Builder';
2
- import type { TPoolConnected, TConnectionOptions, TConnectionTransaction, TConnection, TPoolEvent } from '../../types';
2
+ import type { TPoolConnected, TConnectionOptions, TConnectionTransaction, TPoolEvent } from '../../types';
3
3
  declare abstract class AbstractDB extends Builder {
4
4
  abstract beginTransaction(): Promise<TConnectionTransaction>;
5
- abstract transaction<T>(handler: (conn: TConnection) => Promise<T>): Promise<T>;
6
- abstract generateUUID(): string;
5
+ abstract transaction<T>(handler: (conn: TConnectionTransaction) => Promise<T>): Promise<T>;
6
+ abstract generateUUID({ v }: {
7
+ v?: 4 | 7;
8
+ }): string;
7
9
  abstract raw(sql: string): string;
8
10
  abstract query(sql: string, parameters: Record<string, any>): Promise<any>;
9
11
  abstract event(event: TPoolEvent, callback: (data: any) => any): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractDB.js","sourceRoot":"","sources":["../../../../src/lib/core/Abstracts/AbstractDB.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAmC;AASnC,MAAe,UAAW,SAAQ,iBAAO;CAiBxC;AAEQ,gCAAU;AACnB,kBAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"AbstractDB.js","sourceRoot":"","sources":["../../../../src/lib/core/Abstracts/AbstractDB.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAmC;AAQnC,MAAe,UAAW,SAAQ,iBAAO;CAiBxC;AAEQ,gCAAU;AACnB,kBAAe,UAAU,CAAA"}
@@ -30,6 +30,7 @@ declare class Blueprint<T = any> {
30
30
  private _foreignKey;
31
31
  private _index;
32
32
  private _compositeIndex;
33
+ private _compositeUnique;
33
34
  private _column;
34
35
  private _isVirtual;
35
36
  private _isEnum;
@@ -420,6 +421,11 @@ declare class Blueprint<T = any> {
420
421
  * @return {Blueprint<T>} Blueprint
421
422
  */
422
423
  unique(): Blueprint<T>;
424
+ /**
425
+ * Assign attributes 'UNIQUE' in table
426
+ * @return {Blueprint<T>} Blueprint
427
+ */
428
+ compositeUnique(columns: string[], name?: string): Blueprint<T>;
423
429
  /**
424
430
  * Assign attributes 'NULL' in table
425
431
  * @return {Blueprint<T>} Blueprint
@@ -515,6 +521,10 @@ declare class Blueprint<T = any> {
515
521
  columns: string[];
516
522
  name?: string;
517
523
  } | null;
524
+ get compositeUniqueKey(): {
525
+ columns: string[];
526
+ name?: string;
527
+ } | null;
518
528
  get defaultValue(): string | number | boolean | null;
519
529
  get valueType(): ExtendType;
520
530
  get enums(): string[];
@@ -26,6 +26,7 @@ class Blueprint {
26
26
  _foreignKey = null;
27
27
  _index = null;
28
28
  _compositeIndex = null;
29
+ _compositeUnique = null;
29
30
  _column = null;
30
31
  _isVirtual = false;
31
32
  _isEnum = false;
@@ -621,6 +622,17 @@ class Blueprint {
621
622
  this._addAssignAttribute(`UNIQUE`);
622
623
  return this;
623
624
  }
625
+ /**
626
+ * Assign attributes 'UNIQUE' in table
627
+ * @return {Blueprint<T>} Blueprint
628
+ */
629
+ compositeUnique(columns, name = "") {
630
+ this._compositeUnique = {
631
+ columns,
632
+ name
633
+ };
634
+ return this;
635
+ }
624
636
  /**
625
637
  * Assign attributes 'NULL' in table
626
638
  * @return {Blueprint<T>} Blueprint
@@ -782,6 +794,9 @@ class Blueprint {
782
794
  get compositeIndexKey() {
783
795
  return this._compositeIndex;
784
796
  }
797
+ get compositeUniqueKey() {
798
+ return this._compositeUnique;
799
+ }
785
800
  get defaultValue() {
786
801
  return this._default;
787
802
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Blueprint.js","sourceRoot":"","sources":["../../../src/lib/core/Blueprint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Blueprint.js","sourceRoot":"","sources":["../../../src/lib/core/Blueprint.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { DB } from "./DB";
3
3
  import { Join } from "./Join";
4
4
  import { CONSTANTS } from "../constants";
5
5
  import { QueryBuilder } from "./Driver";
6
- import type { TPagination, TConnectionOptions, TPoolConnected, TConnectionTransaction, TDriver, TSaveBuilderResult, TAction } from "../types";
6
+ import type { TPagination, TConnectionOptions, TPoolConnected, TConnectionTransaction, TDriver, TSaveBuilderResult, TAction, TCursorPagination, TExplain } from "../types";
7
7
  declare class Builder<TA extends TAction = null> extends AbstractBuilder {
8
8
  constructor();
9
9
  /**
@@ -28,6 +28,37 @@ declare class Builder<TA extends TAction = null> extends AbstractBuilder {
28
28
  * @returns {string} database
29
29
  */
30
30
  database(): string;
31
+ /**
32
+ * The 'useNode' method is used to selects the database node used to execute the query.
33
+ *
34
+ * - `primary`: Uses the primary database node.
35
+ * - `replica`: Uses a replica node. If `node` is provided, the specified
36
+ * replica is used; otherwise, a replica is selected randomly.
37
+ *
38
+ * @param type - The database node type to use.
39
+ * @param options - Node selection options.
40
+ * @param options.node - 1-based replica node number. Only applicable when
41
+ * `type` is `replica`.
42
+ *
43
+ * @throws {Error} If node selection is requested outside cluster mode.
44
+ * @throws {Error} If a replica node is requested but no replicas are available.
45
+ *
46
+ * @example
47
+ * // Use the primary node
48
+ * query.useNode('primary');
49
+ *
50
+ * @example
51
+ * // Use a random replica
52
+ * query.useNode('replica');
53
+ *
54
+ * @example
55
+ * // Use replica node 2
56
+ * query.useNode('replica', { node: 2 });
57
+ */
58
+ useNode(type: 'primary'): this;
59
+ useNode(type: 'replica', options?: {
60
+ node?: number;
61
+ }): this;
31
62
  /**
32
63
  * The 'rowLock' method is used to row level locks (`FOR UPDATE` or `FOR SHARE`) to the query.
33
64
  *
@@ -244,7 +275,7 @@ declare class Builder<TA extends TAction = null> extends AbstractBuilder {
244
275
  *
245
276
  * @returns {this} this
246
277
  */
247
- void(): this;
278
+ void(): Builder<void>;
248
279
  /**
249
280
  * The 'when' method is used to specify if condition should be true will be next to the actions
250
281
  * @param {string | number | undefined | null | Boolean} condition when condition true will return query callback
@@ -1188,6 +1219,8 @@ declare class Builder<TA extends TAction = null> extends AbstractBuilder {
1188
1219
  RefTable: string;
1189
1220
  RefColumn: string;
1190
1221
  Column: string;
1222
+ OnDelete: string;
1223
+ OnUpdate: string;
1191
1224
  }[]>;
1192
1225
  /**
1193
1226
  * The `hasFK` method is used to determine whether a specific foreign key
@@ -1513,7 +1546,7 @@ declare class Builder<TA extends TAction = null> extends AbstractBuilder {
1513
1546
  */
1514
1547
  connection(options: TConnectionOptions): this;
1515
1548
  loadOptionsEnv(env?: string): {
1516
- readonly cluster: string | false;
1549
+ readonly cluster: boolean;
1517
1550
  readonly driver: string;
1518
1551
  readonly host: string | undefined;
1519
1552
  readonly port: string | 3306;
@@ -1625,6 +1658,42 @@ declare class Builder<TA extends TAction = null> extends AbstractBuilder {
1625
1658
  page?: number;
1626
1659
  distinct?: boolean;
1627
1660
  }): Promise<TPagination>;
1661
+ /**
1662
+ * The 'cursorPagination' method is used to perform cursor-based pagination
1663
+ * on a set of database query results obtained through the Query Builder.
1664
+ *
1665
+ * It uses cursor-based pagination instead of offset pagination, making it
1666
+ * more efficient when navigating through large datasets.
1667
+ *
1668
+ * @param {Object?} opts query opts
1669
+ * @param {number?} opts.limit number of records per page, default is 15
1670
+ * @param {string?} opts.cursor cursor used to retrieve the next page
1671
+ * @param {boolean?} opts.distinct whether to retrieve distinct records
1672
+ * @returns {Promise<TCursorPagination>}
1673
+ */
1674
+ cursorPagination(opts?: {
1675
+ limit?: number;
1676
+ cursor?: string;
1677
+ distinct?: boolean;
1678
+ }): Promise<TCursorPagination>;
1679
+ /**
1680
+ * The 'cursorPaginate' method is used to perform cursor-based pagination
1681
+ * on a set of database query results obtained through the Query Builder.
1682
+ *
1683
+ * It uses cursor-based pagination instead of offset pagination, making it
1684
+ * more efficient when navigating through large datasets.
1685
+ *
1686
+ * @param {Object?} opts query opts
1687
+ * @param {number?} opts.limit number of records per page, default is 15
1688
+ * @param {string?} opts.cursor cursor used to retrieve the next page
1689
+ * @param {boolean?} opts.distinct whether to retrieve distinct records
1690
+ * @returns {Promise<TCursorPagination>}
1691
+ */
1692
+ cursorPaginate(opts?: {
1693
+ limit?: number;
1694
+ cursor?: string;
1695
+ distinct?: boolean;
1696
+ }): Promise<TCursorPagination>;
1628
1697
  /**
1629
1698
  *
1630
1699
  * The 'first' method is used to retrieve the first record that matches the query conditions.
@@ -1679,15 +1748,77 @@ declare class Builder<TA extends TAction = null> extends AbstractBuilder {
1679
1748
  */
1680
1749
  findMany(cb?: Function): Promise<any[]>;
1681
1750
  /**
1682
- * The 'toAsyncIterable' method is used to execute a database query and return the result set as an asynchronous iterable.
1751
+ * The 'explain' method is used to analyze the query execution plan
1752
+ * without executing the query itself.
1683
1753
  *
1684
- * It retrieves multiple records from a database table based on the criteria specified in the query.
1685
- * The optional callback function can be used to modify the generated SQL query before execution.
1754
+ * It retrieves the execution plan from the database and analyzes it
1755
+ * for potential performance issues such as full table scans, filesorts,
1756
+ * and temporary tables.
1757
+ * @param {string?} sql query for explain
1758
+ * @returns {Promise<TExplain>} query execution plan and analysis
1759
+ */
1760
+ explain(sql?: string): Promise<TExplain>;
1761
+ /**
1762
+ * The 'lazy' method is used to retrieve and process records incrementally
1763
+ * without loading the entire result set into memory at once.
1686
1764
  *
1687
- * @param {Function?} cb callback function return query sql
1688
- * @returns {AsyncIterable<any>}
1765
+ * It retrieves records in batches based on the specified limit and invokes
1766
+ * the callback for each record. The process continues until all records
1767
+ * have been retrieved and processed.
1768
+ *
1769
+ * The optional delayMs can be used to add a delay between each batch query,
1770
+ * which can help reduce database load when processing a large number of records.
1771
+ *
1772
+ * @param {Function} callback callback function that receives each retrieved record
1773
+ * @param {Object?} opts query opts
1774
+ * @param {number?} opts.limit number of records to retrieve per query
1775
+ * @param {number?} opts.offset number of records to skip before processing
1776
+ * @param {number?} opts.delayMs delay in milliseconds between each batch
1777
+ * @returns {Promise<void>}
1778
+ */
1779
+ lazy(callback: (result: any) => Promise<void> | void, opts?: {
1780
+ limit?: number;
1781
+ offset?: number;
1782
+ delayMs?: number;
1783
+ }): Promise<void>;
1784
+ /**
1785
+ * The 'chunk' method is used to retrieve records from the database in chunks
1786
+ * and process each chunk through a callback function.
1787
+ *
1788
+ * It retrieves records in batches based on the specified limit and invokes
1789
+ * the callback with each batch of records. The process continues until all
1790
+ * records have been retrieved and processed.
1791
+ *
1792
+ * The optional delayMs can be used to add a delay between each batch query,
1793
+ * which can help reduce database load when processing a large number of records.
1794
+ *
1795
+ * @param {Function} callback callback function that receives the retrieved records
1796
+ * @param {Object?} opts query opts
1797
+ * @param {number?} opts.limit number of records to retrieve per chunk
1798
+ * @param {number?} opts.offset number of records to skip before processing
1799
+ * @param {number?} opts.delayMs delay in milliseconds between each batch
1800
+ * @returns {Promise<void>}
1801
+ */
1802
+ chunk(callback: (results: any[]) => Promise<void> | void, opts?: {
1803
+ limit?: number;
1804
+ offset?: number;
1805
+ delayMs?: number;
1806
+ }): Promise<void>;
1807
+ /**
1808
+ * The 'stream' method is used to executes a SQL statement and asynchronously yields result rows.
1809
+ *
1810
+ * @returns {AsyncGenerator<T>} An async generator that yields result rows.
1811
+ *
1812
+ * @example
1813
+ * ```ts
1814
+ * import { DB } from "tspace-mysql";
1815
+ *
1816
+ * for await (const row of new DB('users').stream()) {
1817
+ * console.log(row);
1818
+ * }
1819
+ * ```
1689
1820
  */
1690
- toAsyncIterable(cb?: Function): AsyncIterable<any>;
1821
+ stream(): AsyncGenerator<any>;
1691
1822
  /**
1692
1823
  * The 'toArray' method is used to execute a database query and retrieve the result set that matches the query conditions.
1693
1824
  *
@@ -1940,7 +2071,11 @@ declare class Builder<TA extends TAction = null> extends AbstractBuilder {
1940
2071
  private _queryInsert;
1941
2072
  private _queryInsertMultiple;
1942
2073
  protected _handleJoin(type: "INNER_JOIN" | "LEFT_JOIN" | "RIGHT_JOIN" | "CROSS_JOIN" | undefined, localKey: `${string}.${string}` | ((join: Join) => Join), referenceKey?: `${string}.${string}`): this;
1943
- private _initialConnection;
2074
+ private _initClusterPool;
2075
+ private _initSinglePool;
2076
+ private _initPool;
2077
+ private _initConstants;
2078
+ private _initBuilder;
1944
2079
  }
1945
2080
  export { Builder };
1946
2081
  export default Builder;