tspace-mysql 1.9.1 → 1.9.3

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 (86) hide show
  1. package/README.md +269 -24
  2. package/dist/lib/core/Abstracts/AbstractBuilder.d.ts +16 -16
  3. package/dist/lib/core/Abstracts/AbstractBuilder.js.map +1 -1
  4. package/dist/lib/core/Abstracts/AbstractDB.d.ts +1 -1
  5. package/dist/lib/core/Abstracts/AbstractModel.d.ts +7 -2
  6. package/dist/lib/core/Abstracts/AbstractModel.js.map +1 -1
  7. package/dist/lib/core/Blueprint.d.ts +14 -14
  8. package/dist/lib/core/Blueprint.js +2 -4
  9. package/dist/lib/core/Blueprint.js.map +1 -1
  10. package/dist/lib/core/Builder.d.ts +52 -34
  11. package/dist/lib/core/Builder.js +76 -44
  12. package/dist/lib/core/Builder.js.map +1 -1
  13. package/dist/lib/core/Cache/MemoryCache.js +9 -4
  14. package/dist/lib/core/Cache/MemoryCache.js.map +1 -1
  15. package/dist/lib/core/Cache/index.js +32 -13
  16. package/dist/lib/core/Cache/index.js.map +1 -1
  17. package/dist/lib/core/Contracts/Audit.d.ts +4 -4
  18. package/dist/lib/core/Contracts/Audit.js.map +1 -1
  19. package/dist/lib/core/Contracts/Logger.d.ts +3 -3
  20. package/dist/lib/core/Contracts/Logger.js.map +1 -1
  21. package/dist/lib/core/DB.d.ts +2 -2
  22. package/dist/lib/core/DB.js +6 -19
  23. package/dist/lib/core/DB.js.map +1 -1
  24. package/dist/lib/core/Driver/index.d.ts +7 -5
  25. package/dist/lib/core/Driver/index.js +4 -2
  26. package/dist/lib/core/Driver/index.js.map +1 -1
  27. package/dist/lib/core/Driver/mariadb/MariadbDriver.js +14 -6
  28. package/dist/lib/core/Driver/mariadb/MariadbDriver.js.map +1 -1
  29. package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.d.ts +3 -3
  30. package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.js +24 -7
  31. package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.js.map +1 -1
  32. package/dist/lib/core/Driver/mongodb/MongodbDriver.js +18 -12
  33. package/dist/lib/core/Driver/mongodb/MongodbDriver.js.map +1 -1
  34. package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.d.ts +3 -3
  35. package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.js +9 -1
  36. package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.js.map +1 -1
  37. package/dist/lib/core/Driver/mysql/MysqlDriver.js +15 -7
  38. package/dist/lib/core/Driver/mysql/MysqlDriver.js.map +1 -1
  39. package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.d.ts +3 -3
  40. package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.js +24 -7
  41. package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.js.map +1 -1
  42. package/dist/lib/core/Driver/postgres/PostgresDriver.js +14 -6
  43. package/dist/lib/core/Driver/postgres/PostgresDriver.js.map +1 -1
  44. package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.d.ts +3 -3
  45. package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.js +22 -7
  46. package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.js.map +1 -1
  47. package/dist/lib/core/Driver/sqlite/SqliteDriver.d.ts +1 -0
  48. package/dist/lib/core/Driver/sqlite/SqliteDriver.js +25 -4
  49. package/dist/lib/core/Driver/sqlite/SqliteDriver.js.map +1 -1
  50. package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.d.ts +2 -0
  51. package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.js +27 -21
  52. package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.js.map +1 -1
  53. package/dist/lib/core/Join.d.ts +63 -5
  54. package/dist/lib/core/Join.js +92 -15
  55. package/dist/lib/core/Join.js.map +1 -1
  56. package/dist/lib/core/JoinModel.d.ts +65 -9
  57. package/dist/lib/core/JoinModel.js +79 -50
  58. package/dist/lib/core/JoinModel.js.map +1 -1
  59. package/dist/lib/core/Meta.d.ts +7 -7
  60. package/dist/lib/core/Meta.js +10 -9
  61. package/dist/lib/core/Meta.js.map +1 -1
  62. package/dist/lib/core/Model.d.ts +225 -57
  63. package/dist/lib/core/Model.js +376 -90
  64. package/dist/lib/core/Model.js.map +1 -1
  65. package/dist/lib/core/Queue.d.ts +36 -7
  66. package/dist/lib/core/Queue.js +69 -29
  67. package/dist/lib/core/Queue.js.map +1 -1
  68. package/dist/lib/core/RelationManager.d.ts +4 -4
  69. package/dist/lib/core/RelationManager.js +141 -16
  70. package/dist/lib/core/RelationManager.js.map +1 -1
  71. package/dist/lib/core/Repository.d.ts +1 -1
  72. package/dist/lib/core/Repository.js +5 -1
  73. package/dist/lib/core/Repository.js.map +1 -1
  74. package/dist/lib/core/Schema.d.ts +13 -13
  75. package/dist/lib/core/Schema.js +12 -0
  76. package/dist/lib/core/Schema.js.map +1 -1
  77. package/dist/lib/core/StateManager.d.ts +6 -0
  78. package/dist/lib/core/StateManager.js +1 -0
  79. package/dist/lib/core/StateManager.js.map +1 -1
  80. package/dist/lib/core/UtilityTypes.d.ts +69 -76
  81. package/dist/lib/core/UtilityTypes.js.map +1 -1
  82. package/dist/lib/types/index.d.ts +55 -9
  83. package/dist/lib/utils/index.d.ts +3 -1
  84. package/dist/lib/utils/index.js +42 -3
  85. package/dist/lib/utils/index.js.map +1 -1
  86. package/package.json +1 -1
@@ -22,17 +22,18 @@ declare const schema: {
22
22
  id: Blueprint<number>;
23
23
  uuid: Blueprint<string | null>;
24
24
  name: Blueprint<string>;
25
- status: Blueprint<"pending" | "active" | "completed" | "failed">;
26
- priority: Blueprint<number>;
25
+ status: Blueprint<"pending" | "active" | "completed" | "failed" | null>;
26
+ priority: Blueprint<T.Default<number>>;
27
27
  payload: Blueprint<string | null>;
28
28
  result: Blueprint<string | null>;
29
29
  error: Blueprint<string | null>;
30
30
  metadata: Blueprint<string | null>;
31
- attempts: Blueprint<number>;
32
- max_attempts: Blueprint<number>;
31
+ attempts: Blueprint<T.Default<number>>;
32
+ max_attempts: Blueprint<T.Default<number>>;
33
+ delay_ms: Blueprint<T.Default<number>>;
33
34
  locked_by: Blueprint<string | null>;
34
35
  locked_at: Blueprint<string | Date | null>;
35
- available_at: Blueprint<string | Date>;
36
+ available_at: Blueprint<NonNullable<string | Date>>;
36
37
  completed_at: Blueprint<string | Date | null>;
37
38
  created_at: Blueprint<string | Date | null>;
38
39
  updated_at: Blueprint<string | Date | null>;
@@ -74,11 +75,31 @@ declare class Worker extends Model<TS> {
74
75
  pending: number;
75
76
  failed: number;
76
77
  }[]>;
78
+ getJobs(name?: string): Promise<{
79
+ [x: string]: unknown;
80
+ id: number;
81
+ uuid: string | null;
82
+ name: string;
83
+ status: "pending" | "active" | "completed" | "failed";
84
+ priority: import("../types").TDefault<number>;
85
+ payload: string | null;
86
+ result: string | null;
87
+ error: string | null;
88
+ metadata: string | null;
89
+ attempts: import("../types").TDefault<number>;
90
+ max_attempts: import("../types").TDefault<number>;
91
+ delay_ms: import("../types").TDefault<number>;
92
+ locked_by: string | null;
93
+ locked_at: string | Date | null;
94
+ available_at: NonNullable<string | Date>;
95
+ completed_at: string | Date | null;
96
+ created_at: string | Date | null;
97
+ updated_at: string | Date | null;
98
+ }[]>;
77
99
  getNames(): Promise<any[]>;
78
100
  add(name: string, payload: any, opts?: QueueAddOptions): Promise<void>;
79
101
  process(name: string, handler: Handler, opts?: QueueProcessOptions): Promise<void>;
80
102
  private _runJob;
81
- private _waitForSafeConnections;
82
103
  private _dequeueMany;
83
104
  private _flushBuffer;
84
105
  private _wakeWorker;
@@ -163,7 +184,7 @@ declare class Queue {
163
184
  *
164
185
  * @param {string} [name] - Optional queue name filter.
165
186
  * @throws {Error} If Queue is not initialized.
166
- * @returns {Promise<Record<string,any>>}
187
+ * @returns {Promise<any>}
167
188
  */
168
189
  static getJobStats(name?: string): Promise<{
169
190
  completed: number;
@@ -171,6 +192,14 @@ declare class Queue {
171
192
  pending: number;
172
193
  failed: number;
173
194
  }[]>;
195
+ /**
196
+ * The 'getJobs' method is used to Get jobs.
197
+ *
198
+ * @param {string} [name] - Optional queue name filter.
199
+ * @throws {Error} If Queue is not initialized.
200
+ * @returns {Promise<T.Result<Worker>[]>}
201
+ */
202
+ static getJobs(name?: string): Promise<T.Result<Worker>[]>;
174
203
  /**
175
204
  * Get all unique queue names.
176
205
  *
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Queue = void 0;
4
4
  const Blueprint_1 = require("./Blueprint");
5
5
  const DB_1 = require("./DB");
6
+ ;
6
7
  const Model_1 = require("./Model");
8
+ const Meta_1 = require("./Meta");
7
9
  const QUEUE_STATUS = {
8
10
  dispatch: 'Dispatch',
9
11
  receive: 'Receive',
@@ -19,6 +21,12 @@ const QUEUE_STATUS = {
19
21
  completed: 'Retry Completed',
20
22
  }
21
23
  };
24
+ const STATUS = {
25
+ 'pending': 'pending',
26
+ 'active': 'active',
27
+ 'completed': 'completed',
28
+ 'failed': 'failed'
29
+ };
22
30
  const schema = {
23
31
  id: Blueprint_1.Blueprint.int().primary().autoIncrement(),
24
32
  uuid: Blueprint_1.Blueprint.varchar(36).null(),
@@ -27,14 +35,19 @@ const schema = {
27
35
  .compositeIndex([
28
36
  "status", "available_at", "priority", "id"
29
37
  ]),
30
- status: Blueprint_1.Blueprint.enum('pending', 'active', 'completed', 'failed').notNull().default('pending').index(),
31
- priority: Blueprint_1.Blueprint.int().notNull().default(0),
38
+ status: Blueprint_1.Blueprint
39
+ .enum(...Object.values(STATUS))
40
+ .notNull()
41
+ .default(STATUS.pending)
42
+ .index(),
43
+ priority: Blueprint_1.Blueprint.int().default(0),
32
44
  payload: Blueprint_1.Blueprint.mediumtext().null(),
33
45
  result: Blueprint_1.Blueprint.text().null(),
34
46
  error: Blueprint_1.Blueprint.text().null(),
35
47
  metadata: Blueprint_1.Blueprint.text().null(),
36
- attempts: Blueprint_1.Blueprint.int().notNull().default(0),
37
- max_attempts: Blueprint_1.Blueprint.int().notNull().default(3),
48
+ attempts: Blueprint_1.Blueprint.int().default(0),
49
+ max_attempts: Blueprint_1.Blueprint.int().default(3),
50
+ delay_ms: Blueprint_1.Blueprint.int().default(0),
38
51
  locked_by: Blueprint_1.Blueprint.text().null(),
39
52
  locked_at: Blueprint_1.Blueprint.timestamp().null(),
40
53
  available_at: Blueprint_1.Blueprint.timestamp().notNull(),
@@ -64,7 +77,7 @@ class Worker extends Model_1.Model {
64
77
  this.useTable(this.$state.get("TABLE_JOB"));
65
78
  }
66
79
  async initialize(opts = {}) {
67
- const driver = this.driver();
80
+ const driver = DB_1.DB.driver();
68
81
  if (driver === 'mongodb') {
69
82
  throw new Error('Queue is not supported for MongoDB. Use a different driver or disable queue features.');
70
83
  }
@@ -97,7 +110,7 @@ class Worker extends Model_1.Model {
97
110
  this.STOPPING = true;
98
111
  while (this.ACTIVE_JOBS > 0) {
99
112
  if (this.INSPECT_EXEC) {
100
- console.log(`\x1b[34mQueue:\x1b[0m waiting active jobs total '${this.ACTIVE_JOBS}'`);
113
+ console.log(`\x1b[34mQueue:\x1b[0m Currently processing ${this.ACTIVE_JOBS} job(s)`);
101
114
  }
102
115
  await new Promise(r => setTimeout(r, 200));
103
116
  }
@@ -112,7 +125,7 @@ class Worker extends Model_1.Model {
112
125
  async getJobOverallStats(name) {
113
126
  const where = (q) => {
114
127
  if (name)
115
- q.where('name', 'LIKE', `%${name}%`);
128
+ q.where('name', 'LIKE', `%${DB_1.DB.escape(name)}%`);
116
129
  return q;
117
130
  };
118
131
  const completed = await where(new Worker()).where('status', 'completed').count();
@@ -132,7 +145,7 @@ class Worker extends Model_1.Model {
132
145
  const rows = await new Worker()
133
146
  .select('name', 'status')
134
147
  .selectRaw('COUNT(1) AS total')
135
- .when(name, (q) => q.where('name', 'LIKE', `%${name}%`))
148
+ .when(name, (q) => q.where('name', 'LIKE', `%${DB_1.DB.escape(name)}%`))
136
149
  .groupBy('name', 'status')
137
150
  .orderBy('name')
138
151
  .get();
@@ -162,6 +175,12 @@ class Worker extends Model_1.Model {
162
175
  }
163
176
  return Array.from(map.values());
164
177
  }
178
+ async getJobs(name) {
179
+ const jobs = await new Worker()
180
+ .when(name != null, (q) => q.where('name', 'LIKE', `%${DB_1.DB.escape(name)}%`))
181
+ .get();
182
+ return jobs;
183
+ }
165
184
  async getNames() {
166
185
  return await new Worker().select('name').toArray('name');
167
186
  }
@@ -171,6 +190,7 @@ class Worker extends Model_1.Model {
171
190
  name,
172
191
  payload: payload == null ? null : this.safeJsonStringify(payload),
173
192
  status: 'pending',
193
+ delay_ms: opts.delayMs ?? 0,
174
194
  available_at: opts.delayMs ? new Date(Date.now() + opts.delayMs) : new Date(),
175
195
  priority: opts.priority ?? 0,
176
196
  attempts: 0,
@@ -247,6 +267,9 @@ class Worker extends Model_1.Model {
247
267
  console.log(`\x1b[34mQueue:\x1b[0m \x1b[35m'${name}'\x1b[0m \x1b[38;2;77;215;240m${QUEUE_STATUS.processing}\x1b[0m job \x1b[38;5;208m${job.id}\x1b[0m`);
248
268
  }
249
269
  const startTime = +new Date();
270
+ if (job.__job.delay_ms) {
271
+ await new Promise(r => setTimeout(r, job.__job.delay_ms));
272
+ }
250
273
  const result = await handler(job);
251
274
  await new Worker()
252
275
  .where('id', job.id)
@@ -336,37 +359,41 @@ class Worker extends Model_1.Model {
336
359
  this.ACTIVE_JOBS--;
337
360
  }
338
361
  }
339
- async _waitForSafeConnections(name) {
340
- let activeConnections = 0;
341
- // while (true) {
342
- // activeConnections = await DB.getActiveConnections();
343
- // if (activeConnections <= this.LIMIT_CONNECTIONS) {
344
- // break;
345
- // }
346
- // if (this.INSPECT_EXEC) {
347
- // console.log(`\x1b[34mQueue:\x1b[0m \x1b[35m'${name}'\x1b[0m \x1b[31m${QUEUE_STATUS.waiting}\x1b[0m DB connections high \x1b[33m (${activeConnections}/${this.LIMIT_CONNECTIONS})\x1b[0m`);
348
- // }
349
- // await new Promise(resolve => setTimeout(resolve, 1000 * 5));
350
- // }
351
- return;
352
- }
353
362
  async _dequeueMany(name, limit) {
354
363
  if (this.STOPPING)
355
364
  return [];
356
- await this._waitForSafeConnections(name);
357
365
  const findJobs = await new Worker()
358
366
  .select('id')
359
367
  .where('name', name)
360
- .whereQuery(q => {
361
- return q
362
- .where('status', 'pending')
363
- .where('available_at', '<=', this.$utils.timestamp())
368
+ .whereQuery(query => {
369
+ return query
370
+ .where('status', '=', 'pending')
371
+ .when(DB_1.DB.driver() === 'mysql' || DB_1.DB.driver() === 'mariadb', (q) => {
372
+ return q.whereRaw(`DATE_SUB(
373
+ ${(0, Meta_1.Meta)(Worker).columnRef('available_at')},
374
+ INTERVAL (${(0, Meta_1.Meta)(Worker).columnRef('delay_ms')} * 1000) MICROSECOND
375
+ ) <= ?`, [`'${this.$utils.timestamp()}'`]);
376
+ })
377
+ .when(DB_1.DB.driver() === 'postgres', (q) => {
378
+ return q.whereRaw(`${(0, Meta_1.Meta)(Worker).columnRef('available_at')}
379
+ -
380
+ (${(0, Meta_1.Meta)(Worker).columnRef('delay_ms')} * INTERVAL '1 millisecond')
381
+ <= ?`, [`'${this.$utils.timestamp()}'`]);
382
+ })
383
+ .when(DB_1.DB.driver() === 'sqlite', (q) => {
384
+ return q.whereRaw(`datetime(
385
+ ${(0, Meta_1.Meta)(Worker).columnRef('available_at')},
386
+ '-' || (${(0, Meta_1.Meta)(Worker).columnRef('delay_ms')} / 1000.0) || ' seconds'
387
+ ) <= ?`, [`'${this.$utils.timestamp()}'`]);
388
+ })
364
389
  .orWhereQuery((q) => {
365
390
  return q
366
- .where('status', 'active')
391
+ .where('status', '=', 'active')
367
392
  .where('locked_at', '<', this.$utils.timestamp(new Date(Date.now() - 60 * 1000)));
368
393
  });
369
394
  })
395
+ .latest('priority')
396
+ .oldest('id')
370
397
  .limit(limit)
371
398
  .get();
372
399
  if (!findJobs.length) {
@@ -586,7 +613,7 @@ class Queue {
586
613
  *
587
614
  * @param {string} [name] - Optional queue name filter.
588
615
  * @throws {Error} If Queue is not initialized.
589
- * @returns {Promise<Record<string,any>>}
616
+ * @returns {Promise<any>}
590
617
  */
591
618
  static async getJobStats(name) {
592
619
  if (this.WORKER == null) {
@@ -594,6 +621,19 @@ class Queue {
594
621
  }
595
622
  return await this.WORKER.getJobStats(name);
596
623
  }
624
+ /**
625
+ * The 'getJobs' method is used to Get jobs.
626
+ *
627
+ * @param {string} [name] - Optional queue name filter.
628
+ * @throws {Error} If Queue is not initialized.
629
+ * @returns {Promise<T.Result<Worker>[]>}
630
+ */
631
+ static async getJobs(name) {
632
+ if (this.WORKER == null) {
633
+ throw new Error(this.MESSAGE.INIT_ERROR);
634
+ }
635
+ return await this.WORKER.getJobs(name);
636
+ }
597
637
  /**
598
638
  * Get all unique queue names.
599
639
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Queue.js","sourceRoot":"","sources":["../../../src/lib/core/Queue.ts"],"names":[],"mappings":";;;AACA,2CAA0C;AAC1C,6BAAmC;AACnC,mCAAsC;AAyCtC,MAAM,YAAY,GAAG;IACjB,QAAQ,EAAM,UAAU;IACxB,OAAO,EAAO,SAAS;IACvB,UAAU,EAAI,YAAY;IAC1B,SAAS,EAAK,WAAW;IACzB,IAAI,EAAU,MAAM;IACpB,MAAM,EAAQ,SAAS;IACvB,MAAM,EAAQ,QAAQ;IACtB,OAAO,EAAO,SAAS;IACvB,KAAK,EAAS;QACV,QAAQ,EAAI,UAAU;QACtB,MAAM,EAAM,cAAc;QAC1B,SAAS,EAAG,iBAAiB;KAChC;CACK,CAAC;AAEX,MAAM,MAAM,GAAG;IACX,EAAE,EAAM,qBAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE;IACjD,IAAI,EAAI,qBAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;IACpC,IAAI,EAAI,qBAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE;SACvC,KAAK,EAAE;SACP,cAAc,CAAC;QACZ,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI;KAC7C,CAAC;IAEF,MAAM,EAAG,qBAAS,CAAC,IAAI,CACnB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,CACX,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE;IAEtC,QAAQ,EAAO,qBAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,OAAO,EAAQ,qBAAS,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE;IAC5C,MAAM,EAAS,qBAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE;IACtC,KAAK,EAAU,qBAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE;IACtC,QAAQ,EAAO,qBAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE;IAEtC,QAAQ,EAAO,qBAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,YAAY,EAAG,qBAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEnD,SAAS,EAAM,qBAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE;IACtC,SAAS,EAAM,qBAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE;IAE3C,YAAY,EAAG,qBAAS,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE;IAC9C,YAAY,EAAG,qBAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE;IAC3C,UAAU,EAAK,qBAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE;IAC3C,UAAU,EAAK,qBAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE;CAC9C,CAAC;AAGF,MAAM,MAAO,SAAQ,aAAS;IAElB,QAAQ,GAAY,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,IAAI,SAAS,CAAC,CAAC;IAC/D,YAAY,GAAQ,KAAK,CAAC;IAC1B,QAAQ,GAAY,KAAK,CAAC;IAC1B,WAAW,GAAS,KAAK,CAAC;IAE1B,iBAAiB,GAAG,EAAE,CAAC;IACvB,gBAAgB,GAAI,EAAE,CAAC;IACvB,WAAW,GAAS,CAAC,CAAC;IACtB,UAAU,GAAU,IAAI,CAAC;IACzB,WAAW,GAAS,EAAE,CAAC;IAEvB,MAAM,GAAc;QACxB,IAAI,EAAG,EAAE;QACT,OAAO,EAAG,IAAI;KAIjB,CAAC;IAEM,YAAY,GAAO,IAAI,GAAG,EAM9B,CAAC;IAEK,IAAI;QACV,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,UAAU,CAAE,OAMrB,EAAE;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE7B,IAAG,MAAM,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;QAC7G,CAAC;QAED,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAEjE,IAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC/E,CAAC;QAED,IAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QAED,IAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,CAAC;QAED,IAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC;QAChD,CAAC;QAED,IAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACnD,CAAC;aACI,CAAC;YACF,MAAM,cAAc,GAAG,MAAM,OAAE,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAEtE,IAAI,CAAC,iBAAiB,GAAG,cAAc;gBACvC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;gBAC9C,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC7B,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,QAAQ;QAEjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QAEpB,OAAO,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,oDAAoD,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;YACxF,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QAC9C,CAAC;QAED,IAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAA;QAC9E,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACpC,OAAO;IACX,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,IAAa;QAEzC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE;YACxB,IAAG,IAAI;gBAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAC,MAAM,EAAC,IAAI,IAAI,GAAG,CAAC,CAAA;YAC5C,OAAO,CAAC,CAAC;QACb,CAAC,CAAA;QAED,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;QACjF,MAAM,MAAM,GAAM,MAAM,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9E,MAAM,OAAO,GAAK,MAAM,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/E,MAAM,MAAM,GAAM,MAAM,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9E,MAAM,KAAK,GAAO,MAAM,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAEpD,OAAO;YACH,KAAK;YACL,SAAS;YACT,MAAM;YACN,OAAO;YACP,MAAM;SACT,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,IAAa;QAElC,MAAM,IAAI,GAAG,MAAM,IAAI,MAAM,EAAE;aAC9B,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;aACxB,SAAS,CAAC,mBAAmB,CAAC;aAC9B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAG,IAAI,IAAI,GAAG,CAAC,CAAC;aACxD,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC;aACzB,OAAO,CAAC,MAAM,CAAC;aACf,GAAG,EAAE,CAAA;QAEN,MAAM,GAAG,GAAG,IAAI,GAAG,EAMf,CAAC;QAEL,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,GAAK,GAAG,CAAC,IAAI,CAAC;YACxB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC1B,MAAM,KAAK,GAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEjC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;oBACd,IAAI;oBACJ,SAAS,EAAE,CAAC;oBACZ,MAAM,EAAE,CAAC;oBACT,OAAO,EAAE,CAAC;oBACV,MAAM,EAAE,CAAC;iBACR,CAAC,CAAC;YACP,CAAC;YAED,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;YAE7B,IAAI,MAAM,KAAK,WAAW;gBAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;iBAE/C,IAAI,MAAM,KAAK,QAAQ;gBAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;iBAE9C,IAAI,MAAM,KAAK,SAAS;gBAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;iBAEhD,IAAI,MAAM,KAAK,QAAQ;gBAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;QAEvD,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,CAAC;IAEM,KAAK,CAAC,QAAQ;QACjB,OAAO,MAAM,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,OAAY,EAAE,OAAwB,EAAE;QACnE,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAElD,MAAM,OAAO,GAAG;gBACZ,IAAI;gBACJ,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;gBACjE,MAAM,EAAE,SAAS;gBACjB,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;gBAC7E,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;gBAC5B,QAAQ,EAAE,CAAC;gBACX,YAAY,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;gBACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;aACrD,CAAC;YAEtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAEpD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC7C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACtF,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,OAAO,CAChB,IAAgB,EAChB,OAAiB,EACjB,OAAgC;QAC5B,QAAQ,EAAG,KAAK;QAChB,WAAW,EAAG,CAAC;KAClB;QAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAG;YACzB,OAAO,EAAQ,OAAO;YACtB,IAAI,EAAW,CAAC;YAChB,QAAQ,EAAO,KAAK;YACpB,OAAO,EAAQ,CAAC;YAChB,IAAI,EAAW;gBACX,WAAW,EAAG,IAAI,CAAC,WAAY;gBAC/B,QAAQ,EAAM,IAAI,CAAC,QAAS;aAC/B;SACJ,CAAC,CAAA;QAEF,IAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,oBAAoB,YAAY,CAAC,QAAQ,SAAS,CAAC,CAAA;QACzG,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAExB,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAE1B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE1C,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;gBACnC,KAAK,CAAC,OAAO,EAAE,CAAA;gBACf,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC;gBACnD,OAAO;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC;YAExD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAErD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,EAAE,CAAA;gBAEZ,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;oBAErB,IAAG,IAAI,CAAC,YAAY,EAAE,CAAC;wBACnB,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,oBAAoB,YAAY,CAAC,IAAI,6BAA6B,CAAC,CAAA;oBACzH,CAAC;oBAED,OAAM;gBACV,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;gBAEnC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAS,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;gBACxD,OAAO;YACX,CAAC;YAED,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YAEf,MAAM,OAAO,CAAC,GAAG,CACb,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAClD,CAAC;YAEF,YAAY,CAAC,QAAQ,CAAC,CAAC;YAEvB,OAAO;QACX,CAAC,CAAA;QAED,OAAO,QAAQ,EAAE,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,OAAO,CAAE,IAAY,EAAE,GAAgB,EAAE,KAAY;QAC/D,KAAK,CAAC,OAAO,EAAE,CAAA;QACf,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAE9B,IAAI,CAAC;YAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,iCAAiC,YAAY,CAAC,UAAU,6BAA6B,GAAG,CAAC,EAAE,SAAS,CAAC,CAAA;YAC3J,CAAC;YAED,MAAM,SAAS,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAE9B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;YAElC,MAAM,IAAI,MAAM,EAAE;iBACjB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;iBACnB,MAAM,CAAC;gBACJ,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBACtC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;aACxC,CAAC;iBACD,IAAI,EAAE;iBACN,IAAI,EAAE,CAAA;YAEP,MAAM,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAE5B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,oBAAoB,YAAY,CAAC,SAAS,6BAA6B,GAAG,CAAC,EAAE,YAAY,OAAO,GAAG,SAAS,KAAK,CAAC,CAAC;YACzK,CAAC;QAEL,CAAC;QAAC,OAAO,GAAO,EAAE,CAAC;YAEf,IAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,oBAAoB,YAAY,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAAE,SAAS,CAAC,CAAA;YAC1I,CAAC;YAED,MAAM,IAAI,MAAM,EAAE;iBACjB,KAAK,CAAC,IAAI,EAAC,GAAG,CAAC,EAAE,CAAC;iBAClB,MAAM,CAAC;gBACJ,MAAM,EAAG,QAAQ;gBACjB,KAAK,EAAG,IAAI,CAAC,iBAAiB,CAAC;oBAC3B,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,IAAI,EAAE,GAAG,CAAC,IAAI;iBACjB,CAAC;aACL,CAAC;iBACD,IAAI,EAAE;iBACN,IAAI,EAAE,CAAA;YAEP,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC;YAE3C,IAAI,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;YAElC,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAE5B,QAAQ,EAAE,CAAC;gBAEX,IAAI,CAAC;oBAED,MAAM,SAAS,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;oBAE9B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;oBAElC,MAAM,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;oBAE5B,MAAM,IAAI,MAAM,EAAE;yBACjB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;yBACnB,MAAM,CAAC;wBACJ,MAAM,EAAE,WAAW;wBACnB,QAAQ;wBACR,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;wBACtC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;qBACxC,CAAC;yBACD,IAAI,EAAE;yBACN,IAAI,EAAE,CAAC;oBAER,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACpB,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,oBAAoB,YAAY,CAAC,KAAK,CAAC,SAAS,6BAA6B,GAAG,CAAC,EAAE,YAAY,OAAO,GAAG,SAAS,MAAM,QAAQ,IAAI,WAAW,GAAG,CAAC,CAAC;oBAC1M,CAAC;oBAED,MAAM;gBAEV,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAEhB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACpB,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,oBAAoB,YAAY,CAAC,KAAK,CAAC,QAAQ,6BAA6B,GAAG,CAAC,EAAE,YAAY,QAAQ,IAAI,WAAW,GAAG,CAAC,CAAC;oBAChL,CAAC;oBAED,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;wBAE1B,MAAM,IAAI,MAAM,EAAE;6BACjB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;6BACnB,MAAM,CAAC;4BACJ,MAAM,EAAE,QAAQ;4BAChB,QAAQ;4BACR,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC;gCAC9B,KAAK,EAAI,IAAI;gCACb,OAAO,EAAE,GAAG,EAAE,OAAO;gCACrB,IAAI,EAAE,GAAG,EAAE,IAAI;gCACf,KAAK,EAAE,GAAG,EAAE,KAAK;gCACjB,IAAI,EAAE,GAAG,EAAE,IAAI;6BACd,CAAC;yBACL,CAAC;6BACD,IAAI,EAAE;6BACN,IAAI,EAAE,CAAC;wBAER,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;4BACpB,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,oBAAoB,YAAY,CAAC,KAAK,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAAE,+CAA+C,CAAC,CAAC;wBACvL,CAAC;wBAED,MAAM;oBACV,CAAC;oBAED,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvD,CAAC;YACL,CAAC;QAEL,CAAC;gBAAS,CAAC;YACP,KAAK,CAAC,OAAO,EAAE,CAAA;YACf,IAAI,CAAC,WAAW,EAAE,CAAA;QACtB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAE,IAAY;QAC/C,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,iBAAiB;QAEjB,2DAA2D;QAE3D,yDAAyD;QACzD,iBAAiB;QACjB,QAAQ;QAER,+BAA+B;QAC/B,qMAAqM;QACrM,QAAQ;QAER,mEAAmE;QACnE,IAAI;QAEJ,OAAO;IACX,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,KAAa;QAElD,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAE7B,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG,MAAM,IAAI,MAAM,EAAE;aAClC,MAAM,CAAC,IAAI,CAAC;aACZ,KAAK,CAAC,MAAM,EAAC,IAAI,CAAC;aAClB,UAAU,CAAC,CAAC,CAAC,EAAE;YACZ,OAAO,CAAC;iBACP,KAAK,CAAC,QAAQ,EAAC,SAAS,CAAC;iBACzB,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;iBACpD,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE;gBAChB,OAAO,CAAC;qBACP,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;qBACzB,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACrF,CAAC,CAAC,CAAA;QACN,CAAC,CAAC;aACD,KAAK,CAAC,KAAK,CAAC;aACZ,GAAG,EAAE,CAAA;QAEN,IAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,MAAM,OAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAEtC,MAAM,IAAI,GAAG,MAAM,IAAI,MAAM,EAAE;iBAC9B,OAAO,CAAC,IAAI,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACrC,MAAM,CAAC,UAAU,CAAC;iBAClB,MAAM,CAAC,IAAI,CAAC;iBACZ,KAAK,CAAC,KAAK,CAAC;iBACZ,SAAS,CAAC,EAAE,UAAU,EAAG,IAAI,EAAE,CAAC;iBAChC,IAAI,CAAC,GAAG,CAAC;iBACT,GAAG,EAAE,CAAA;YAEN,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACf,OAAO,EAAE,CAAC;YACd,CAAC;YAED,MAAM,IAAI,MAAM,EAAE;iBACjB,OAAO,CAAC,IAAI,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACjC,UAAU,CAAC;gBACR,MAAM,EAAG,QAAQ;gBACjB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;gBAClC,SAAS,EAAG,IAAI,CAAC,QAAQ;aAC5B,CAAC;iBACD,IAAI,EAAE;iBACN,IAAI,CAAC,GAAG,CAAC;iBACT,KAAK,CAAC,KAAK,CAAC;iBACZ,IAAI,EAAE,CAAA;YAEP,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC9B,EAAE,EAAQ,GAAG,CAAC,EAAE;gBAChB,IAAI,EAAM,GAAG,CAAC,IAAI;gBAClB,MAAM,EAAI,GAAG,CAAC,MAAM;gBACpB,OAAO,EAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;gBACzC,KAAK,EAAK,GAAG;aAChB,CAAC,CAAC,CAAA;QACP,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAa;QAEpC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE9D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QAC/B,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAEtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,CAAC;YACD,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAEtD,MAAM,aAAa,GAAG,MAAM,IAAI,MAAM,EAAE;iBACvC,MAAM,CAAC,IAAI,CAAC;iBACZ,UAAU,CAAC,YAAY,CAAC;iBACxB,IAAI,EAAgC,CAAA;YAErC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAEzC,MAAM,OAAO,GAAG;oBACZ,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oBAClB,KAAK;oBACL,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACnB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEb,IAAG,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAElB,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,oBAAoB,YAAY,CAAC,OAAO,6BAA6B,GAAG,SAAS,CAAC,CAAC;gBACzI,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,oBAAoB,YAAY,CAAC,OAAO,+BAA+B,OAAO,iCAAiC,GAAG,CAAC,MAAM,UAAU,CAAC,CAAC;gBAC3L,CAAC;YAEL,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAExE,KAAI,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEb,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAE/C,CAAC;gBAAS,CAAC;YACP,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,IAAY;QAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO;QAExD,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC;QAElC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEvB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QAEf,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,oBAAoB,YAAY,CAAC,MAAM,SAAS,CAAC,CAAC;QACxG,CAAC;QAED,IAAG,UAAU,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;gBAC9B,WAAW,EAAG,KAAK,CAAC,IAAI,CAAC,WAAW;aACvC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,OAAW;QAC7B,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,OAAO,CAAC;QACnB,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,OAAY;QAElC,IAAG,OAAO,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAEhC,IAAI,CAAC;YAED,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC5B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;gBAC3B,CAAC;gBAED,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;oBACvB,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;gBACpC,CAAC;gBAED,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;oBACvB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC5B,CAAC;gBAED,OAAO,KAAK,CAAA;YAChB,CAAC,CAAC,CAAA;QAEN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,OAAO,CAAA;QAClB,CAAC;IACL,CAAC;CAEJ;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,KAAK;IACP;;;OAGG;IACK,MAAM,CAAC,MAAM,CAAgB;IAE7B,MAAM,CAAC,OAAO,GAAG;QACrB,UAAU,EAAE,8EAA8E;KAC7F,CAAC;IAEF;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAMf,EAAE;QAEJ,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAElD,OAAO;IACT,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG;QAEd,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,OAAO;IACT,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK;QAEd,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAa;QAQzC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAa;QAOlC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ;QAEjB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAA2B;QAE3C,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAChB,IAAgB,EAChB,OAAiB,EACjB,OAAgC,EAAE,QAAQ,EAAG,KAAK,EAAE,WAAW,EAAG,CAAC,EAAE;QAGrE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,CACX,IAAgB,EAChB,OAAiB,EACjB,OAAgC,EAAE,QAAQ,EAAG,KAAK,EAAE,WAAW,EAAG,CAAC,EAAE;QAErE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,CACZ,IAAgB,EAChB,OAAa,EACb,OAA4B,EAAE;QAG9B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;;AAGI,sBAAK;AACd,kBAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"Queue.js","sourceRoot":"","sources":["../../../src/lib/core/Queue.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { Model } from "./Model";
2
2
  import type { TRelationOptions, TRelationQueryOptions } from "../types";
3
3
  declare class RelationManager {
4
4
  private $model;
5
- constructor(model: Model);
5
+ constructor(model: Model<any, any, any>);
6
6
  load(parents: Record<string, any>[], relation: TRelationOptions): Promise<any[]>;
7
7
  loadExists(): string;
8
8
  getSqlExists(name: string, cb: Function): string | null;
@@ -10,9 +10,9 @@ declare class RelationManager {
10
10
  callback(nameRelation: string, cb: Function): void;
11
11
  callbackPivot(nameRelation: string, cb: Function): void;
12
12
  returnCallback(nameRelation: string): any;
13
- hasOne({ name, as, model, localKey, foreignKey, freezeTable }: TRelationOptions): void;
14
- hasMany({ name, as, model, localKey, foreignKey, freezeTable }: TRelationOptions): void;
15
- belongsTo({ name, as, model, localKey, foreignKey, freezeTable }: TRelationOptions): void;
13
+ hasOne({ name, as, model, localKey, foreignKey, freezeTable, }: TRelationOptions): void;
14
+ hasMany({ name, as, model, localKey, foreignKey, freezeTable, }: TRelationOptions): void;
15
+ belongsTo({ name, as, model, localKey, foreignKey, freezeTable, }: TRelationOptions): void;
16
16
  belongsToMany({ name, as, model, localKey, foreignKey, freezeTable, pivot, oldVersion, modelPivot }: TRelationOptions): void;
17
17
  belongsToManySingle({ name, as, model, localKey, foreignKey, freezeTable, pivot, oldVersion, modelPivot }: TRelationOptions): void;
18
18
  hasOneBuilder({ name, as, model, localKey, foreignKey, freezeTable, }: TRelationQueryOptions, callback?: Function): this | undefined;